aboutsummaryrefslogtreecommitdiff
path: root/test/transform
diff options
context:
space:
mode:
authorRawi01 <Rawi01@users.noreply.github.com>2021-10-21 10:38:37 +0200
committerRawi01 <Rawi01@users.noreply.github.com>2021-10-22 09:24:17 +0200
commit553b25addde4fab136258f7718e274a98bfbe34a (patch)
treef65f76f8c838a73f5f91f8efe0811c6b019857bb /test/transform
parent13d84b129e562fdc71b049778c3b3bd2376e29a4 (diff)
downloadlombok-553b25addde4fab136258f7718e274a98bfbe34a.tar.gz
lombok-553b25addde4fab136258f7718e274a98bfbe34a.tar.bz2
lombok-553b25addde4fab136258f7718e274a98bfbe34a.zip
[fixes #2985] Resolve var/val only once in eclipse
Diffstat (limited to 'test/transform')
-rw-r--r--test/transform/resource/after-delombok/ValInvalidParameter.java29
-rw-r--r--test/transform/resource/after-ecj/ValErrors.java4
-rw-r--r--test/transform/resource/after-ecj/ValInvalidParameter.java29
-rw-r--r--test/transform/resource/before/ValInvalidParameter.java32
-rw-r--r--test/transform/resource/messages-delombok/ValInvalidParameter.java.messages1
-rw-r--r--test/transform/resource/messages-ecj/ValErrors.java.messages6
-rw-r--r--test/transform/resource/messages-ecj/ValInBasicFor.java.messages6
-rw-r--r--test/transform/resource/messages-ecj/ValInvalidParameter.java.messages9
-rw-r--r--test/transform/resource/messages-idempotent/ValInvalidParameter.java.messages9
9 files changed, 119 insertions, 6 deletions
diff --git a/test/transform/resource/after-delombok/ValInvalidParameter.java b/test/transform/resource/after-delombok/ValInvalidParameter.java
new file mode 100644
index 00000000..f3d4229c
--- /dev/null
+++ b/test/transform/resource/after-delombok/ValInvalidParameter.java
@@ -0,0 +1,29 @@
+public class ValInvalidParameter {
+ public void val() {
+ final java.lang.Object a = a(new NonExistingClass());
+ final java.lang.Object b = a(a(new NonExistingClass()));
+ final java.lang.Object c = nonExisitingMethod(b(1));
+ final java.lang.Object d = nonExistingObject.nonExistingMethod();
+ final java.lang.Object e = b(1).nonExistingMethod();
+ final java.lang.Object f = 1 > 2 ? a(new NonExistingClass()) : a(new NonExistingClass());
+ final java.lang.Object g = b2(1);
+ final java.lang.Integer h = b2(a("a"), a(null));
+ final int i = a(a(null));
+ }
+
+ public int a(String param) {
+ return 0;
+ }
+
+ public int a(Integer param) {
+ return 0;
+ }
+
+ public Integer b(int i) {
+ return i;
+ }
+
+ public Integer b2(int i, int j) {
+ return i;
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-ecj/ValErrors.java b/test/transform/resource/after-ecj/ValErrors.java
index 1bd61f87..19c2facd 100644
--- a/test/transform/resource/after-ecj/ValErrors.java
+++ b/test/transform/resource/after-ecj/ValErrors.java
@@ -4,9 +4,9 @@ public class ValErrors {
super();
}
public void unresolvableExpression() {
- val c = d;
+ final @val java.lang.Object c = d;
}
public void arrayInitializer() {
- val e = {"foo", "bar"};
+ final @val java.lang.Object e = {"foo", "bar"};
}
} \ No newline at end of file
diff --git a/test/transform/resource/after-ecj/ValInvalidParameter.java b/test/transform/resource/after-ecj/ValInvalidParameter.java
new file mode 100644
index 00000000..14549aa7
--- /dev/null
+++ b/test/transform/resource/after-ecj/ValInvalidParameter.java
@@ -0,0 +1,29 @@
+import lombok.val;
+public class ValInvalidParameter {
+ public ValInvalidParameter() {
+ super();
+ }
+ public void val() {
+ final @val java.lang.Object a = a(new NonExistingClass());
+ final @val java.lang.Object b = a(a(new NonExistingClass()));
+ final @val java.lang.Object c = nonExisitingMethod(b(1));
+ final @val java.lang.Object d = nonExistingObject.nonExistingMethod();
+ final @val java.lang.Object e = b(1).nonExistingMethod();
+ final @val java.lang.Object f = ((1 > 2) ? a(new NonExistingClass()) : a(new NonExistingClass()));
+ final @val java.lang.Object g = b2(1);
+ final @val java.lang.Object h = b2(a("a"), a(null));
+ final @val java.lang.Object i = a(a(null));
+ }
+ public int a(String param) {
+ return 0;
+ }
+ public int a(Integer param) {
+ return 0;
+ }
+ public Integer b(int i) {
+ return i;
+ }
+ public Integer b2(int i, int j) {
+ return i;
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/before/ValInvalidParameter.java b/test/transform/resource/before/ValInvalidParameter.java
new file mode 100644
index 00000000..f4961c4e
--- /dev/null
+++ b/test/transform/resource/before/ValInvalidParameter.java
@@ -0,0 +1,32 @@
+//version :9
+import lombok.val;
+
+public class ValInvalidParameter {
+ public void val() {
+ val a = a(new NonExistingClass());
+ val b = a(a(new NonExistingClass()));
+ val c = nonExisitingMethod(b(1));
+ val d = nonExistingObject.nonExistingMethod();
+ val e = b(1).nonExistingMethod();
+ val f = 1 > 2 ? a(new NonExistingClass()) : a(new NonExistingClass());
+ val g = b2(1);
+ val h = b2(a("a"), a(null));
+ val i = a(a(null));
+ }
+
+ public int a(String param) {
+ return 0;
+ }
+
+ public int a(Integer param) {
+ return 0;
+ }
+
+ public Integer b(int i) {
+ return i;
+ }
+
+ public Integer b2(int i, int j) {
+ return i;
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/messages-delombok/ValInvalidParameter.java.messages b/test/transform/resource/messages-delombok/ValInvalidParameter.java.messages
new file mode 100644
index 00000000..da0df315
--- /dev/null
+++ b/test/transform/resource/messages-delombok/ValInvalidParameter.java.messages
@@ -0,0 +1 @@
+12 Cannot use 'val' here because initializer expression does not have a representable type: Type cannot be resolved \ No newline at end of file
diff --git a/test/transform/resource/messages-ecj/ValErrors.java.messages b/test/transform/resource/messages-ecj/ValErrors.java.messages
index c4c76901..9fcec493 100644
--- a/test/transform/resource/messages-ecj/ValErrors.java.messages
+++ b/test/transform/resource/messages-ecj/ValErrors.java.messages
@@ -1,2 +1,4 @@
-6 d cannot be resolved to a variable
-10 'val' is not compatible with array initializer expressions. Use the full form (new int[] { ... } instead of just { ... })
+7 d cannot be resolved to a variable
+7 d cannot be resolved or is not a field
+11 'val' is not compatible with array initializer expressions. Use the full form (new int[] { ... } instead of just { ... })
+11 Type mismatch: cannot convert from String[] to Object \ No newline at end of file
diff --git a/test/transform/resource/messages-ecj/ValInBasicFor.java.messages b/test/transform/resource/messages-ecj/ValInBasicFor.java.messages
index b32eabe4..00bc643f 100644
--- a/test/transform/resource/messages-ecj/ValInBasicFor.java.messages
+++ b/test/transform/resource/messages-ecj/ValInBasicFor.java.messages
@@ -1,2 +1,4 @@
-7 'val' is not allowed in old-style for loops
-7 Type mismatch: cannot convert from int to val
+8 'val' is not allowed in old-style for loops
+8 Type mismatch: cannot convert from int to val
+8 Type mismatch: cannot convert from String to val
+8 Type mismatch: cannot convert from double to val \ No newline at end of file
diff --git a/test/transform/resource/messages-ecj/ValInvalidParameter.java.messages b/test/transform/resource/messages-ecj/ValInvalidParameter.java.messages
new file mode 100644
index 00000000..cbf2d7c4
--- /dev/null
+++ b/test/transform/resource/messages-ecj/ValInvalidParameter.java.messages
@@ -0,0 +1,9 @@
+5 NonExistingClass cannot be resolved to a type
+6 NonExistingClass cannot be resolved to a type
+7 The method nonExisitingMethod(Integer) is undefined for the type ValInvalidParameter
+8 nonExistingObject cannot be resolved
+9 The method nonExistingMethod() is undefined for the type Integer
+10 NonExistingClass cannot be resolved to a type
+11 The method b2(int, int) in the type ValInvalidParameter is not applicable for the arguments (int)
+12 The method a(String) is ambiguous for the type ValInvalidParameter
+13 The method a(String) is ambiguous for the type ValInvalidParameter \ No newline at end of file
diff --git a/test/transform/resource/messages-idempotent/ValInvalidParameter.java.messages b/test/transform/resource/messages-idempotent/ValInvalidParameter.java.messages
new file mode 100644
index 00000000..539d29cd
--- /dev/null
+++ b/test/transform/resource/messages-idempotent/ValInvalidParameter.java.messages
@@ -0,0 +1,9 @@
+3 cannot find symbol
+4 cannot find symbol
+5 cannot find symbol
+6 cannot find symbol
+7 cannot find symbol
+8 cannot find symbol
+9 method b2 in class ValInvalidParameter cannot be applied to given types;
+10 reference to a is ambiguous
+11 reference to a is ambiguous \ No newline at end of file