aboutsummaryrefslogtreecommitdiff
path: root/test/transform/resource/after-delombok
diff options
context:
space:
mode:
Diffstat (limited to 'test/transform/resource/after-delombok')
-rw-r--r--test/transform/resource/after-delombok/BuilderConstructorJavadoc.java85
-rw-r--r--test/transform/resource/after-delombok/BuilderDefaults.java8
-rw-r--r--test/transform/resource/after-delombok/CheckerFrameworkSuperBuilder.java30
-rw-r--r--test/transform/resource/after-delombok/DelegateAlreadyImplemented.java43
-rw-r--r--test/transform/resource/after-delombok/DelegateGenerics.java32
-rw-r--r--test/transform/resource/after-delombok/DelegateWithVarargs2.java12
-rw-r--r--test/transform/resource/after-delombok/EqualsAndHashCodeRank.java31
-rw-r--r--test/transform/resource/after-delombok/GetterLazyArguments.java101
-rw-r--r--test/transform/resource/after-delombok/GetterSetterJavadoc.java2
-rw-r--r--test/transform/resource/after-delombok/JacksonBuilderSingular.java177
-rw-r--r--test/transform/resource/after-delombok/LoggerCommons.java5
-rw-r--r--test/transform/resource/after-delombok/LoggerCustomWithTopicAndName.java6
-rw-r--r--test/transform/resource/after-delombok/LoggerJBossLog.java6
-rw-r--r--test/transform/resource/after-delombok/LoggerJul.java5
-rw-r--r--test/transform/resource/after-delombok/LoggerLog4j.java5
-rw-r--r--test/transform/resource/after-delombok/LoggerLog4j2.java5
-rw-r--r--test/transform/resource/after-delombok/LoggerSlf4j.java17
-rw-r--r--test/transform/resource/after-delombok/LoggerSlf4jInvalidTopic.java5
-rw-r--r--test/transform/resource/after-delombok/LoggerXSlf4j.java5
-rw-r--r--test/transform/resource/after-delombok/SkipSuppressWarnings.java24
-rw-r--r--test/transform/resource/after-delombok/SuperBuilderBasic.java4
-rw-r--r--test/transform/resource/after-delombok/SuperBuilderCustomized.java15
-rw-r--r--test/transform/resource/after-delombok/TypeUseAnnotations.java10
-rw-r--r--test/transform/resource/after-delombok/ValLambda.java6
-rw-r--r--test/transform/resource/after-delombok/ValueStaticConstructorOf.java10
25 files changed, 612 insertions, 37 deletions
diff --git a/test/transform/resource/after-delombok/BuilderConstructorJavadoc.java b/test/transform/resource/after-delombok/BuilderConstructorJavadoc.java
new file mode 100644
index 00000000..96673b1a
--- /dev/null
+++ b/test/transform/resource/after-delombok/BuilderConstructorJavadoc.java
@@ -0,0 +1,85 @@
+import java.util.List;
+
+class BuilderConstructorJavadoc<T> {
+ /**
+ * This is a comment
+ *
+ * @param basic tag is moved to the setter
+ * @param multiline a param comment
+ * can be on multiple lines and can use
+ * {@code @code} or <code>tags</code>
+ * @param predef don't copy this one
+ * @param predefWithJavadoc don't copy this one
+ */
+ BuilderConstructorJavadoc(int basic, int multiline, int predef, int predefWithJavadoc) {
+ }
+
+
+ public static class BuilderConstructorJavadocBuilder<T> {
+ @java.lang.SuppressWarnings("all")
+ private int basic;
+ @java.lang.SuppressWarnings("all")
+ private int multiline;
+ @java.lang.SuppressWarnings("all")
+ private int predef;
+ @java.lang.SuppressWarnings("all")
+ private int predefWithJavadoc;
+
+ public BuilderConstructorJavadocBuilder<T> predef(final int x) {
+ this.predef = x;
+ return this;
+ }
+
+ /**
+ * This javadoc remains untouched.
+ * @param x 1/100 of the thing
+ * @return the updated builder
+ */
+ public BuilderConstructorJavadocBuilder<T> predefWithJavadoc(final int x) {
+ this.predefWithJavadoc = x;
+ return this;
+ }
+
+ @java.lang.SuppressWarnings("all")
+ BuilderConstructorJavadocBuilder() {
+ }
+
+ /**
+ * @param basic tag is moved to the setter
+ * @return {@code this}.
+ */
+ @java.lang.SuppressWarnings("all")
+ public BuilderConstructorJavadoc.BuilderConstructorJavadocBuilder<T> basic(final int basic) {
+ this.basic = basic;
+ return this;
+ }
+
+ /**
+ * @param multiline a param comment
+ * can be on multiple lines and can use
+ * {@code @code} or <code>tags</code>
+ * @return {@code this}.
+ */
+ @java.lang.SuppressWarnings("all")
+ public BuilderConstructorJavadoc.BuilderConstructorJavadocBuilder<T> multiline(final int multiline) {
+ this.multiline = multiline;
+ return this;
+ }
+
+ @java.lang.SuppressWarnings("all")
+ public BuilderConstructorJavadoc<T> build() {
+ return new BuilderConstructorJavadoc<T>(this.basic, this.multiline, this.predef, this.predefWithJavadoc);
+ }
+
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public java.lang.String toString() {
+ return "BuilderConstructorJavadoc.BuilderConstructorJavadocBuilder(basic=" + this.basic + ", multiline=" + this.multiline + ", predef=" + this.predef + ", predefWithJavadoc=" + this.predefWithJavadoc + ")";
+ }
+ }
+
+ @java.lang.SuppressWarnings("all")
+ public static <T> BuilderConstructorJavadoc.BuilderConstructorJavadocBuilder<T> builder() {
+ return new BuilderConstructorJavadoc.BuilderConstructorJavadocBuilder<T>();
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/BuilderDefaults.java b/test/transform/resource/after-delombok/BuilderDefaults.java
index 5a563024..42b751ce 100644
--- a/test/transform/resource/after-delombok/BuilderDefaults.java
+++ b/test/transform/resource/after-delombok/BuilderDefaults.java
@@ -85,10 +85,10 @@ public final class BuilderDefaults {
if (!(o instanceof BuilderDefaults)) return false;
final BuilderDefaults other = (BuilderDefaults) o;
if (this.getX() != other.getX()) return false;
+ if (this.getZ() != other.getZ()) return false;
final java.lang.Object this$name = this.getName();
final java.lang.Object other$name = other.getName();
if (this$name == null ? other$name != null : !this$name.equals(other$name)) return false;
- if (this.getZ() != other.getZ()) return false;
return true;
}
@java.lang.Override
@@ -97,10 +97,10 @@ public final class BuilderDefaults {
final int PRIME = 59;
int result = 1;
result = result * PRIME + this.getX();
- final java.lang.Object $name = this.getName();
- result = result * PRIME + ($name == null ? 43 : $name.hashCode());
final long $z = this.getZ();
result = result * PRIME + (int) ($z >>> 32 ^ $z);
+ final java.lang.Object $name = this.getName();
+ result = result * PRIME + ($name == null ? 43 : $name.hashCode());
return result;
}
@java.lang.Override
@@ -108,4 +108,4 @@ public final class BuilderDefaults {
public java.lang.String toString() {
return "BuilderDefaults(x=" + this.getX() + ", name=" + this.getName() + ", z=" + this.getZ() + ")";
}
-}
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/CheckerFrameworkSuperBuilder.java b/test/transform/resource/after-delombok/CheckerFrameworkSuperBuilder.java
index 0f7f8997..30408c3b 100644
--- a/test/transform/resource/after-delombok/CheckerFrameworkSuperBuilder.java
+++ b/test/transform/resource/after-delombok/CheckerFrameworkSuperBuilder.java
@@ -124,7 +124,7 @@ class CheckerFrameworkSuperBuilder {
return new CheckerFrameworkSuperBuilder.Parent.ParentBuilderImpl();
}
}
- public static class Child extends Parent {
+ public static class ZChild extends Parent {
int a;
int b;
@java.lang.SuppressWarnings("all")
@@ -132,7 +132,7 @@ class CheckerFrameworkSuperBuilder {
return 1;
}
@java.lang.SuppressWarnings("all")
- public static abstract class ChildBuilder<C extends CheckerFrameworkSuperBuilder.Child, B extends CheckerFrameworkSuperBuilder.Child.ChildBuilder<C, B>> extends Parent.ParentBuilder<C, B> {
+ public static abstract class ZChildBuilder<C extends CheckerFrameworkSuperBuilder.ZChild, B extends CheckerFrameworkSuperBuilder.ZChild.ZChildBuilder<C, B>> extends Parent.ParentBuilder<C, B> {
@java.lang.SuppressWarnings("all")
private boolean a$set;
@java.lang.SuppressWarnings("all")
@@ -147,17 +147,17 @@ class CheckerFrameworkSuperBuilder {
@org.checkerframework.dataflow.qual.SideEffectFree
@java.lang.Override
@java.lang.SuppressWarnings("all")
- public abstract C build(@org.checkerframework.checker.builder.qual.CalledMethods("b") CheckerFrameworkSuperBuilder.Child this);
+ public abstract C build(@org.checkerframework.checker.builder.qual.CalledMethods("b") CheckerFrameworkSuperBuilder.ZChild this);
@org.checkerframework.checker.builder.qual.ReturnsReceiver
@java.lang.SuppressWarnings("all")
- public B a(@org.checkerframework.checker.builder.qual.NotCalledMethods("a") CheckerFrameworkSuperBuilder.Child.ChildBuilder<C, B> this, final int a) {
+ public B a(@org.checkerframework.checker.builder.qual.NotCalledMethods("a") CheckerFrameworkSuperBuilder.ZChild.ZChildBuilder<C, B> this, final int a) {
this.a$value = a;
a$set = true;
return self();
}
@org.checkerframework.checker.builder.qual.ReturnsReceiver
@java.lang.SuppressWarnings("all")
- public B b(@org.checkerframework.checker.builder.qual.NotCalledMethods("b") CheckerFrameworkSuperBuilder.Child.ChildBuilder<C, B> this, final int b) {
+ public B b(@org.checkerframework.checker.builder.qual.NotCalledMethods("b") CheckerFrameworkSuperBuilder.ZChild.ZChildBuilder<C, B> this, final int b) {
this.b = b;
return self();
}
@@ -165,41 +165,41 @@ class CheckerFrameworkSuperBuilder {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public java.lang.String toString() {
- return "CheckerFrameworkSuperBuilder.Child.ChildBuilder(super=" + super.toString() + ", a$value=" + this.a$value + ", b=" + this.b + ")";
+ return "CheckerFrameworkSuperBuilder.ZChild.ZChildBuilder(super=" + super.toString() + ", a$value=" + this.a$value + ", b=" + this.b + ")";
}
}
@java.lang.SuppressWarnings("all")
- private static final class ChildBuilderImpl extends CheckerFrameworkSuperBuilder.Child.ChildBuilder<CheckerFrameworkSuperBuilder.Child, CheckerFrameworkSuperBuilder.Child.ChildBuilderImpl> {
+ private static final class ZChildBuilderImpl extends CheckerFrameworkSuperBuilder.ZChild.ZChildBuilder<CheckerFrameworkSuperBuilder.ZChild, CheckerFrameworkSuperBuilder.ZChild.ZChildBuilderImpl> {
@org.checkerframework.common.aliasing.qual.Unique
@java.lang.SuppressWarnings("all")
- private ChildBuilderImpl() {
+ private ZChildBuilderImpl() {
}
@java.lang.Override
@org.checkerframework.checker.builder.qual.ReturnsReceiver
@org.checkerframework.dataflow.qual.Pure
@java.lang.SuppressWarnings("all")
- protected CheckerFrameworkSuperBuilder.Child.ChildBuilderImpl self() {
+ protected CheckerFrameworkSuperBuilder.ZChild.ZChildBuilderImpl self() {
return this;
}
@org.checkerframework.dataflow.qual.SideEffectFree
@java.lang.Override
@java.lang.SuppressWarnings("all")
- public CheckerFrameworkSuperBuilder.Child build(@org.checkerframework.checker.builder.qual.CalledMethods("b") CheckerFrameworkSuperBuilder.Child.ChildBuilderImpl this) {
- return new CheckerFrameworkSuperBuilder.Child(this);
+ public CheckerFrameworkSuperBuilder.ZChild build(@org.checkerframework.checker.builder.qual.CalledMethods("b") CheckerFrameworkSuperBuilder.ZChild.ZChildBuilderImpl this) {
+ return new CheckerFrameworkSuperBuilder.ZChild(this);
}
}
@org.checkerframework.dataflow.qual.SideEffectFree
@java.lang.SuppressWarnings("all")
- protected Child(final CheckerFrameworkSuperBuilder.Child.ChildBuilder<?, ?> b) {
+ protected ZChild(final CheckerFrameworkSuperBuilder.ZChild.ZChildBuilder<?, ?> b) {
super(b);
if (b.a$set) this.a = b.a$value;
- else this.a = CheckerFrameworkSuperBuilder.Child.$default$a();
+ else this.a = CheckerFrameworkSuperBuilder.ZChild.$default$a();
this.b = b.b;
}
@org.checkerframework.dataflow.qual.SideEffectFree
@java.lang.SuppressWarnings("all")
- public static CheckerFrameworkSuperBuilder.Child.ChildBuilder<?, ?> builder() {
- return new CheckerFrameworkSuperBuilder.Child.ChildBuilderImpl();
+ public static CheckerFrameworkSuperBuilder.ZChild.ZChildBuilder<?, ?> builder() {
+ return new CheckerFrameworkSuperBuilder.ZChild.ZChildBuilderImpl();
}
}
} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/DelegateAlreadyImplemented.java b/test/transform/resource/after-delombok/DelegateAlreadyImplemented.java
new file mode 100644
index 00000000..c876d8ce
--- /dev/null
+++ b/test/transform/resource/after-delombok/DelegateAlreadyImplemented.java
@@ -0,0 +1,43 @@
+public class DelegateAlreadyImplemented<T> {
+ private A<Integer, T> a;
+
+ public void a() {
+ }
+
+ public void b(java.util.List<String> l) {
+ }
+
+ public void c(java.util.List<Integer> l, String[] a, Integer... varargs) {
+ }
+
+ public void d(String[][][][] d) {
+ }
+
+ public <Y> void e(Y x) {
+ }
+
+ @SuppressWarnings("unchecked")
+ public void f(T s, java.util.List<T> l, T[] a, T... varargs) {
+ }
+
+ public void g(Number g) {
+ }
+}
+
+interface A<T, T2> {
+ void a();
+
+ void b(java.util.List<T> l);
+
+ @SuppressWarnings("unchecked")
+ void c(java.util.List<T> l, String[] a, T... varargs);
+
+ void d(String[][][][] d);
+
+ <X> X e(X x);
+
+ @SuppressWarnings("unchecked")
+ void f(T2 s, java.util.List<T2> l, T2[] a, T2... varargs);
+
+ <G extends Number> void g(G g);
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/DelegateGenerics.java b/test/transform/resource/after-delombok/DelegateGenerics.java
new file mode 100644
index 00000000..894776ea
--- /dev/null
+++ b/test/transform/resource/after-delombok/DelegateGenerics.java
@@ -0,0 +1,32 @@
+public class DelegateGenerics<T> {
+ I1<T> target;
+
+ @java.lang.SuppressWarnings("all")
+ public java.lang.Integer t(final java.lang.Integer t) {
+ return this.target.t(t);
+ }
+
+ @java.lang.SuppressWarnings("all")
+ public java.lang.String i(final java.lang.String a) {
+ return this.target.i(a);
+ }
+
+ @java.lang.SuppressWarnings("all")
+ public T a(final T a) {
+ return this.target.a(a);
+ }
+}
+
+interface I1<T> extends I2<T, Integer, String> {
+}
+
+interface I2<A, T, I> extends I3<Integer, I, A> {
+}
+
+interface I3<T, I, A> {
+ T t(T t);
+
+ I i(I a);
+
+ A a(A a);
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/DelegateWithVarargs2.java b/test/transform/resource/after-delombok/DelegateWithVarargs2.java
new file mode 100644
index 00000000..a8ff6e3b
--- /dev/null
+++ b/test/transform/resource/after-delombok/DelegateWithVarargs2.java
@@ -0,0 +1,12 @@
+class DelegateWithVarargs2 {
+ private DelegateWithVarargs2.B bar;
+ public class B {
+ public void varargs(Object[]... keys) {
+ }
+ }
+ @java.lang.SuppressWarnings("all")
+ public void varargs(final java.lang.Object[]... keys) {
+ this.bar.varargs(keys);
+ }
+}
+
diff --git a/test/transform/resource/after-delombok/EqualsAndHashCodeRank.java b/test/transform/resource/after-delombok/EqualsAndHashCodeRank.java
new file mode 100644
index 00000000..fcf371b6
--- /dev/null
+++ b/test/transform/resource/after-delombok/EqualsAndHashCodeRank.java
@@ -0,0 +1,31 @@
+public class EqualsAndHashCodeRank {
+ int a;
+ int b;
+ int c;
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public boolean equals(final java.lang.Object o) {
+ if (o == this) return true;
+ if (!(o instanceof EqualsAndHashCodeRank)) return false;
+ final EqualsAndHashCodeRank other = (EqualsAndHashCodeRank) o;
+ if (!other.canEqual((java.lang.Object) this)) return false;
+ if (this.a != other.a) return false;
+ if (this.c != other.c) return false;
+ if (this.b != other.b) return false;
+ return true;
+ }
+ @java.lang.SuppressWarnings("all")
+ protected boolean canEqual(final java.lang.Object other) {
+ return other instanceof EqualsAndHashCodeRank;
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = result * PRIME + this.a;
+ result = result * PRIME + this.c;
+ result = result * PRIME + this.b;
+ return result;
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/GetterLazyArguments.java b/test/transform/resource/after-delombok/GetterLazyArguments.java
new file mode 100644
index 00000000..a8a422c0
--- /dev/null
+++ b/test/transform/resource/after-delombok/GetterLazyArguments.java
@@ -0,0 +1,101 @@
+class GetterLazyArguments {
+ static String fun() {
+ return null;
+ }
+
+ static String stringInt(String arg1, Integer arg2) {
+ return null;
+ }
+
+ static String stringRunnable(String arg1, Runnable arg2) {
+ return null;
+ }
+
+ private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> field1 = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
+ private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> field2 = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
+ private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> field3 = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
+ private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> field4 = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
+ private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> field5 = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
+
+ @java.lang.SuppressWarnings({"all", "unchecked"})
+ public String getField1() {
+ java.lang.Object value = this.field1.get();
+ if (value == null) {
+ synchronized (this.field1) {
+ value = this.field1.get();
+ if (value == null) {
+ final String actualValue = stringInt(("a"), (1));
+ value = actualValue == null ? this.field1 : actualValue;
+ this.field1.set(value);
+ }
+ }
+ }
+ return (String) (value == this.field1 ? null : value);
+ }
+
+ @java.lang.SuppressWarnings({"all", "unchecked"})
+ public String getField2() {
+ java.lang.Object value = this.field2.get();
+ if (value == null) {
+ synchronized (this.field2) {
+ value = this.field2.get();
+ if (value == null) {
+ final String actualValue = stringInt(true ? "a" : "b", true ? 1 : 0);
+ value = actualValue == null ? this.field2 : actualValue;
+ this.field2.set(value);
+ }
+ }
+ }
+ return (String) (value == this.field2 ? null : value);
+ }
+
+ @java.lang.SuppressWarnings({"all", "unchecked"})
+ public String getField3() {
+ java.lang.Object value = this.field3.get();
+ if (value == null) {
+ synchronized (this.field3) {
+ value = this.field3.get();
+ if (value == null) {
+ final String actualValue = stringInt(("a"), true ? 1 : 0);
+ value = actualValue == null ? this.field3 : actualValue;
+ this.field3.set(value);
+ }
+ }
+ }
+ return (String) (value == this.field3 ? null : value);
+ }
+
+ @java.lang.SuppressWarnings({"all", "unchecked"})
+ public String getField4() {
+ java.lang.Object value = this.field4.get();
+ if (value == null) {
+ synchronized (this.field4) {
+ value = this.field4.get();
+ if (value == null) {
+ final String actualValue = stringRunnable(fun(), () -> {
+ });
+ value = actualValue == null ? this.field4 : actualValue;
+ this.field4.set(value);
+ }
+ }
+ }
+ return (String) (value == this.field4 ? null : value);
+ }
+
+ @java.lang.SuppressWarnings({"all", "unchecked"})
+ public String getField5() {
+ java.lang.Object value = this.field5.get();
+ if (value == null) {
+ synchronized (this.field5) {
+ value = this.field5.get();
+ if (value == null) {
+ final String actualValue = stringRunnable(("a"), () -> {
+ });
+ value = actualValue == null ? this.field5 : actualValue;
+ this.field5.set(value);
+ }
+ }
+ }
+ return (String) (value == this.field5 ? null : value);
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/GetterSetterJavadoc.java b/test/transform/resource/after-delombok/GetterSetterJavadoc.java
index ae662da7..78d120a4 100644
--- a/test/transform/resource/after-delombok/GetterSetterJavadoc.java
+++ b/test/transform/resource/after-delombok/GetterSetterJavadoc.java
@@ -115,7 +115,7 @@ class GetterSetterJavadoc4 {
/**
* Some text
*
- * @param fieldName Hello, World5
+ * @param fieldName Hello, World4
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
diff --git a/test/transform/resource/after-delombok/JacksonBuilderSingular.java b/test/transform/resource/after-delombok/JacksonBuilderSingular.java
new file mode 100644
index 00000000..feaa6832
--- /dev/null
+++ b/test/transform/resource/after-delombok/JacksonBuilderSingular.java
@@ -0,0 +1,177 @@
+import java.util.List;
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = JacksonBuilderSingular.JacksonBuilderSingularBuilder.class)
+public class JacksonBuilderSingular {
+ @JsonAnySetter
+ private Map<String, Object> any;
+ @JsonProperty("v_a_l_u_e_s")
+ private List<String> values;
+ @JsonAnySetter
+ private ImmutableMap<String, Object> guavaAny;
+ @JsonProperty("guava_v_a_l_u_e_s")
+ private ImmutableList<String> guavaValues;
+ @java.lang.SuppressWarnings("all")
+ JacksonBuilderSingular(final Map<String, Object> any, final List<String> values, final ImmutableMap<String, Object> guavaAny, final ImmutableList<String> guavaValues) {
+ this.any = any;
+ this.values = values;
+ this.guavaAny = guavaAny;
+ this.guavaValues = guavaValues;
+ }
+ @java.lang.SuppressWarnings("all")
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "", buildMethodName = "build")
+ public static class JacksonBuilderSingularBuilder {
+ @java.lang.SuppressWarnings("all")
+ private java.util.ArrayList<String> any$key;
+ @java.lang.SuppressWarnings("all")
+ private java.util.ArrayList<Object> any$value;
+ @java.lang.SuppressWarnings("all")
+ private java.util.ArrayList<String> values;
+ @java.lang.SuppressWarnings("all")
+ private com.google.common.collect.ImmutableMap.Builder<String, Object> guavaAny;
+ @java.lang.SuppressWarnings("all")
+ private com.google.common.collect.ImmutableList.Builder<String> guavaValues;
+ @java.lang.SuppressWarnings("all")
+ JacksonBuilderSingularBuilder() {
+ }
+ @JsonAnySetter
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular.JacksonBuilderSingularBuilder any(final String anyKey, final Object anyValue) {
+ if (this.any$key == null) {
+ this.any$key = new java.util.ArrayList<String>();
+ this.any$value = new java.util.ArrayList<Object>();
+ }
+ this.any$key.add(anyKey);
+ this.any$value.add(anyValue);
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular.JacksonBuilderSingularBuilder any(final java.util.Map<? extends String, ? extends Object> any) {
+ if (any == null) {
+ throw new java.lang.NullPointerException("any cannot be null");
+ }
+ if (this.any$key == null) {
+ this.any$key = new java.util.ArrayList<String>();
+ this.any$value = new java.util.ArrayList<Object>();
+ }
+ for (final java.util.Map.Entry<? extends String, ? extends Object> $lombokEntry : any.entrySet()) {
+ this.any$key.add($lombokEntry.getKey());
+ this.any$value.add($lombokEntry.getValue());
+ }
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular.JacksonBuilderSingularBuilder clearAny() {
+ if (this.any$key != null) {
+ this.any$key.clear();
+ this.any$value.clear();
+ }
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular.JacksonBuilderSingularBuilder value(final String value) {
+ if (this.values == null) this.values = new java.util.ArrayList<String>();
+ this.values.add(value);
+ return this;
+ }
+ @JsonProperty("v_a_l_u_e_s")
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular.JacksonBuilderSingularBuilder values(final java.util.Collection<? extends String> values) {
+ if (values == null) {
+ throw new java.lang.NullPointerException("values cannot be null");
+ }
+ if (this.values == null) this.values = new java.util.ArrayList<String>();
+ this.values.addAll(values);
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular.JacksonBuilderSingularBuilder clearValues() {
+ if (this.values != null) this.values.clear();
+ return this;
+ }
+ @JsonAnySetter
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular.JacksonBuilderSingularBuilder guavaAny(final String key, final Object value) {
+ if (this.guavaAny == null) this.guavaAny = com.google.common.collect.ImmutableMap.builder();
+ this.guavaAny.put(key, value);
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular.JacksonBuilderSingularBuilder guavaAny(final java.util.Map<? extends String, ? extends Object> guavaAny) {
+ if (guavaAny == null) {
+ throw new java.lang.NullPointerException("guavaAny cannot be null");
+ }
+ if (this.guavaAny == null) this.guavaAny = com.google.common.collect.ImmutableMap.builder();
+ this.guavaAny.putAll(guavaAny);
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular.JacksonBuilderSingularBuilder clearGuavaAny() {
+ this.guavaAny = null;
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular.JacksonBuilderSingularBuilder guavaValue(final String guavaValue) {
+ if (this.guavaValues == null) this.guavaValues = com.google.common.collect.ImmutableList.builder();
+ this.guavaValues.add(guavaValue);
+ return this;
+ }
+ @JsonProperty("guava_v_a_l_u_e_s")
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular.JacksonBuilderSingularBuilder guavaValues(final java.lang.Iterable<? extends String> guavaValues) {
+ if (guavaValues == null) {
+ throw new java.lang.NullPointerException("guavaValues cannot be null");
+ }
+ if (this.guavaValues == null) this.guavaValues = com.google.common.collect.ImmutableList.builder();
+ this.guavaValues.addAll(guavaValues);
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular.JacksonBuilderSingularBuilder clearGuavaValues() {
+ this.guavaValues = null;
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular build() {
+ java.util.Map<String, Object> any;
+ switch (this.any$key == null ? 0 : this.any$key.size()) {
+ case 0:
+ any = java.util.Collections.emptyMap();
+ break;
+ case 1:
+ any = java.util.Collections.singletonMap(this.any$key.get(0), this.any$value.get(0));
+ break;
+ default:
+ any = new java.util.LinkedHashMap<String, Object>(this.any$key.size() < 1073741824 ? 1 + this.any$key.size() + (this.any$key.size() - 3) / 3 : java.lang.Integer.MAX_VALUE);
+ for (int $i = 0; $i < this.any$key.size(); $i++) any.put(this.any$key.get($i), (Object) this.any$value.get($i));
+ any = java.util.Collections.unmodifiableMap(any);
+ }
+ java.util.List<String> values;
+ switch (this.values == null ? 0 : this.values.size()) {
+ case 0:
+ values = java.util.Collections.emptyList();
+ break;
+ case 1:
+ values = java.util.Collections.singletonList(this.values.get(0));
+ break;
+ default:
+ values = java.util.Collections.unmodifiableList(new java.util.ArrayList<String>(this.values));
+ }
+ com.google.common.collect.ImmutableMap<String, Object> guavaAny = this.guavaAny == null ? com.google.common.collect.ImmutableMap.<String, Object>of() : this.guavaAny.build();
+ com.google.common.collect.ImmutableList<String> guavaValues = this.guavaValues == null ? com.google.common.collect.ImmutableList.<String>of() : this.guavaValues.build();
+ return new JacksonBuilderSingular(any, values, guavaAny, guavaValues);
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public java.lang.String toString() {
+ return "JacksonBuilderSingular.JacksonBuilderSingularBuilder(any$key=" + this.any$key + ", any$value=" + this.any$value + ", values=" + this.values + ", guavaAny=" + this.guavaAny + ", guavaValues=" + this.guavaValues + ")";
+ }
+ }
+ @java.lang.SuppressWarnings("all")
+ public static JacksonBuilderSingular.JacksonBuilderSingularBuilder builder() {
+ return new JacksonBuilderSingular.JacksonBuilderSingularBuilder();
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/LoggerCommons.java b/test/transform/resource/after-delombok/LoggerCommons.java
index 954e730b..4b943da7 100644
--- a/test/transform/resource/after-delombok/LoggerCommons.java
+++ b/test/transform/resource/after-delombok/LoggerCommons.java
@@ -10,3 +10,8 @@ class LoggerCommonsWithDifferentName {
@java.lang.SuppressWarnings("all")
private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog("DifferentName");
}
+class LoggerCommonsWithStaticField {
+ @java.lang.SuppressWarnings("all")
+ private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsWithStaticField.TOPIC);
+ static final String TOPIC = "StaticField";
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/LoggerCustomWithTopicAndName.java b/test/transform/resource/after-delombok/LoggerCustomWithTopicAndName.java
index abb785b9..4db02cc1 100644
--- a/test/transform/resource/after-delombok/LoggerCustomWithTopicAndName.java
+++ b/test/transform/resource/after-delombok/LoggerCustomWithTopicAndName.java
@@ -3,6 +3,12 @@ class LoggerCustomLog {
private static final MyLoggerFactory log = MyLoggerFactory.create(LoggerCustomLog.class.getName(), "t", null, LoggerCustomLog.class, "t");
}
+class LoggerCustomLogWithStaticField {
+ @java.lang.SuppressWarnings("all")
+ private static final MyLoggerFactory log = MyLoggerFactory.create(LoggerCustomLogWithStaticField.class.getName(), LoggerCustomLogWithStaticField.TOPIC, null, LoggerCustomLogWithStaticField.class, LoggerCustomLogWithStaticField.TOPIC);
+ static final String TOPIC = "StaticField";
+}
+
class MyLoggerFactory {
static MyLoggerFactory create(String name, String t1, Object o, Class<?> clazz, String t2) {
return null;
diff --git a/test/transform/resource/after-delombok/LoggerJBossLog.java b/test/transform/resource/after-delombok/LoggerJBossLog.java
index 41c18805..5fd98aa6 100644
--- a/test/transform/resource/after-delombok/LoggerJBossLog.java
+++ b/test/transform/resource/after-delombok/LoggerJBossLog.java
@@ -17,3 +17,9 @@ class LoggerJBossLogWithDifferentLoggerName {
@java.lang.SuppressWarnings("all")
private static final org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger("DifferentLogger");
}
+
+class LoggerJBossLogWithStaticField {
+ @java.lang.SuppressWarnings("all")
+ private static final org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LoggerJBossLogWithStaticField.TOPIC);
+ static final String TOPIC = "StaticField";
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/LoggerJul.java b/test/transform/resource/after-delombok/LoggerJul.java
index 63f96733..cfb44fde 100644
--- a/test/transform/resource/after-delombok/LoggerJul.java
+++ b/test/transform/resource/after-delombok/LoggerJul.java
@@ -10,3 +10,8 @@ class LoggerJulWithDifferentName {
@java.lang.SuppressWarnings("all")
private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger("DifferentName");
}
+class LoggerJulWithStaticField {
+ @java.lang.SuppressWarnings("all")
+ private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJulWithStaticField.TOPIC);
+ static final String TOPIC = "StaticField";
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/LoggerLog4j.java b/test/transform/resource/after-delombok/LoggerLog4j.java
index 7d9d4409..cef83621 100644
--- a/test/transform/resource/after-delombok/LoggerLog4j.java
+++ b/test/transform/resource/after-delombok/LoggerLog4j.java
@@ -10,3 +10,8 @@ class LoggerLog4jWithDifferentName {
@java.lang.SuppressWarnings("all")
private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger("DifferentName");
}
+class LoggerLog4jWithStaticField {
+ @java.lang.SuppressWarnings("all")
+ private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4jWithStaticField.TOPIC);
+ static final String TOPIC = "StaticField";
+}
diff --git a/test/transform/resource/after-delombok/LoggerLog4j2.java b/test/transform/resource/after-delombok/LoggerLog4j2.java
index 3d8b7b5b..b32c7722 100644
--- a/test/transform/resource/after-delombok/LoggerLog4j2.java
+++ b/test/transform/resource/after-delombok/LoggerLog4j2.java
@@ -10,3 +10,8 @@ class LoggerLog4j2WithDifferentName {
@java.lang.SuppressWarnings("all")
private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger("DifferentName");
}
+class LoggerLog4j2WithStaticField {
+ @java.lang.SuppressWarnings("all")
+ private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2WithStaticField.TOPIC);
+ static final String TOPIC = "StaticField";
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/LoggerSlf4j.java b/test/transform/resource/after-delombok/LoggerSlf4j.java
index 68d685f0..70f11ae4 100644
--- a/test/transform/resource/after-delombok/LoggerSlf4j.java
+++ b/test/transform/resource/after-delombok/LoggerSlf4j.java
@@ -17,3 +17,20 @@ class LoggerSlf4jWithDifferentLoggerName {
@java.lang.SuppressWarnings("all")
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger("DifferentLogger");
}
+
+class LoggerSlf4jWithStaticField {
+ @java.lang.SuppressWarnings("all")
+ private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4jWithStaticField.TOPIC);
+ static final String TOPIC = "StaticField";
+}
+
+class LoggerSlf4jWithTwoStaticFields {
+ @java.lang.SuppressWarnings("all")
+ private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4jWithTwoStaticFields.TOPIC + LoggerSlf4jWithTwoStaticFields.TOPIC);
+ static final String TOPIC = "StaticField";
+}
+
+class LoggerSlf4jWithTwoLiterals {
+ @java.lang.SuppressWarnings("all")
+ private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger("A" + "B");
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/LoggerSlf4jInvalidTopic.java b/test/transform/resource/after-delombok/LoggerSlf4jInvalidTopic.java
new file mode 100644
index 00000000..86e6ae2c
--- /dev/null
+++ b/test/transform/resource/after-delombok/LoggerSlf4jInvalidTopic.java
@@ -0,0 +1,5 @@
+import lombok.extern.slf4j.Slf4j;
+
+@Slf4j(topic = 42)
+class LoggerSlf4jWithIntegerTopic {
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/LoggerXSlf4j.java b/test/transform/resource/after-delombok/LoggerXSlf4j.java
index 781733cf..ba0ec3f8 100644
--- a/test/transform/resource/after-delombok/LoggerXSlf4j.java
+++ b/test/transform/resource/after-delombok/LoggerXSlf4j.java
@@ -10,3 +10,8 @@ class LoggerXSlf4jWithDifferentName {
@java.lang.SuppressWarnings("all")
private static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger("DifferentName");
}
+class LoggerXSlf4jWithStaticField {
+ @java.lang.SuppressWarnings("all")
+ private static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LoggerXSlf4jWithStaticField.TOPIC);
+ static final String TOPIC = "StaticField";
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/SkipSuppressWarnings.java b/test/transform/resource/after-delombok/SkipSuppressWarnings.java
new file mode 100644
index 00000000..151d4e17
--- /dev/null
+++ b/test/transform/resource/after-delombok/SkipSuppressWarnings.java
@@ -0,0 +1,24 @@
+class SkipSuppressWarnings {
+ private String field = "";
+ private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> field2 = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
+
+ public String getField() {
+ return this.field;
+ }
+
+ @java.lang.SuppressWarnings({"unchecked"})
+ public String getField2() {
+ java.lang.Object value = this.field2.get();
+ if (value == null) {
+ synchronized (this.field2) {
+ value = this.field2.get();
+ if (value == null) {
+ final String actualValue = "";
+ value = actualValue == null ? this.field2 : actualValue;
+ this.field2.set(value);
+ }
+ }
+ }
+ return (String) (value == this.field2 ? null : value);
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/SuperBuilderBasic.java b/test/transform/resource/after-delombok/SuperBuilderBasic.java
index c347e41c..c3fa86f2 100644
--- a/test/transform/resource/after-delombok/SuperBuilderBasic.java
+++ b/test/transform/resource/after-delombok/SuperBuilderBasic.java
@@ -81,10 +81,10 @@ public class SuperBuilderBasic {
return new SuperBuilderBasic.Parent.ParentBuilderImpl();
}
}
- public static class Child extends Parent {
+ public static class Child extends SuperBuilderBasic.Parent {
double field3;
@java.lang.SuppressWarnings("all")
- public static abstract class ChildBuilder<C extends SuperBuilderBasic.Child, B extends SuperBuilderBasic.Child.ChildBuilder<C, B>> extends Parent.ParentBuilder<C, B> {
+ public static abstract class ChildBuilder<C extends SuperBuilderBasic.Child, B extends SuperBuilderBasic.Child.ChildBuilder<C, B>> extends SuperBuilderBasic.Parent.ParentBuilder<C, B> {
@java.lang.SuppressWarnings("all")
private double field3;
@java.lang.Override
diff --git a/test/transform/resource/after-delombok/SuperBuilderCustomized.java b/test/transform/resource/after-delombok/SuperBuilderCustomized.java
index bffa72fa..f66133c9 100644
--- a/test/transform/resource/after-delombok/SuperBuilderCustomized.java
+++ b/test/transform/resource/after-delombok/SuperBuilderCustomized.java
@@ -23,6 +23,13 @@ public class SuperBuilderCustomized {
}
}
int field1;
+ protected Parent(ParentBuilder<?, ?> b) {
+ if (b.field1 == 0) throw new IllegalArgumentException("field1 must be != 0");
+ this.field1 = b.field1;
+ }
+ public static SuperBuilderCustomized.Parent.ParentBuilder<?, ?> builder(int field1) {
+ return new SuperBuilderCustomized.Parent.ParentBuilderImpl().field1(field1);
+ }
@java.lang.SuppressWarnings("all")
private static final class ParentBuilderImpl extends SuperBuilderCustomized.Parent.ParentBuilder<SuperBuilderCustomized.Parent, SuperBuilderCustomized.Parent.ParentBuilderImpl> {
@java.lang.SuppressWarnings("all")
@@ -39,14 +46,6 @@ public class SuperBuilderCustomized {
return new SuperBuilderCustomized.Parent(this);
}
}
- @java.lang.SuppressWarnings("all")
- protected Parent(final SuperBuilderCustomized.Parent.ParentBuilder<?, ?> b) {
- this.field1 = b.field1;
- }
- @java.lang.SuppressWarnings("all")
- public static SuperBuilderCustomized.Parent.ParentBuilder<?, ?> builder() {
- return new SuperBuilderCustomized.Parent.ParentBuilderImpl();
- }
}
public static class Child extends Parent {
private static final class ChildBuilderImpl extends ChildBuilder<Child, ChildBuilderImpl> {
diff --git a/test/transform/resource/after-delombok/TypeUseAnnotations.java b/test/transform/resource/after-delombok/TypeUseAnnotations.java
index 1e1536bf..fbf32577 100644
--- a/test/transform/resource/after-delombok/TypeUseAnnotations.java
+++ b/test/transform/resource/after-delombok/TypeUseAnnotations.java
@@ -7,8 +7,18 @@ import java.util.List;
}
class TypeUseAnnotations {
List<@TA(x = 5) String> foo;
+ List<TypeUseAnnotations.@TA(x = 5) Inner> bar;
+
+ class Inner {
+ }
+
@java.lang.SuppressWarnings("all")
public List<@TA(x = 5) String> getFoo() {
return this.foo;
}
+
+ @java.lang.SuppressWarnings("all")
+ public List<TypeUseAnnotations.@TA(x = 5) Inner> getBar() {
+ return this.bar;
+ }
}
diff --git a/test/transform/resource/after-delombok/ValLambda.java b/test/transform/resource/after-delombok/ValLambda.java
index 24ae3b5f..910e3506 100644
--- a/test/transform/resource/after-delombok/ValLambda.java
+++ b/test/transform/resource/after-delombok/ValLambda.java
@@ -1,4 +1,6 @@
// version 8:
+import java.io.Serializable;
+
class ValLambda {
static {
final java.lang.Runnable foo = (System.currentTimeMillis() > 0) ? (Runnable) () -> {
@@ -15,8 +17,8 @@ class ValLambda {
};
}
- public void easyIntersectionLambda() {
- final java.lang.Runnable foo = (Runnable & java.io.Serializable) () -> {
+ public void intersectionLambda() {
+ final java.io.Serializable foo = (Runnable & Serializable) () -> {
};
final java.io.Serializable bar = (java.io.Serializable & Runnable) () -> {
};
diff --git a/test/transform/resource/after-delombok/ValueStaticConstructorOf.java b/test/transform/resource/after-delombok/ValueStaticConstructorOf.java
index fe75f823..e4564628 100644
--- a/test/transform/resource/after-delombok/ValueStaticConstructorOf.java
+++ b/test/transform/resource/after-delombok/ValueStaticConstructorOf.java
@@ -23,12 +23,12 @@ public final class ValueStaticConstructorOf {
if (o == this) return true;
if (!(o instanceof ValueStaticConstructorOf)) return false;
final ValueStaticConstructorOf other = (ValueStaticConstructorOf) o;
- final java.lang.Object this$name = this.getName();
- final java.lang.Object other$name = other.getName();
- if (this$name == null ? other$name != null : !this$name.equals(other$name)) return false;
final java.lang.Object this$price = this.getPrice();
final java.lang.Object other$price = other.getPrice();
if (this$price == null ? other$price != null : !this$price.equals(other$price)) return false;
+ final java.lang.Object this$name = this.getName();
+ final java.lang.Object other$name = other.getName();
+ if (this$name == null ? other$name != null : !this$name.equals(other$name)) return false;
return true;
}
@java.lang.Override
@@ -36,10 +36,10 @@ public final class ValueStaticConstructorOf {
public int hashCode() {
final int PRIME = 59;
int result = 1;
- final java.lang.Object $name = this.getName();
- result = result * PRIME + ($name == null ? 43 : $name.hashCode());
final java.lang.Object $price = this.getPrice();
result = result * PRIME + ($price == null ? 43 : $price.hashCode());
+ final java.lang.Object $name = this.getName();
+ result = result * PRIME + ($name == null ? 43 : $name.hashCode());
return result;
}
@java.lang.Override