aboutsummaryrefslogtreecommitdiff
path: root/test/transform/resource
diff options
context:
space:
mode:
Diffstat (limited to 'test/transform/resource')
-rw-r--r--test/transform/resource/after-delombok/WitherAccessLevel.java30
-rw-r--r--test/transform/resource/after-delombok/WitherAlreadyExists.java71
-rw-r--r--test/transform/resource/after-delombok/WitherAndAllArgsConstructor.java23
-rw-r--r--test/transform/resource/after-delombok/WitherDeprecated.java20
-rw-r--r--test/transform/resource/after-delombok/WitherOnClass.java52
-rw-r--r--test/transform/resource/after-delombok/WitherOnStatic.java4
-rw-r--r--test/transform/resource/after-delombok/WitherPlain.java14
-rw-r--r--test/transform/resource/after-delombok/WitherWithDollar.java3
-rw-r--r--test/transform/resource/after-delombok/WitherWithGenerics.java15
-rw-r--r--test/transform/resource/after-ecj/WitherAccessLevel.java1
-rw-r--r--test/transform/resource/after-ecj/WitherAlreadyExists.java1
-rw-r--r--test/transform/resource/after-ecj/WitherAndAllArgsConstructor.java1
-rw-r--r--test/transform/resource/after-ecj/WitherDeprecated.java1
-rw-r--r--test/transform/resource/after-ecj/WitherOnClass.java1
-rw-r--r--test/transform/resource/after-ecj/WitherOnStatic.java1
-rw-r--r--test/transform/resource/after-ecj/WitherPlain.java1
-rw-r--r--test/transform/resource/after-ecj/WitherWithDollar.java1
-rw-r--r--test/transform/resource/after-ecj/WitherWithGenerics.java1
-rw-r--r--test/transform/resource/before/SetterAccessLevel.java5
-rw-r--r--test/transform/resource/before/SetterAlreadyExists.java10
-rw-r--r--test/transform/resource/before/SetterOnClass.java5
-rw-r--r--test/transform/resource/before/WitherAccessLevel.java24
-rw-r--r--test/transform/resource/before/WitherAlreadyExists.java89
-rw-r--r--test/transform/resource/before/WitherAndAllArgsConstructor.java12
-rw-r--r--test/transform/resource/before/WitherDeprecated.java15
-rw-r--r--test/transform/resource/before/WitherOnClass.java45
-rw-r--r--test/transform/resource/before/WitherOnStatic.java4
-rw-r--r--test/transform/resource/before/WitherPlain.java8
-rw-r--r--test/transform/resource/before/WitherWithDollar.java3
-rw-r--r--test/transform/resource/before/WitherWithGenerics.java8
-rw-r--r--test/transform/resource/messages-delombok/SetterAlreadyExists.java.messages12
-rw-r--r--test/transform/resource/messages-delombok/WitherAlreadyExists.java.messages7
-rw-r--r--test/transform/resource/messages-delombok/WitherOnStatic.java.messages2
-rw-r--r--test/transform/resource/messages-delombok/WitherWithDollar.java.messages1
34 files changed, 484 insertions, 7 deletions
diff --git a/test/transform/resource/after-delombok/WitherAccessLevel.java b/test/transform/resource/after-delombok/WitherAccessLevel.java
new file mode 100644
index 00000000..963f6972
--- /dev/null
+++ b/test/transform/resource/after-delombok/WitherAccessLevel.java
@@ -0,0 +1,30 @@
+class WitherAccessLevel {
+ boolean isNone;
+ boolean isPrivate;
+ boolean isPackage;
+ boolean isProtected;
+ boolean isPublic;
+ boolean value;
+ WitherAccessLevel(boolean isNone, boolean isPrivate, boolean isPackage, boolean isProtected, boolean isPublic, boolean value) {
+ }
+ @java.lang.SuppressWarnings("all")
+ private WitherAccessLevel withPrivate(final boolean isPrivate) {
+ return this.isPrivate == isPrivate ? this : new WitherAccessLevel(this.isNone, isPrivate, this.isPackage, this.isProtected, this.isPublic, this.value);
+ }
+ @java.lang.SuppressWarnings("all")
+ WitherAccessLevel withPackage(final boolean isPackage) {
+ return this.isPackage == isPackage ? this : new WitherAccessLevel(this.isNone, this.isPrivate, isPackage, this.isProtected, this.isPublic, this.value);
+ }
+ @java.lang.SuppressWarnings("all")
+ protected WitherAccessLevel withProtected(final boolean isProtected) {
+ return this.isProtected == isProtected ? this : new WitherAccessLevel(this.isNone, this.isPrivate, this.isPackage, isProtected, this.isPublic, this.value);
+ }
+ @java.lang.SuppressWarnings("all")
+ public WitherAccessLevel withPublic(final boolean isPublic) {
+ return this.isPublic == isPublic ? this : new WitherAccessLevel(this.isNone, this.isPrivate, this.isPackage, this.isProtected, isPublic, this.value);
+ }
+ @java.lang.SuppressWarnings("all")
+ public WitherAccessLevel withValue(final boolean value) {
+ return this.value == value ? this : new WitherAccessLevel(this.isNone, this.isPrivate, this.isPackage, this.isProtected, this.isPublic, value);
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/WitherAlreadyExists.java b/test/transform/resource/after-delombok/WitherAlreadyExists.java
new file mode 100644
index 00000000..be41f6bc
--- /dev/null
+++ b/test/transform/resource/after-delombok/WitherAlreadyExists.java
@@ -0,0 +1,71 @@
+class Wither1 {
+ boolean foo;
+ void withFoo(boolean foo) {
+ }
+ Wither1(boolean foo) {
+ }
+}
+class Wither2 {
+ boolean foo;
+ void withFoo(String foo) {
+ }
+ Wither2(boolean foo) {
+ }
+}
+class Wither3 {
+ String foo;
+ void withFoo(boolean foo) {
+ }
+ Wither3(String foo) {
+ }
+}
+class Wither4 {
+ String foo;
+ void withFoo(String foo) {
+ }
+ Wither4(String foo) {
+ }
+}
+class Wither5 {
+ String foo;
+ void withFoo() {
+ }
+ Wither5(String foo) {
+ }
+ @java.lang.SuppressWarnings("all")
+ public Wither5 withFoo(final String foo) {
+ return this.foo == foo ? this : new Wither5(foo);
+ }
+}
+class Wither6 {
+ String foo;
+ void withFoo(String foo, int x) {
+ }
+ Wither6(String foo) {
+ }
+ @java.lang.SuppressWarnings("all")
+ public Wither6 withFoo(final String foo) {
+ return this.foo == foo ? this : new Wither6(foo);
+ }
+}
+class Wither7 {
+ String foo;
+ void withFoo(String foo, Object... x) {
+ }
+ Wither7(String foo) {
+ }
+}
+class Wither8 {
+ boolean isFoo;
+ void withIsFoo(boolean foo) {
+ }
+ Wither8(boolean foo) {
+ }
+}
+class Wither9 {
+ boolean isFoo;
+ void withFoo(boolean foo) {
+ }
+ Wither9(boolean foo) {
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/WitherAndAllArgsConstructor.java b/test/transform/resource/after-delombok/WitherAndAllArgsConstructor.java
new file mode 100644
index 00000000..7607dce4
--- /dev/null
+++ b/test/transform/resource/after-delombok/WitherAndAllArgsConstructor.java
@@ -0,0 +1,23 @@
+class WitherAndAllArgsConstructor<T, J extends T, L extends java.lang.Number> {
+ J test;
+ java.util.List<L> test2;
+ final int x = 10;
+ int y = 20;
+ final int z;
+ @java.beans.ConstructorProperties({"test", "test2", "y", "z"})
+ @java.lang.SuppressWarnings("all")
+ public WitherAndAllArgsConstructor(final J test, final java.util.List<L> test2, final int y, final int z) {
+ this.test = test;
+ this.test2 = test2;
+ this.y = y;
+ this.z = z;
+ }
+ @java.lang.SuppressWarnings("all")
+ public WitherAndAllArgsConstructor<T, J, L> withTest(final J test) {
+ return this.test == test ? this : new WitherAndAllArgsConstructor<T, J, L>(test, this.test2, this.y, this.z);
+ }
+ @java.lang.SuppressWarnings("all")
+ public WitherAndAllArgsConstructor<T, J, L> withTest2(final java.util.List<L> test2) {
+ return this.test2 == test2 ? this : new WitherAndAllArgsConstructor<T, J, L>(this.test, test2, this.y, this.z);
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/WitherDeprecated.java b/test/transform/resource/after-delombok/WitherDeprecated.java
new file mode 100644
index 00000000..f076d90e
--- /dev/null
+++ b/test/transform/resource/after-delombok/WitherDeprecated.java
@@ -0,0 +1,20 @@
+class WitherDeprecated {
+ @Deprecated
+ int annotation;
+ /**
+ * @deprecated
+ */
+ int javadoc;
+ WitherDeprecated(int annotation, int javadoc) {
+ }
+ @java.lang.Deprecated
+ @java.lang.SuppressWarnings("all")
+ public WitherDeprecated withAnnotation(final int annotation) {
+ return this.annotation == annotation ? this : new WitherDeprecated(annotation, this.javadoc);
+ }
+ @java.lang.Deprecated
+ @java.lang.SuppressWarnings("all")
+ public WitherDeprecated withJavadoc(final int javadoc) {
+ return this.javadoc == javadoc ? this : new WitherDeprecated(this.annotation, javadoc);
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/WitherOnClass.java b/test/transform/resource/after-delombok/WitherOnClass.java
new file mode 100644
index 00000000..783fede1
--- /dev/null
+++ b/test/transform/resource/after-delombok/WitherOnClass.java
@@ -0,0 +1,52 @@
+class WitherOnClass1 {
+ boolean isNone;
+ boolean isPublic;
+ WitherOnClass1(boolean isNone, boolean isPublic) {
+ }
+ @java.lang.SuppressWarnings("all")
+ public WitherOnClass1 withPublic(final boolean isPublic) {
+ return this.isPublic == isPublic ? this : new WitherOnClass1(this.isNone, isPublic);
+ }
+}
+class WitherOnClass2 {
+ boolean isNone;
+ boolean isProtected;
+ boolean isPackage;
+ WitherOnClass2(boolean isNone, boolean isProtected, boolean isPackage) {
+ }
+ @java.lang.SuppressWarnings("all")
+ protected WitherOnClass2 withProtected(final boolean isProtected) {
+ return this.isProtected == isProtected ? this : new WitherOnClass2(this.isNone, isProtected, this.isPackage);
+ }
+ @java.lang.SuppressWarnings("all")
+ WitherOnClass2 withPackage(final boolean isPackage) {
+ return this.isPackage == isPackage ? this : new WitherOnClass2(this.isNone, this.isProtected, isPackage);
+ }
+}
+class WitherOnClass3 {
+ String couldBeNull;
+ @lombok.NonNull
+ String nonNull;
+ WitherOnClass3(String couldBeNull, String nonNull) {
+ }
+ @java.lang.SuppressWarnings("all")
+ public WitherOnClass3 withCouldBeNull(final String couldBeNull) {
+ return this.couldBeNull == couldBeNull ? this : new WitherOnClass3(couldBeNull, this.nonNull);
+ }
+ @java.lang.SuppressWarnings("all")
+ public WitherOnClass3 withNonNull(@lombok.NonNull final String nonNull) {
+ if (nonNull == null) throw new java.lang.NullPointerException("nonNull");
+ return this.nonNull == nonNull ? this : new WitherOnClass3(this.couldBeNull, nonNull);
+ }
+}
+class WitherOnClass4 {
+ final int fX = 10;
+ final int fY;
+ WitherOnClass4(int y) {
+ this.fY = y;
+ }
+ @java.lang.SuppressWarnings("all")
+ public WitherOnClass4 withY(final int fY) {
+ return this.fY == fY ? this : new WitherOnClass4(fY);
+ }
+}
diff --git a/test/transform/resource/after-delombok/WitherOnStatic.java b/test/transform/resource/after-delombok/WitherOnStatic.java
new file mode 100644
index 00000000..e481beb7
--- /dev/null
+++ b/test/transform/resource/after-delombok/WitherOnStatic.java
@@ -0,0 +1,4 @@
+class WitherOnStatic {
+ static boolean foo;
+ static int bar;
+}
diff --git a/test/transform/resource/after-delombok/WitherPlain.java b/test/transform/resource/after-delombok/WitherPlain.java
new file mode 100644
index 00000000..ab6a3f4b
--- /dev/null
+++ b/test/transform/resource/after-delombok/WitherPlain.java
@@ -0,0 +1,14 @@
+class WitherPlain {
+ int i;
+ final int foo;
+ WitherPlain(int i, int foo) {
+ }
+ @java.lang.SuppressWarnings("all")
+ public WitherPlain withI(final int i) {
+ return this.i == i ? this : new WitherPlain(i, this.foo);
+ }
+ @java.lang.SuppressWarnings("all")
+ public WitherPlain withFoo(final int foo) {
+ return this.foo == foo ? this : new WitherPlain(this.i, foo);
+ }
+}
diff --git a/test/transform/resource/after-delombok/WitherWithDollar.java b/test/transform/resource/after-delombok/WitherWithDollar.java
new file mode 100644
index 00000000..066f3fb5
--- /dev/null
+++ b/test/transform/resource/after-delombok/WitherWithDollar.java
@@ -0,0 +1,3 @@
+class WitherWithDollar {
+ int $i;
+}
diff --git a/test/transform/resource/after-delombok/WitherWithGenerics.java b/test/transform/resource/after-delombok/WitherWithGenerics.java
new file mode 100644
index 00000000..9630c792
--- /dev/null
+++ b/test/transform/resource/after-delombok/WitherWithGenerics.java
@@ -0,0 +1,15 @@
+class WitherWithGenerics<T, J extends T, L extends java.lang.Number> {
+ J test;
+ java.util.List<L> test2;
+ int $i;
+ public WitherWithGenerics(J test, java.util.List<L> test2) {
+ }
+ @java.lang.SuppressWarnings("all")
+ public WitherWithGenerics<T, J, L> withTest(final J test) {
+ return this.test == test ? this : new WitherWithGenerics<T, J, L>(test, this.test2);
+ }
+ @java.lang.SuppressWarnings("all")
+ public WitherWithGenerics<T, J, L> withTest2(final java.util.List<L> test2) {
+ return this.test2 == test2 ? this : new WitherWithGenerics<T, J, L>(this.test, test2);
+ }
+}
diff --git a/test/transform/resource/after-ecj/WitherAccessLevel.java b/test/transform/resource/after-ecj/WitherAccessLevel.java
new file mode 100644
index 00000000..0facc12f
--- /dev/null
+++ b/test/transform/resource/after-ecj/WitherAccessLevel.java
@@ -0,0 +1 @@
+//ignore
diff --git a/test/transform/resource/after-ecj/WitherAlreadyExists.java b/test/transform/resource/after-ecj/WitherAlreadyExists.java
new file mode 100644
index 00000000..0facc12f
--- /dev/null
+++ b/test/transform/resource/after-ecj/WitherAlreadyExists.java
@@ -0,0 +1 @@
+//ignore
diff --git a/test/transform/resource/after-ecj/WitherAndAllArgsConstructor.java b/test/transform/resource/after-ecj/WitherAndAllArgsConstructor.java
new file mode 100644
index 00000000..0facc12f
--- /dev/null
+++ b/test/transform/resource/after-ecj/WitherAndAllArgsConstructor.java
@@ -0,0 +1 @@
+//ignore
diff --git a/test/transform/resource/after-ecj/WitherDeprecated.java b/test/transform/resource/after-ecj/WitherDeprecated.java
new file mode 100644
index 00000000..0facc12f
--- /dev/null
+++ b/test/transform/resource/after-ecj/WitherDeprecated.java
@@ -0,0 +1 @@
+//ignore
diff --git a/test/transform/resource/after-ecj/WitherOnClass.java b/test/transform/resource/after-ecj/WitherOnClass.java
new file mode 100644
index 00000000..0facc12f
--- /dev/null
+++ b/test/transform/resource/after-ecj/WitherOnClass.java
@@ -0,0 +1 @@
+//ignore
diff --git a/test/transform/resource/after-ecj/WitherOnStatic.java b/test/transform/resource/after-ecj/WitherOnStatic.java
new file mode 100644
index 00000000..0facc12f
--- /dev/null
+++ b/test/transform/resource/after-ecj/WitherOnStatic.java
@@ -0,0 +1 @@
+//ignore
diff --git a/test/transform/resource/after-ecj/WitherPlain.java b/test/transform/resource/after-ecj/WitherPlain.java
new file mode 100644
index 00000000..0facc12f
--- /dev/null
+++ b/test/transform/resource/after-ecj/WitherPlain.java
@@ -0,0 +1 @@
+//ignore
diff --git a/test/transform/resource/after-ecj/WitherWithDollar.java b/test/transform/resource/after-ecj/WitherWithDollar.java
new file mode 100644
index 00000000..0facc12f
--- /dev/null
+++ b/test/transform/resource/after-ecj/WitherWithDollar.java
@@ -0,0 +1 @@
+//ignore
diff --git a/test/transform/resource/after-ecj/WitherWithGenerics.java b/test/transform/resource/after-ecj/WitherWithGenerics.java
new file mode 100644
index 00000000..0facc12f
--- /dev/null
+++ b/test/transform/resource/after-ecj/WitherWithGenerics.java
@@ -0,0 +1 @@
+//ignore
diff --git a/test/transform/resource/before/SetterAccessLevel.java b/test/transform/resource/before/SetterAccessLevel.java
index 8a30a7de..3a381c5b 100644
--- a/test/transform/resource/before/SetterAccessLevel.java
+++ b/test/transform/resource/before/SetterAccessLevel.java
@@ -1,14 +1,19 @@
class SetterAccessLevel {
@lombok.Setter(lombok.AccessLevel.NONE)
boolean isNone;
+
@lombok.Setter(lombok.AccessLevel.PRIVATE)
boolean isPrivate;
+
@lombok.Setter(lombok.AccessLevel.PACKAGE)
boolean isPackage;
+
@lombok.Setter(lombok.AccessLevel.PROTECTED)
boolean isProtected;
+
@lombok.Setter(lombok.AccessLevel.PUBLIC)
boolean isPublic;
+
@lombok.Setter(value=lombok.AccessLevel.PUBLIC)
boolean value;
}
diff --git a/test/transform/resource/before/SetterAlreadyExists.java b/test/transform/resource/before/SetterAlreadyExists.java
index 8d995b39..4b632431 100644
--- a/test/transform/resource/before/SetterAlreadyExists.java
+++ b/test/transform/resource/before/SetterAlreadyExists.java
@@ -3,43 +3,51 @@ class Setter1 {
void setFoo(boolean foo) {
}
}
+
class Setter2 {
@lombok.Setter boolean foo;
void setFoo(String foo) {
}
}
+
class Setter3 {
@lombok.Setter String foo;
void setFoo(boolean foo) {
}
}
+
class Setter4 {
@lombok.Setter String foo;
void setFoo(String foo) {
}
}
+
class Setter5 {
@lombok.Setter String foo;
void setFoo() {
}
}
+
class Setter6 {
@lombok.Setter String foo;
void setFoo(String foo, int x) {
}
}
+
class Setter7 {
@lombok.Setter String foo;
void setFoo(String foo, Object... x) {
}
}
+
class Setter8 {
@lombok.Setter boolean isFoo;
void setIsFoo(boolean foo) {
}
}
+
class Setter9 {
@lombok.Setter boolean isFoo;
void setFoo(boolean foo) {
}
-} \ No newline at end of file
+}
diff --git a/test/transform/resource/before/SetterOnClass.java b/test/transform/resource/before/SetterOnClass.java
index 5d195ff5..a7629ff0 100644
--- a/test/transform/resource/before/SetterOnClass.java
+++ b/test/transform/resource/before/SetterOnClass.java
@@ -4,6 +4,7 @@ class SetterOnClass1 {
boolean isNone;
boolean isPublic;
}
+
@lombok.Setter(lombok.AccessLevel.PROTECTED)
class SetterOnClass2 {
@lombok.Setter(lombok.AccessLevel.NONE)
@@ -12,24 +13,28 @@ class SetterOnClass2 {
@lombok.Setter(lombok.AccessLevel.PACKAGE)
boolean isPackage;
}
+
@lombok.Setter(lombok.AccessLevel.PACKAGE)
class SetterOnClass3 {
@lombok.Setter(lombok.AccessLevel.NONE)
boolean isNone;
boolean isPackage;
}
+
@lombok.Setter(lombok.AccessLevel.PRIVATE)
class SetterOnClass4 {
@lombok.Setter(lombok.AccessLevel.NONE)
boolean isNone;
boolean isPrivate;
}
+
@lombok.Setter(lombok.AccessLevel.PUBLIC)
class SetterOnClass5 {
@lombok.Setter(lombok.AccessLevel.NONE)
boolean isNone;
boolean isPublic;
}
+
@lombok.Setter
class SetterOnClass6 {
String couldBeNull;
diff --git a/test/transform/resource/before/WitherAccessLevel.java b/test/transform/resource/before/WitherAccessLevel.java
new file mode 100644
index 00000000..848be330
--- /dev/null
+++ b/test/transform/resource/before/WitherAccessLevel.java
@@ -0,0 +1,24 @@
+import lombok.AccessLevel;
+
+class WitherAccessLevel {
+ @lombok.experimental.Wither(lombok.AccessLevel.NONE)
+ boolean isNone;
+
+ @lombok.experimental.Wither(AccessLevel.PRIVATE)
+ boolean isPrivate;
+
+ @lombok.experimental.Wither(lombok.AccessLevel.PACKAGE)
+ boolean isPackage;
+
+ @lombok.experimental.Wither(AccessLevel.PROTECTED)
+ boolean isProtected;
+
+ @lombok.experimental.Wither(lombok.AccessLevel.PUBLIC)
+ boolean isPublic;
+
+ @lombok.experimental.Wither(value=lombok.AccessLevel.PUBLIC)
+ boolean value;
+
+ WitherAccessLevel(boolean isNone, boolean isPrivate, boolean isPackage, boolean isProtected, boolean isPublic, boolean value) {
+ }
+}
diff --git a/test/transform/resource/before/WitherAlreadyExists.java b/test/transform/resource/before/WitherAlreadyExists.java
new file mode 100644
index 00000000..7833173a
--- /dev/null
+++ b/test/transform/resource/before/WitherAlreadyExists.java
@@ -0,0 +1,89 @@
+class Wither1 {
+ @lombok.experimental.Wither boolean foo;
+
+ void withFoo(boolean foo) {
+ }
+
+ Wither1(boolean foo) {
+ }
+}
+
+class Wither2 {
+ @lombok.experimental.Wither boolean foo;
+
+ void withFoo(String foo) {
+ }
+
+ Wither2(boolean foo) {
+ }
+}
+
+class Wither3 {
+ @lombok.experimental.Wither String foo;
+
+ void withFoo(boolean foo) {
+ }
+
+ Wither3(String foo) {
+ }
+}
+
+class Wither4 {
+ @lombok.experimental.Wither String foo;
+
+ void withFoo(String foo) {
+ }
+
+ Wither4(String foo) {
+ }
+}
+
+class Wither5 {
+ @lombok.experimental.Wither String foo;
+
+ void withFoo() {
+ }
+
+ Wither5(String foo) {
+ }
+}
+
+class Wither6 {
+ @lombok.experimental.Wither String foo;
+
+ void withFoo(String foo, int x) {
+ }
+
+ Wither6(String foo) {
+ }
+}
+
+class Wither7 {
+ @lombok.experimental.Wither String foo;
+
+ void withFoo(String foo, Object... x) {
+ }
+
+ Wither7(String foo) {
+ }
+}
+
+class Wither8 {
+ @lombok.experimental.Wither boolean isFoo;
+
+ void withIsFoo(boolean foo) {
+ }
+
+ Wither8(boolean foo) {
+ }
+}
+
+class Wither9 {
+ @lombok.experimental.Wither boolean isFoo;
+
+ void withFoo(boolean foo) {
+ }
+
+ Wither9(boolean foo) {
+ }
+}
diff --git a/test/transform/resource/before/WitherAndAllArgsConstructor.java b/test/transform/resource/before/WitherAndAllArgsConstructor.java
new file mode 100644
index 00000000..d531b3f4
--- /dev/null
+++ b/test/transform/resource/before/WitherAndAllArgsConstructor.java
@@ -0,0 +1,12 @@
+@lombok.AllArgsConstructor
+class WitherAndAllArgsConstructor<T, J extends T, L extends java.lang.Number> {
+ @lombok.experimental.Wither J test;
+
+ @lombok.experimental.Wither java.util.List<L> test2;
+
+ final int x = 10;
+
+ int y = 20;
+
+ final int z;
+} \ No newline at end of file
diff --git a/test/transform/resource/before/WitherDeprecated.java b/test/transform/resource/before/WitherDeprecated.java
new file mode 100644
index 00000000..efd1af43
--- /dev/null
+++ b/test/transform/resource/before/WitherDeprecated.java
@@ -0,0 +1,15 @@
+import lombok.experimental.Wither;
+
+class WitherDeprecated {
+
+ @Deprecated
+ @Wither int annotation;
+
+ /**
+ * @deprecated
+ */
+ @Wither int javadoc;
+
+ WitherDeprecated(int annotation, int javadoc) {
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/before/WitherOnClass.java b/test/transform/resource/before/WitherOnClass.java
new file mode 100644
index 00000000..d6a3d3c8
--- /dev/null
+++ b/test/transform/resource/before/WitherOnClass.java
@@ -0,0 +1,45 @@
+@lombok.experimental.Wither
+class WitherOnClass1 {
+ @lombok.experimental.Wither(lombok.AccessLevel.NONE)
+ boolean isNone;
+
+ boolean isPublic;
+
+ WitherOnClass1(boolean isNone, boolean isPublic) {
+ }
+}
+
+@lombok.experimental.Wither(lombok.AccessLevel.PROTECTED)
+class WitherOnClass2 {
+ @lombok.experimental.Wither(lombok.AccessLevel.NONE)
+ boolean isNone;
+
+ boolean isProtected;
+
+ @lombok.experimental.Wither(lombok.AccessLevel.PACKAGE)
+ boolean isPackage;
+
+ WitherOnClass2(boolean isNone, boolean isProtected, boolean isPackage) {
+ }
+}
+
+@lombok.experimental.Wither
+class WitherOnClass3 {
+ String couldBeNull;
+
+ @lombok.NonNull String nonNull;
+
+ WitherOnClass3(String couldBeNull, String nonNull) {
+ }
+}
+
+@lombok.experimental.Wither @lombok.experimental.Accessors(prefix="f")
+class WitherOnClass4 {
+ final int fX = 10;
+
+ final int fY;
+
+ WitherOnClass4(int y) {
+ this.fY = y;
+ }
+}
diff --git a/test/transform/resource/before/WitherOnStatic.java b/test/transform/resource/before/WitherOnStatic.java
new file mode 100644
index 00000000..566c8154
--- /dev/null
+++ b/test/transform/resource/before/WitherOnStatic.java
@@ -0,0 +1,4 @@
+class WitherOnStatic {
+ @lombok.experimental.Wither static boolean foo;
+ @lombok.experimental.Wither static int bar;
+}
diff --git a/test/transform/resource/before/WitherPlain.java b/test/transform/resource/before/WitherPlain.java
new file mode 100644
index 00000000..7f931217
--- /dev/null
+++ b/test/transform/resource/before/WitherPlain.java
@@ -0,0 +1,8 @@
+import lombok.experimental.Wither;
+class WitherPlain {
+ @lombok.experimental.Wither int i;
+ @Wither final int foo;
+
+ WitherPlain(int i, int foo) {
+ }
+}
diff --git a/test/transform/resource/before/WitherWithDollar.java b/test/transform/resource/before/WitherWithDollar.java
new file mode 100644
index 00000000..8dd2572f
--- /dev/null
+++ b/test/transform/resource/before/WitherWithDollar.java
@@ -0,0 +1,3 @@
+class WitherWithDollar {
+ @lombok.experimental.Wither int $i;
+}
diff --git a/test/transform/resource/before/WitherWithGenerics.java b/test/transform/resource/before/WitherWithGenerics.java
new file mode 100644
index 00000000..229cc94e
--- /dev/null
+++ b/test/transform/resource/before/WitherWithGenerics.java
@@ -0,0 +1,8 @@
+class WitherWithGenerics<T, J extends T, L extends java.lang.Number> {
+ @lombok.experimental.Wither J test;
+ @lombok.experimental.Wither java.util.List<L> test2;
+ int $i;
+
+ public WitherWithGenerics(J test, java.util.List<L> test2) {
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/messages-delombok/SetterAlreadyExists.java.messages b/test/transform/resource/messages-delombok/SetterAlreadyExists.java.messages
index 7a4279c4..99dd1d25 100644
--- a/test/transform/resource/messages-delombok/SetterAlreadyExists.java.messages
+++ b/test/transform/resource/messages-delombok/SetterAlreadyExists.java.messages
@@ -1,7 +1,7 @@
2:9 WARNING Not generating setFoo(): A method with that name already exists
-7:9 WARNING Not generating setFoo(): A method with that name already exists
-12:9 WARNING Not generating setFoo(): A method with that name already exists
-17:9 WARNING Not generating setFoo(): A method with that name already exists
-32:9 WARNING Not generating setFoo(): A method with that name already exists
-37:9 WARNING Not generating setFoo(): A method with that name already exists (setIsFoo)
-42:9 WARNING Not generating setFoo(): A method with that name already exists
+8:9 WARNING Not generating setFoo(): A method with that name already exists
+14:9 WARNING Not generating setFoo(): A method with that name already exists
+20:9 WARNING Not generating setFoo(): A method with that name already exists
+38:9 WARNING Not generating setFoo(): A method with that name already exists
+44:9 WARNING Not generating setFoo(): A method with that name already exists (setIsFoo)
+50:9 WARNING Not generating setFoo(): A method with that name already exists
diff --git a/test/transform/resource/messages-delombok/WitherAlreadyExists.java.messages b/test/transform/resource/messages-delombok/WitherAlreadyExists.java.messages
new file mode 100644
index 00000000..4a5dd9d1
--- /dev/null
+++ b/test/transform/resource/messages-delombok/WitherAlreadyExists.java.messages
@@ -0,0 +1,7 @@
+2:9 WARNING Not generating withFoo(): A method with that name already exists
+12:9 WARNING Not generating withFoo(): A method with that name already exists
+22:9 WARNING Not generating withFoo(): A method with that name already exists
+32:9 WARNING Not generating withFoo(): A method with that name already exists
+62:9 WARNING Not generating withFoo(): A method with that name already exists
+72:9 WARNING Not generating withFoo(): A method with that name already exists (withIsFoo)
+82:9 WARNING Not generating withFoo(): A method with that name already exists
diff --git a/test/transform/resource/messages-delombok/WitherOnStatic.java.messages b/test/transform/resource/messages-delombok/WitherOnStatic.java.messages
new file mode 100644
index 00000000..e9e94e5f
--- /dev/null
+++ b/test/transform/resource/messages-delombok/WitherOnStatic.java.messages
@@ -0,0 +1,2 @@
+2:9 WARNING Not generating wither for this field: Withers cannot be generated for static fields.
+3:9 WARNING Not generating wither for this field: Withers cannot be generated for static fields.
diff --git a/test/transform/resource/messages-delombok/WitherWithDollar.java.messages b/test/transform/resource/messages-delombok/WitherWithDollar.java.messages
new file mode 100644
index 00000000..34f34969
--- /dev/null
+++ b/test/transform/resource/messages-delombok/WitherWithDollar.java.messages
@@ -0,0 +1 @@
+2:9 WARNING Not generating wither for this field: Withers cannot be generated for fields starting with $.