aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/core/src/lombok/AbstractRunTests.java21
-rw-r--r--test/core/src/lombok/DirectoryRunner.java67
-rw-r--r--test/core/src/lombok/RunTestsViaEcj.java19
-rw-r--r--test/pretty/resource/after/TryWithResources.java9
-rw-r--r--test/pretty/resource/before/TryWithResources.java9
-rw-r--r--test/transform/resource/after-delombok/BuilderChainAndFluent.java31
-rw-r--r--test/transform/resource/after-delombok/BuilderComplex.java48
-rw-r--r--test/transform/resource/after-delombok/BuilderSimple.java43
-rw-r--r--test/transform/resource/after-delombok/BuilderWithExistingBuilderClass.java38
-rw-r--r--test/transform/resource/after-delombok/CommentsInterspersed.java8
-rw-r--r--test/transform/resource/after-delombok/DataOnLocalClass.java8
-rw-r--r--test/transform/resource/after-delombok/DelegateOnGetter.java8
-rw-r--r--test/transform/resource/after-delombok/DelegateWithDeprecated.java4
-rw-r--r--test/transform/resource/after-delombok/EqualsAndHashCodeWithSomeExistingMethods.java82
-rw-r--r--test/transform/resource/after-delombok/GetterDeprecated.java3
-rw-r--r--test/transform/resource/after-delombok/GetterLazy.java8
-rw-r--r--test/transform/resource/after-delombok/GetterLazyBoolean.java16
-rw-r--r--test/transform/resource/after-delombok/GetterLazyEahcToString.java8
-rw-r--r--test/transform/resource/after-delombok/GetterLazyNative.java74
-rw-r--r--test/transform/resource/after-delombok/GetterSetterJavadoc.java100
-rw-r--r--test/transform/resource/after-delombok/JavadocGenerally.java24
-rw-r--r--test/transform/resource/after-delombok/LoggerCommons.java1
-rw-r--r--test/transform/resource/after-delombok/LoggerJul.java1
-rw-r--r--test/transform/resource/after-delombok/LoggerLog4j.java1
-rw-r--r--test/transform/resource/after-delombok/LoggerLog4j2.java6
-rw-r--r--test/transform/resource/after-delombok/LoggerSlf4j.java2
-rw-r--r--test/transform/resource/after-delombok/LoggerXSlf4j.java1
-rw-r--r--test/transform/resource/after-delombok/NonNullOnParameter.java48
-rw-r--r--test/transform/resource/after-delombok/NonNullPlain.java8
-rw-r--r--test/transform/resource/after-delombok/SetterDeprecated.java3
-rw-r--r--test/transform/resource/after-delombok/SetterOnClass.java4
-rw-r--r--test/transform/resource/after-delombok/ValInTryWithResources.java10
-rw-r--r--test/transform/resource/after-delombok/ValueExperimental.java46
-rw-r--r--test/transform/resource/after-delombok/ValueExperimentalStarImport.java25
-rw-r--r--test/transform/resource/after-delombok/WitherDeprecated.java3
-rw-r--r--test/transform/resource/after-delombok/WitherOnClass.java4
-rw-r--r--test/transform/resource/after-ecj/BuilderChainAndFluent.java25
-rw-r--r--test/transform/resource/after-ecj/BuilderComplex.java43
-rw-r--r--test/transform/resource/after-ecj/BuilderSimple.java36
-rw-r--r--test/transform/resource/after-ecj/BuilderWithExistingBuilderClass.java36
-rw-r--r--test/transform/resource/after-ecj/DataOnLocalClass.java8
-rw-r--r--test/transform/resource/after-ecj/DelegateOnGetter.java8
-rw-r--r--test/transform/resource/after-ecj/EqualsAndHashCodeWithSomeExistingMethods.java71
-rw-r--r--test/transform/resource/after-ecj/GetterLazy.java8
-rw-r--r--test/transform/resource/after-ecj/GetterLazyBoolean.java16
-rw-r--r--test/transform/resource/after-ecj/GetterLazyEahcToString.java8
-rw-r--r--test/transform/resource/after-ecj/GetterLazyNative.java72
-rw-r--r--test/transform/resource/after-ecj/GetterSetterJavadoc.java60
-rw-r--r--test/transform/resource/after-ecj/JavadocGenerally.java11
-rw-r--r--test/transform/resource/after-ecj/LoggerLog4j2.java17
-rw-r--r--test/transform/resource/after-ecj/NonNullOnParameter.java61
-rw-r--r--test/transform/resource/after-ecj/NonNullPlain.java8
-rw-r--r--test/transform/resource/after-ecj/SetterOnClass.java4
-rw-r--r--test/transform/resource/after-ecj/ValueExperimental.java39
-rw-r--r--test/transform/resource/after-ecj/ValueExperimentalStarImport.java20
-rw-r--r--test/transform/resource/after-ecj/ValuePlain.java4
-rw-r--r--test/transform/resource/after-ecj/WitherOnClass.java4
-rw-r--r--test/transform/resource/before/BuilderChainAndFluent.java4
-rw-r--r--test/transform/resource/before/BuilderComplex.java7
-rw-r--r--test/transform/resource/before/BuilderInvalidUse.java18
-rw-r--r--test/transform/resource/before/BuilderSimple.java9
-rw-r--r--test/transform/resource/before/BuilderWithExistingBuilderClass.java15
-rw-r--r--test/transform/resource/before/CommentsInterspersed.java8
-rw-r--r--test/transform/resource/before/DelegateWithDeprecated.java4
-rw-r--r--test/transform/resource/before/EqualsAndHashCodeWithSomeExistingMethods.java47
-rw-r--r--test/transform/resource/before/GetterSetterJavadoc.java37
-rw-r--r--test/transform/resource/before/JavadocGenerally.java27
-rw-r--r--test/transform/resource/before/LoggerLog4j2.java9
-rw-r--r--test/transform/resource/before/NonNullOnParameter.java30
-rw-r--r--test/transform/resource/before/ValInTryWithResources.java12
-rw-r--r--test/transform/resource/before/ValueExperimental.java9
-rw-r--r--test/transform/resource/before/ValueExperimentalStarImport.java5
-rw-r--r--test/transform/resource/before/ValuePlain.java4
-rw-r--r--test/transform/resource/messages-delombok/BuilderInvalidUse.java.messages2
-rw-r--r--test/transform/resource/messages-delombok/EqualsAndHashCodeWithSomeExistingMethods.java.messages2
-rw-r--r--test/transform/resource/messages-delombok/NonNullOnParameter.java.messages1
-rw-r--r--test/transform/resource/messages-delombok/NonNullPlain.java.messages1
-rw-r--r--test/transform/resource/messages-ecj/BuilderInvalidUse.java.messages2
-rw-r--r--test/transform/resource/messages-ecj/EqualsAndHashCodeWithSomeExistingMethods.java.messages2
-rw-r--r--test/transform/resource/messages-ecj/NonNullOnParameter.java.messages3
-rw-r--r--test/transform/resource/messages-ecj/NonNullPlain.java.messages1
-rw-r--r--test/transform/resource/messages-ecj/ValueExperimental.java.messages1
-rw-r--r--test/transform/resource/messages-idempotent/NonNullOnParameter.java.messages1
-rw-r--r--test/transform/resource/messages-idempotent/NonNullPlain.java.messages3
84 files changed, 1453 insertions, 161 deletions
diff --git a/test/core/src/lombok/AbstractRunTests.java b/test/core/src/lombok/AbstractRunTests.java
index a3f52cdd..2f3f0988 100644
--- a/test/core/src/lombok/AbstractRunTests.java
+++ b/test/core/src/lombok/AbstractRunTests.java
@@ -43,7 +43,6 @@ import java.util.List;
import lombok.javac.CapturingDiagnosticListener.CompilerMessage;
public abstract class AbstractRunTests {
- protected static final String LINE_SEPARATOR = System.getProperty("line.separator");
private final File dumpActualFilesHere;
public AbstractRunTests() {
@@ -69,10 +68,12 @@ public abstract class AbstractRunTests {
}
}
- StringReader r = new StringReader(expectedFile);
- BufferedReader br = new BufferedReader(r);
- String firstLine = br.readLine();
- if (firstLine != null && firstLine.startsWith("//ignore")) return false;
+ if (expectedFile != null) {
+ StringReader r = new StringReader(expectedFile);
+ BufferedReader br = new BufferedReader(r);
+ String firstLine = br.readLine();
+ if (firstLine != null && (firstLine.startsWith("//ignore") || params.shouldIgnoreBasedOnVersion(firstLine))) return false;
+ }
compare(
file.getName(),
@@ -92,20 +93,20 @@ public abstract class AbstractRunTests {
try {
reader = new BufferedReader(new FileReader(file));
} catch (FileNotFoundException e) {
- return "";
+ return null;
}
StringBuilder result = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
result.append(line);
- result.append(LINE_SEPARATOR);
+ result.append("\n");
}
reader.close();
return result.toString();
}
private String readFile(File dir, File file, boolean messages) throws IOException {
- if (dir == null) return "";
+ if (dir == null) return null;
return readFile(new File(dir, file.getName() + (messages ? ".messages" : "")));
}
@@ -141,7 +142,9 @@ public abstract class AbstractRunTests {
}
private void compare(String name, String expectedFile, String actualFile, List<CompilerMessageMatcher> expectedMessages, LinkedHashSet<CompilerMessage> actualMessages, boolean printErrors) throws Throwable {
- try {
+ if (expectedFile == null && expectedMessages.isEmpty()) expectedFile = "";
+
+ if (expectedFile != null) try {
compareContent(name, expectedFile, actualFile);
} catch (Throwable e) {
if (printErrors) {
diff --git a/test/core/src/lombok/DirectoryRunner.java b/test/core/src/lombok/DirectoryRunner.java
index 191a7b63..5325c1e3 100644
--- a/test/core/src/lombok/DirectoryRunner.java
+++ b/test/core/src/lombok/DirectoryRunner.java
@@ -29,6 +29,11 @@ import java.io.FileReader;
import java.io.IOException;
import java.util.Map;
import java.util.TreeMap;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import lombok.eclipse.Eclipse;
+import lombok.javac.Javac;
import org.junit.runner.Description;
import org.junit.runner.Runner;
@@ -37,7 +42,23 @@ import org.junit.runner.notification.RunNotifier;
public class DirectoryRunner extends Runner {
public enum Compiler {
- DELOMBOK, JAVAC, ECJ;
+ DELOMBOK {
+ @Override public int getVersion() {
+ return Javac.getJavaCompilerVersion();
+ }
+ },
+ JAVAC {
+ @Override public int getVersion() {
+ return DELOMBOK.getVersion();
+ }
+ },
+ ECJ {
+ @Override public int getVersion() {
+ return Eclipse.getEcjCompilerVersion();
+ }
+ };
+
+ public abstract int getVersion();
}
public static abstract class TestParams {
@@ -46,10 +67,52 @@ public class DirectoryRunner extends Runner {
public abstract File getBeforeDirectory();
public abstract File getAfterDirectory();
public abstract File getMessagesDirectory();
+ /** Version of the JDK dialect that the compiler can understand; for example, if you return '7', you should know what try-with-resources is. */
+ public int getVersion() {
+ return getCompiler().getVersion();
+ }
public boolean accept(File file) {
return true;
}
+
+ private static final Pattern P1 = Pattern.compile("^(\\d+)$");
+ private static final Pattern P2 = Pattern.compile("^\\:(\\d+)$");
+ private static final Pattern P3 = Pattern.compile("^(\\d+):$");
+ private static final Pattern P4 = Pattern.compile("^(\\d+):(\\d+)$");
+
+ public boolean shouldIgnoreBasedOnVersion(String firstLine) {
+ int thisVersion = getVersion();
+ if (!firstLine.startsWith("//version ")) return false;
+
+ String spec = firstLine.substring("//version ".length());
+
+ /* Single version: '5' */ {
+ Matcher m = P1.matcher(spec);
+ if (m.matches()) return Integer.parseInt(m.group(1)) != thisVersion;
+ }
+
+ /* Upper bound: ':5' (inclusive) */ {
+ Matcher m = P2.matcher(spec);
+ if (m.matches()) return Integer.parseInt(m.group(1)) < thisVersion;
+ }
+
+ /* Lower bound '5:' (inclusive) */ {
+ Matcher m = P3.matcher(spec);
+ if (m.matches()) return Integer.parseInt(m.group(1)) > thisVersion;
+ }
+
+ /* Range '7:8' (inclusive) */ {
+ Matcher m = P4.matcher(spec);
+ if (m.matches()) {
+ if (Integer.parseInt(m.group(1)) < thisVersion) return true;
+ if (Integer.parseInt(m.group(2)) > thisVersion) return true;
+ return false;
+ }
+ }
+
+ throw new IllegalArgumentException("Version validity spec not valid: " + spec);
+ }
}
private static final FileFilter JAVA_FILE_FILTER = new FileFilter() {
@@ -135,6 +198,6 @@ public class DirectoryRunner extends Runner {
BufferedReader reader = new BufferedReader(new FileReader(file));
String line = reader.readLine();
reader.close();
- return line != null && line.startsWith("//ignore");
+ return line != null && (line.startsWith("//ignore") || params.shouldIgnoreBasedOnVersion(line));
}
}
diff --git a/test/core/src/lombok/RunTestsViaEcj.java b/test/core/src/lombok/RunTestsViaEcj.java
index 0bf97213..f7294f1f 100644
--- a/test/core/src/lombok/RunTestsViaEcj.java
+++ b/test/core/src/lombok/RunTestsViaEcj.java
@@ -33,6 +33,7 @@ import java.util.Locale;
import java.util.Map;
import java.util.concurrent.atomic.AtomicReference;
+import lombok.eclipse.Eclipse;
import lombok.javac.CapturingDiagnosticListener.CompilerMessage;
import org.eclipse.jdt.core.compiler.CategorizedProblem;
@@ -43,7 +44,6 @@ import org.eclipse.jdt.internal.compiler.IErrorHandlingPolicy;
import org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration;
import org.eclipse.jdt.internal.compiler.batch.CompilationUnit;
import org.eclipse.jdt.internal.compiler.batch.FileSystem;
-import org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants;
import org.eclipse.jdt.internal.compiler.env.ICompilationUnit;
import org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
import org.eclipse.jdt.internal.compiler.problem.DefaultProblemFactory;
@@ -51,9 +51,10 @@ import org.eclipse.jdt.internal.compiler.problem.DefaultProblemFactory;
public class RunTestsViaEcj extends AbstractRunTests {
protected CompilerOptions ecjCompilerOptions() {
CompilerOptions options = new CompilerOptions();
- options.complianceLevel = ClassFileConstants.JDK1_6;
- options.sourceLevel = ClassFileConstants.JDK1_6;
- options.targetJDK = ClassFileConstants.JDK1_6;
+ options.complianceLevel = Eclipse.getLatestEcjCompilerVersionConstant();
+ options.sourceLevel = Eclipse.getLatestEcjCompilerVersionConstant();
+ options.targetJDK = Eclipse.getLatestEcjCompilerVersionConstant();
+ options.docCommentSupport = false;
options.parseLiteralExpressionsAsConstants = true;
options.inlineJsrBytecode = true;
options.reportUnusedDeclaredThrownExceptionExemptExceptionAndThrowable = false;
@@ -64,7 +65,6 @@ public class RunTestsViaEcj extends AbstractRunTests {
options.reportUnusedParameterWhenOverridingConcrete = false;
options.reportDeadCodeInTrivialIfStatement = false;
options.generateClassFiles = false;
- options.docCommentSupport = false;
Map<String, String> warnings = new HashMap<String, String>();
warnings.put(CompilerOptions.OPTION_ReportUnusedLocal, "ignore");
warnings.put(CompilerOptions.OPTION_ReportUnusedLabel, "ignore");
@@ -129,10 +129,11 @@ public class RunTestsViaEcj extends AbstractRunTests {
}
}
classpath.add("dist/lombok.jar");
- classpath.add("lib/test/commons-logging.jar");
- classpath.add("lib/test/slf4j-api.jar");
- classpath.add("lib/test/slf4j-ext.jar");
- classpath.add("lib/test/log4j.jar");
+ classpath.add("lib/test/commons-logging-commons-logging.jar");
+ classpath.add("lib/test/org.slf4j-slf4j-api.jar");
+ classpath.add("lib/test/org.slf4j-slf4j-ext.jar");
+ classpath.add("lib/test/log4j-log4j.jar");
+ classpath.add("lib/test/org.apache.logging.log4j-log4j-api.jar");
return new FileSystem(classpath.toArray(new String[0]), new String[] {file.getAbsolutePath()}, "UTF-8");
}
}
diff --git a/test/pretty/resource/after/TryWithResources.java b/test/pretty/resource/after/TryWithResources.java
new file mode 100644
index 00000000..1a8b82e2
--- /dev/null
+++ b/test/pretty/resource/after/TryWithResources.java
@@ -0,0 +1,9 @@
+//version 7:
+import java.io.PrintWriter;
+public class TryWithResources {
+ {
+ try (final PrintWriter pw = new PrintWriter(System.out);) {
+ pw.println();
+ }
+ }
+}
diff --git a/test/pretty/resource/before/TryWithResources.java b/test/pretty/resource/before/TryWithResources.java
new file mode 100644
index 00000000..eb622f2c
--- /dev/null
+++ b/test/pretty/resource/before/TryWithResources.java
@@ -0,0 +1,9 @@
+//version 7:
+import java.io.PrintWriter;
+public class TryWithResources {
+ {
+ try (PrintWriter pw = new PrintWriter(System.out)) {
+ pw.println();
+ }
+ }
+}
diff --git a/test/transform/resource/after-delombok/BuilderChainAndFluent.java b/test/transform/resource/after-delombok/BuilderChainAndFluent.java
new file mode 100644
index 00000000..d4975bff
--- /dev/null
+++ b/test/transform/resource/after-delombok/BuilderChainAndFluent.java
@@ -0,0 +1,31 @@
+class BuilderChainAndFluent {
+ private final int yes;
+ @java.lang.SuppressWarnings("all")
+ BuilderChainAndFluent(final int yes) {
+ this.yes = yes;
+ }
+ @java.lang.SuppressWarnings("all")
+ public static class BuilderChainAndFluentBuilder {
+ private int yes;
+ @java.lang.SuppressWarnings("all")
+ BuilderChainAndFluentBuilder() {
+ }
+ @java.lang.SuppressWarnings("all")
+ public void setYes(final int yes) {
+ this.yes = yes;
+ }
+ @java.lang.SuppressWarnings("all")
+ public BuilderChainAndFluent build() {
+ return new BuilderChainAndFluent(yes);
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public java.lang.String toString() {
+ return "BuilderChainAndFluent.BuilderChainAndFluentBuilder(yes=" + this.yes + ")";
+ }
+ }
+ @java.lang.SuppressWarnings("all")
+ public static BuilderChainAndFluentBuilder builder() {
+ return new BuilderChainAndFluentBuilder();
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/BuilderComplex.java b/test/transform/resource/after-delombok/BuilderComplex.java
new file mode 100644
index 00000000..3c97f92a
--- /dev/null
+++ b/test/transform/resource/after-delombok/BuilderComplex.java
@@ -0,0 +1,48 @@
+import java.util.List;
+class BuilderComplex {
+ private static <T extends Number> void testVoidWithGenerics(T number, int arg2, String arg3, BuilderComplex selfRef) {
+ }
+ @java.lang.SuppressWarnings("all")
+ public static class VoidBuilder<T extends Number> {
+ private T number;
+ private int arg2;
+ private String arg3;
+ private BuilderComplex selfRef;
+ @java.lang.SuppressWarnings("all")
+ VoidBuilder() {
+ }
+ @java.lang.SuppressWarnings("all")
+ public VoidBuilder<T> number(final T number) {
+ this.number = number;
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public VoidBuilder<T> arg2(final int arg2) {
+ this.arg2 = arg2;
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public VoidBuilder<T> arg3(final String arg3) {
+ this.arg3 = arg3;
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public VoidBuilder<T> selfRef(final BuilderComplex selfRef) {
+ this.selfRef = selfRef;
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public void execute() {
+ BuilderComplex.<T>testVoidWithGenerics(number, arg2, arg3, selfRef);
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public java.lang.String toString() {
+ return "BuilderComplex.VoidBuilder(number=" + this.number + ", arg2=" + this.arg2 + ", arg3=" + this.arg3 + ", selfRef=" + this.selfRef + ")";
+ }
+ }
+ @java.lang.SuppressWarnings("all")
+ public static <T extends Number> VoidBuilder<T> builder() {
+ return new VoidBuilder<T>();
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/BuilderSimple.java b/test/transform/resource/after-delombok/BuilderSimple.java
new file mode 100644
index 00000000..11c0e58c
--- /dev/null
+++ b/test/transform/resource/after-delombok/BuilderSimple.java
@@ -0,0 +1,43 @@
+import java.util.List;
+class BuilderSimple<T> {
+ private final int noshow = 0;
+ private final int yes;
+ private List<T> also;
+ private int $butNotMe;
+ @java.lang.SuppressWarnings("all")
+ BuilderSimple(final int yes, final List<T> also) {
+ this.yes = yes;
+ this.also = also;
+ }
+ @java.lang.SuppressWarnings("all")
+ public static class BuilderSimpleBuilder<T> {
+ private int yes;
+ private List<T> also;
+ @java.lang.SuppressWarnings("all")
+ BuilderSimpleBuilder() {
+ }
+ @java.lang.SuppressWarnings("all")
+ public BuilderSimpleBuilder<T> yes(final int yes) {
+ this.yes = yes;
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public BuilderSimpleBuilder<T> also(final List<T> also) {
+ this.also = also;
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public BuilderSimple<T> build() {
+ return new BuilderSimple<T>(yes, also);
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public java.lang.String toString() {
+ return "BuilderSimple.BuilderSimpleBuilder(yes=" + this.yes + ", also=" + this.also + ")";
+ }
+ }
+ @java.lang.SuppressWarnings("all")
+ public static <T> BuilderSimpleBuilder<T> builder() {
+ return new BuilderSimpleBuilder<T>();
+ }
+}
diff --git a/test/transform/resource/after-delombok/BuilderWithExistingBuilderClass.java b/test/transform/resource/after-delombok/BuilderWithExistingBuilderClass.java
new file mode 100644
index 00000000..1d40dbfa
--- /dev/null
+++ b/test/transform/resource/after-delombok/BuilderWithExistingBuilderClass.java
@@ -0,0 +1,38 @@
+class BuilderWithExistingBuilderClass<T, K extends Number> {
+ public static <Z extends Number> BuilderWithExistingBuilderClass<String, Z> staticMethod(Z arg1, boolean arg2, String arg3) {
+ return null;
+ }
+ public static class BuilderWithExistingBuilderClassBuilder<Z extends Number> {
+ private boolean arg2;
+ private String arg3;
+ private Z arg1;
+ public void arg2(boolean arg) {
+ }
+ @java.lang.SuppressWarnings("all")
+ BuilderWithExistingBuilderClassBuilder() {
+ }
+ @java.lang.SuppressWarnings("all")
+ public BuilderWithExistingBuilderClassBuilder<Z> arg1(final Z arg1) {
+ this.arg1 = arg1;
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public BuilderWithExistingBuilderClassBuilder<Z> arg3(final String arg3) {
+ this.arg3 = arg3;
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public BuilderWithExistingBuilderClass build() {
+ return BuilderWithExistingBuilderClass.<Z>staticMethod(arg1, arg2, arg3);
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public java.lang.String toString() {
+ return "BuilderWithExistingBuilderClass.BuilderWithExistingBuilderClassBuilder(arg1=" + this.arg1 + ", arg2=" + this.arg2 + ", arg3=" + this.arg3 + ")";
+ }
+ }
+ @java.lang.SuppressWarnings("all")
+ public static <Z extends Number> BuilderWithExistingBuilderClassBuilder<Z> builder() {
+ return new BuilderWithExistingBuilderClassBuilder<Z>();
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/CommentsInterspersed.java b/test/transform/resource/after-delombok/CommentsInterspersed.java
index 5aaafe42..833f2ce0 100644
--- a/test/transform/resource/after-delombok/CommentsInterspersed.java
+++ b/test/transform/resource/after-delombok/CommentsInterspersed.java
@@ -1,9 +1,13 @@
/* cmt *//* cmt2 */ /* cmt3 */ /*bla */
public class CommentsInterspersed {
- /** javadoc for field */
+ /**
+ * javadoc for field
+ */
private int x;
/* bla2 */ private String test = "foo"; //$NON-NLS-1$
- /** Javadoc on method */
+ /**
+ * Javadoc on method
+ */
public native void gwtTest(); /*-{
javascript;
}-*/
diff --git a/test/transform/resource/after-delombok/DataOnLocalClass.java b/test/transform/resource/after-delombok/DataOnLocalClass.java
index ed4d30ca..abe2757b 100644
--- a/test/transform/resource/after-delombok/DataOnLocalClass.java
+++ b/test/transform/resource/after-delombok/DataOnLocalClass.java
@@ -63,7 +63,9 @@ class DataOnLocalClass2 {
String name;
@java.lang.SuppressWarnings("all")
public InnerLocal(@lombok.NonNull final String name) {
- if (name == null) throw new java.lang.NullPointerException("name");
+ if (name == null) {
+ throw new java.lang.NullPointerException("name");
+ }
this.name = name;
}
@lombok.NonNull
@@ -73,7 +75,9 @@ class DataOnLocalClass2 {
}
@java.lang.SuppressWarnings("all")
public void setName(@lombok.NonNull final String name) {
- if (name == null) throw new java.lang.NullPointerException("name");
+ if (name == null) {
+ throw new java.lang.NullPointerException("name");
+ }
this.name = name;
}
@java.lang.Override
diff --git a/test/transform/resource/after-delombok/DelegateOnGetter.java b/test/transform/resource/after-delombok/DelegateOnGetter.java
index 08d682a2..e8d01a49 100644
--- a/test/transform/resource/after-delombok/DelegateOnGetter.java
+++ b/test/transform/resource/after-delombok/DelegateOnGetter.java
@@ -1,12 +1,12 @@
class DelegateOnGetter {
- private final java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<Bar>> bar = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<Bar>>();
+ private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> bar = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
private interface Bar {
void setList(java.util.ArrayList<java.lang.String> list);
int getInt();
}
@java.lang.SuppressWarnings("all")
public Bar getBar() {
- java.util.concurrent.atomic.AtomicReference<Bar> value = this.bar.get();
+ java.lang.Object value = this.bar.get();
if (value == null) {
synchronized (this.bar) {
value = this.bar.get();
@@ -18,12 +18,12 @@ class DelegateOnGetter {
return 42;
}
};
- value = new java.util.concurrent.atomic.AtomicReference<Bar>(actualValue);
+ value = actualValue == null ? this.bar : actualValue;
this.bar.set(value);
}
}
}
- return value.get();
+ return (Bar)(value == this.bar ? null : value);
}
@java.lang.SuppressWarnings("all")
public void setList(final java.util.ArrayList<java.lang.String> list) {
diff --git a/test/transform/resource/after-delombok/DelegateWithDeprecated.java b/test/transform/resource/after-delombok/DelegateWithDeprecated.java
index 04e12160..f7bd1e6d 100644
--- a/test/transform/resource/after-delombok/DelegateWithDeprecated.java
+++ b/test/transform/resource/after-delombok/DelegateWithDeprecated.java
@@ -3,7 +3,9 @@ class DelegateWithDeprecated {
private interface Bar {
@Deprecated
void deprecatedAnnotation();
- /** @deprecated */
+ /**
+ * @deprecated
+ */
void deprecatedComment();
void notDeprecated();
}
diff --git a/test/transform/resource/after-delombok/EqualsAndHashCodeWithSomeExistingMethods.java b/test/transform/resource/after-delombok/EqualsAndHashCodeWithSomeExistingMethods.java
new file mode 100644
index 00000000..0a6b1e7f
--- /dev/null
+++ b/test/transform/resource/after-delombok/EqualsAndHashCodeWithSomeExistingMethods.java
@@ -0,0 +1,82 @@
+import lombok.*;
+import static lombok.AccessLevel.NONE;
+class EqualsAndHashCodeWithSomeExistingMethods {
+ int x;
+ public int hashCode() {
+ return 42;
+ }
+ @java.lang.SuppressWarnings("all")
+ public EqualsAndHashCodeWithSomeExistingMethods() {
+
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public java.lang.String toString() {
+ return "EqualsAndHashCodeWithSomeExistingMethods(x=" + this.x + ")";
+ }
+}
+class EqualsAndHashCodeWithSomeExistingMethods2 {
+ int x;
+ public boolean canEqual(Object other) {
+ return false;
+ }
+ @java.lang.SuppressWarnings("all")
+ public EqualsAndHashCodeWithSomeExistingMethods2() {
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public java.lang.String toString() {
+ return "EqualsAndHashCodeWithSomeExistingMethods2(x=" + this.x + ")";
+ }
+}
+class EqualsAndHashCodeWithAllExistingMethods {
+ int x;
+ public int hashCode() {
+ return 42;
+ }
+ public boolean equals(Object other) {
+ return false;
+ }
+ @java.lang.SuppressWarnings("all")
+ public EqualsAndHashCodeWithAllExistingMethods() {
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public java.lang.String toString() {
+ return "EqualsAndHashCodeWithAllExistingMethods(x=" + this.x + ")";
+ }
+}
+class EqualsAndHashCodeWithNoExistingMethods {
+ int x;
+ @java.lang.SuppressWarnings("all")
+ public EqualsAndHashCodeWithNoExistingMethods() {
+
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public boolean equals(final java.lang.Object o) {
+ if (o == this) return true;
+ if (!(o instanceof EqualsAndHashCodeWithNoExistingMethods)) return false;
+ final EqualsAndHashCodeWithNoExistingMethods other = (EqualsAndHashCodeWithNoExistingMethods)o;
+ if (!other.canEqual((java.lang.Object)this)) return false;
+ if (this.x != other.x) return false;
+ return true;
+ }
+ @java.lang.SuppressWarnings("all")
+ public boolean canEqual(final java.lang.Object other) {
+ return other instanceof EqualsAndHashCodeWithNoExistingMethods;
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public int hashCode() {
+ final int PRIME = 31;
+ int result = 1;
+ result = result * PRIME + this.x;
+ return result;
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public java.lang.String toString() {
+ return "EqualsAndHashCodeWithNoExistingMethods(x=" + this.x + ")";
+ }
+}
diff --git a/test/transform/resource/after-delombok/GetterDeprecated.java b/test/transform/resource/after-delombok/GetterDeprecated.java
index 3387540f..09ea9929 100644
--- a/test/transform/resource/after-delombok/GetterDeprecated.java
+++ b/test/transform/resource/after-delombok/GetterDeprecated.java
@@ -10,6 +10,9 @@ class GetterDeprecated {
public int getAnnotation() {
return this.annotation;
}
+ /**
+ * @deprecated
+ */
@java.lang.Deprecated
@java.lang.SuppressWarnings("all")
public int getJavadoc() {
diff --git a/test/transform/resource/after-delombok/GetterLazy.java b/test/transform/resource/after-delombok/GetterLazy.java
index 95be39e3..4f6f2c03 100644
--- a/test/transform/resource/after-delombok/GetterLazy.java
+++ b/test/transform/resource/after-delombok/GetterLazy.java
@@ -1,20 +1,20 @@
class GetterLazy {
static class ValueType {
}
- private final java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<ValueType>> fieldName = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<ValueType>>();
+ private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> fieldName = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
@java.lang.SuppressWarnings("all")
public ValueType getFieldName() {
- java.util.concurrent.atomic.AtomicReference<ValueType> value = this.fieldName.get();
+ java.lang.Object value = this.fieldName.get();
if (value == null) {
synchronized (this.fieldName) {
value = this.fieldName.get();
if (value == null) {
final ValueType actualValue = new ValueType();
- value = new java.util.concurrent.atomic.AtomicReference<ValueType>(actualValue);
+ value = actualValue == null ? this.fieldName : actualValue;
this.fieldName.set(value);
}
}
}
- return value.get();
+ return (ValueType)(value == this.fieldName ? null : value);
}
}
diff --git a/test/transform/resource/after-delombok/GetterLazyBoolean.java b/test/transform/resource/after-delombok/GetterLazyBoolean.java
index caab2803..08d32013 100644
--- a/test/transform/resource/after-delombok/GetterLazyBoolean.java
+++ b/test/transform/resource/after-delombok/GetterLazyBoolean.java
@@ -1,6 +1,6 @@
class GetterLazyBoolean {
- private final java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Boolean>> booleanValue = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Boolean>>();
- private final java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Boolean>> otherBooleanValue = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Boolean>>();
+ private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> booleanValue = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
+ private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> otherBooleanValue = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
private static boolean calculateBoolean() {
return true;
}
@@ -33,32 +33,32 @@ class GetterLazyBoolean {
}
@java.lang.SuppressWarnings("all")
public boolean isBooleanValue() {
- java.util.concurrent.atomic.AtomicReference<java.lang.Boolean> value = this.booleanValue.get();
+ java.lang.Object value = this.booleanValue.get();
if (value == null) {
synchronized (this.booleanValue) {
value = this.booleanValue.get();
if (value == null) {
final boolean actualValue = calculateBoolean();
- value = new java.util.concurrent.atomic.AtomicReference<java.lang.Boolean>(actualValue);
+ value = actualValue;
this.booleanValue.set(value);
}
}
}
- return value.get();
+ return (java.lang.Boolean)value;
}
@java.lang.SuppressWarnings("all")
public boolean isOtherBooleanValue() {
- java.util.concurrent.atomic.AtomicReference<java.lang.Boolean> value = this.otherBooleanValue.get();
+ java.lang.Object value = this.otherBooleanValue.get();
if (value == null) {
synchronized (this.otherBooleanValue) {
value = this.otherBooleanValue.get();
if (value == null) {
final boolean actualValue = !calculateBoolean();
- value = new java.util.concurrent.atomic.AtomicReference<java.lang.Boolean>(actualValue);
+ value = actualValue;
this.otherBooleanValue.set(value);
}
}
}
- return value.get();
+ return (java.lang.Boolean)value;
}
}
diff --git a/test/transform/resource/after-delombok/GetterLazyEahcToString.java b/test/transform/resource/after-delombok/GetterLazyEahcToString.java
index ce3555fe..1358e536 100644
--- a/test/transform/resource/after-delombok/GetterLazyEahcToString.java
+++ b/test/transform/resource/after-delombok/GetterLazyEahcToString.java
@@ -1,6 +1,6 @@
class GetterLazyEahcToString {
- private final java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<String>> value = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<String>>();
+ private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> value = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
private final String value2 = "";
@java.lang.Override
@@ -44,18 +44,18 @@ class GetterLazyEahcToString {
@java.lang.SuppressWarnings("all")
public String getValue() {
- java.util.concurrent.atomic.AtomicReference<String> value = this.value.get();
+ java.lang.Object value = this.value.get();
if (value == null) {
synchronized (this.value) {
value = this.value.get();
if (value == null) {
final String actualValue = "";
- value = new java.util.concurrent.atomic.AtomicReference<String>(actualValue);
+ value = actualValue == null ? this.value : actualValue;
this.value.set(value);
}
}
}
- return value.get();
+ return (String)(value == this.value ? null : value);
}
@java.lang.SuppressWarnings("all")
diff --git a/test/transform/resource/after-delombok/GetterLazyNative.java b/test/transform/resource/after-delombok/GetterLazyNative.java
index a10075ba..eb31991a 100644
--- a/test/transform/resource/after-delombok/GetterLazyNative.java
+++ b/test/transform/resource/after-delombok/GetterLazyNative.java
@@ -1,146 +1,146 @@
class GetterLazyNative {
- private final java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Boolean>> booleanField = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Boolean>>();
- private final java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Byte>> byteField = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Byte>>();
- private final java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Short>> shortField = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Short>>();
- private final java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Integer>> intField = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Integer>>();
- private final java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Long>> longField = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Long>>();
- private final java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Float>> floatField = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Float>>();
- private final java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Double>> doubleField = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Double>>();
- private final java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Character>> charField = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Character>>();
- private final java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<int[]>> intArrayField = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<int[]>>();
+ private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> booleanField = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
+ private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> byteField = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
+ private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> shortField = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
+ private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> intField = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
+ private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> longField = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
+ private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> floatField = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
+ private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> doubleField = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
+ private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> charField = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
+ private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> intArrayField = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
@java.lang.SuppressWarnings("all")
public boolean isBooleanField() {
- java.util.concurrent.atomic.AtomicReference<java.lang.Boolean> value = this.booleanField.get();
+ java.lang.Object value = this.booleanField.get();
if (value == null) {
synchronized (this.booleanField) {
value = this.booleanField.get();
if (value == null) {
final boolean actualValue = true;
- value = new java.util.concurrent.atomic.AtomicReference<java.lang.Boolean>(actualValue);
+ value = actualValue;
this.booleanField.set(value);
}
}
}
- return value.get();
+ return (java.lang.Boolean)value;
}
@java.lang.SuppressWarnings("all")
public byte getByteField() {
- java.util.concurrent.atomic.AtomicReference<java.lang.Byte> value = this.byteField.get();
+ java.lang.Object value = this.byteField.get();
if (value == null) {
synchronized (this.byteField) {
value = this.byteField.get();
if (value == null) {
final byte actualValue = 1;
- value = new java.util.concurrent.atomic.AtomicReference<java.lang.Byte>(actualValue);
+ value = actualValue;
this.byteField.set(value);
}
}
}
- return value.get();
+ return (java.lang.Byte)value;
}
@java.lang.SuppressWarnings("all")
public short getShortField() {
- java.util.concurrent.atomic.AtomicReference<java.lang.Short> value = this.shortField.get();
+ java.lang.Object value = this.shortField.get();
if (value == null) {
synchronized (this.shortField) {
value = this.shortField.get();
if (value == null) {
final short actualValue = 1;
- value = new java.util.concurrent.atomic.AtomicReference<java.lang.Short>(actualValue);
+ value = actualValue;
this.shortField.set(value);
}
}
}
- return value.get();
+ return (java.lang.Short)value;
}
@java.lang.SuppressWarnings("all")
public int getIntField() {
- java.util.concurrent.atomic.AtomicReference<java.lang.Integer> value = this.intField.get();
+ java.lang.Object value = this.intField.get();
if (value == null) {
synchronized (this.intField) {
value = this.intField.get();
if (value == null) {
final int actualValue = 1;
- value = new java.util.concurrent.atomic.AtomicReference<java.lang.Integer>(actualValue);
+ value = actualValue;
this.intField.set(value);
}
}
}
- return value.get();
+ return (java.lang.Integer)value;
}
@java.lang.SuppressWarnings("all")
public long getLongField() {
- java.util.concurrent.atomic.AtomicReference<java.lang.Long> value = this.longField.get();
+ java.lang.Object value = this.longField.get();
if (value == null) {
synchronized (this.longField) {
value = this.longField.get();
if (value == null) {
final long actualValue = 1;
- value = new java.util.concurrent.atomic.AtomicReference<java.lang.Long>(actualValue);
+ value = actualValue;
this.longField.set(value);
}
}
}
- return value.get();
+ return (java.lang.Long)value;
}
@java.lang.SuppressWarnings("all")
public float getFloatField() {
- java.util.concurrent.atomic.AtomicReference<java.lang.Float> value = this.floatField.get();
+ java.lang.Object value = this.floatField.get();
if (value == null) {
synchronized (this.floatField) {
value = this.floatField.get();
if (value == null) {
final float actualValue = 1.0F;
- value = new java.util.concurrent.atomic.AtomicReference<java.lang.Float>(actualValue);
+ value = actualValue;
this.floatField.set(value);
}
}
}
- return value.get();
+ return (java.lang.Float)value;
}
@java.lang.SuppressWarnings("all")
public double getDoubleField() {
- java.util.concurrent.atomic.AtomicReference<java.lang.Double> value = this.doubleField.get();
+ java.lang.Object value = this.doubleField.get();
if (value == null) {
synchronized (this.doubleField) {
value = this.doubleField.get();
if (value == null) {
final double actualValue = 1.0;
- value = new java.util.concurrent.atomic.AtomicReference<java.lang.Double>(actualValue);
+ value = actualValue;
this.doubleField.set(value);
}
}
}
- return value.get();
+ return (java.lang.Double)value;
}
@java.lang.SuppressWarnings("all")
public char getCharField() {
- java.util.concurrent.atomic.AtomicReference<java.lang.Character> value = this.charField.get();
+ java.lang.Object value = this.charField.get();
if (value == null) {
synchronized (this.charField) {
value = this.charField.get();
if (value == null) {
final char actualValue = '1';
- value = new java.util.concurrent.atomic.AtomicReference<java.lang.Character>(actualValue);
+ value = actualValue;
this.charField.set(value);
}
}
}
- return value.get();
+ return (java.lang.Character)value;
}
@java.lang.SuppressWarnings("all")
public int[] getIntArrayField() {
- java.util.concurrent.atomic.AtomicReference<int[]> value = this.intArrayField.get();
+ java.lang.Object value = this.intArrayField.get();
if (value == null) {
synchronized (this.intArrayField) {
value = this.intArrayField.get();
if (value == null) {
final int[] actualValue = new int[]{1};
- value = new java.util.concurrent.atomic.AtomicReference<int[]>(actualValue);
+ value = actualValue == null ? this.intArrayField : actualValue;
this.intArrayField.set(value);
}
}
}
- return value.get();
+ return (int[])(value == this.intArrayField ? 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
new file mode 100644
index 00000000..7bf92d1f
--- /dev/null
+++ b/test/transform/resource/after-delombok/GetterSetterJavadoc.java
@@ -0,0 +1,100 @@
+class GetterSetterJavadoc1 {
+ /**
+ * Some text
+ */
+ private int fieldName;
+ @java.lang.SuppressWarnings("all")
+ public GetterSetterJavadoc1() {
+ }
+ /**
+ * Getter section
+ *
+ * @return Sky is blue
+ */
+ @java.lang.SuppressWarnings("all")
+ public int getFieldName() {
+ return this.fieldName;
+ }
+ /**
+ * Some text
+ *
+ * @param fieldName Hello, World
+ */
+ @java.lang.SuppressWarnings("all")
+ public void setFieldName(final int fieldName) {
+ this.fieldName = fieldName;
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public boolean equals(final java.lang.Object o) {
+ if (o == this) return true;
+ if (!(o instanceof GetterSetterJavadoc1)) return false;
+ final GetterSetterJavadoc1 other = (GetterSetterJavadoc1)o;
+ if (!other.canEqual((java.lang.Object)this)) return false;
+ if (this.getFieldName() != other.getFieldName()) return false;
+ return true;
+ }
+ @java.lang.SuppressWarnings("all")
+ public boolean canEqual(final java.lang.Object other) {
+ return other instanceof GetterSetterJavadoc1;
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public int hashCode() {
+ final int PRIME = 31;
+ int result = 1;
+ result = result * PRIME + this.getFieldName();
+ return result;
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public java.lang.String toString() {
+ return "GetterSetterJavadoc1(fieldName=" + this.getFieldName() + ")";
+ }
+}
+class GetterSetterJavadoc2 {
+ /**
+ * Some text
+ */
+ private int fieldName;
+ /**
+ * Some text
+ *
+ * @return Sky is blue
+ */
+ @java.lang.SuppressWarnings("all")
+ public int getFieldName() {
+ return this.fieldName;
+ }
+ /**
+ * Some text
+ *
+ * @param fieldName Hello, World
+ */
+ @java.lang.SuppressWarnings("all")
+ public void setFieldName(final int fieldName) {
+ this.fieldName = fieldName;
+ }
+}
+class GetterSetterJavadoc3 {
+ /**
+ * Some text
+ */
+ private int fieldName;
+ /**
+ * Getter section
+ * @return Sky is blue
+ */
+ @java.lang.SuppressWarnings("all")
+ public int getFieldName() {
+ return this.fieldName;
+ }
+ /**
+ * Setter section
+ * @param fieldName Hello, World
+ */
+ @java.lang.SuppressWarnings("all")
+ public void setFieldName(final int fieldName) {
+ this.fieldName = fieldName;
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/JavadocGenerally.java b/test/transform/resource/after-delombok/JavadocGenerally.java
new file mode 100644
index 00000000..729cdce3
--- /dev/null
+++ b/test/transform/resource/after-delombok/JavadocGenerally.java
@@ -0,0 +1,24 @@
+/**
+ * Doc on package
+ */
+package testPackage;
+/** Weird doc */
+/**
+ * Doc on class
+ */
+class JavadocGenerally {
+ /**
+ * Doc on field
+ */
+ private int someField;
+ /**
+ * Doc on method
+ */
+ public void test() {
+ }
+ /**
+ * Doc on inner
+ */
+ public interface TestingInner {
+ }
+}
diff --git a/test/transform/resource/after-delombok/LoggerCommons.java b/test/transform/resource/after-delombok/LoggerCommons.java
index c2a03815..dfe3e88d 100644
--- a/test/transform/resource/after-delombok/LoggerCommons.java
+++ b/test/transform/resource/after-delombok/LoggerCommons.java
@@ -1,7 +1,6 @@
class LoggerCommons {
private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommons.class);
}
-
class LoggerCommonsWithImport {
private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsWithImport.class);
} \ 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 39cb2aac..b020c540 100644
--- a/test/transform/resource/after-delombok/LoggerJul.java
+++ b/test/transform/resource/after-delombok/LoggerJul.java
@@ -1,7 +1,6 @@
class LoggerJul {
private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJul.class.getName());
}
-
class LoggerJulWithImport {
private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJulWithImport.class.getName());
} \ 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 6892a7d8..dfbad89a 100644
--- a/test/transform/resource/after-delombok/LoggerLog4j.java
+++ b/test/transform/resource/after-delombok/LoggerLog4j.java
@@ -1,7 +1,6 @@
class LoggerLog4j {
private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4j.class);
}
-
class LoggerLog4jWithImport {
private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4jWithImport.class);
} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/LoggerLog4j2.java b/test/transform/resource/after-delombok/LoggerLog4j2.java
new file mode 100644
index 00000000..3447a9a5
--- /dev/null
+++ b/test/transform/resource/after-delombok/LoggerLog4j2.java
@@ -0,0 +1,6 @@
+class LoggerLog4j2 {
+ private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2.class);
+}
+class LoggerLog4j2WithImport {
+ private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2WithImport.class);
+} \ 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 cb1486ba..4cc7c107 100644
--- a/test/transform/resource/after-delombok/LoggerSlf4j.java
+++ b/test/transform/resource/after-delombok/LoggerSlf4j.java
@@ -1,11 +1,9 @@
class LoggerSlf4j {
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4j.class);
}
-
class LoggerSlf4jWithImport {
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4jWithImport.class);
}
-
class LoggerSlf4jOuter {
static class Inner {
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(Inner.class);
diff --git a/test/transform/resource/after-delombok/LoggerXSlf4j.java b/test/transform/resource/after-delombok/LoggerXSlf4j.java
index 0239c60b..7d8f3236 100644
--- a/test/transform/resource/after-delombok/LoggerXSlf4j.java
+++ b/test/transform/resource/after-delombok/LoggerXSlf4j.java
@@ -1,7 +1,6 @@
class LoggerXSlf4j {
private static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LoggerXSlf4j.class);
}
-
class LoggerXSlf4jWithImport {
private static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LoggerXSlf4jWithImport.class);
} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/NonNullOnParameter.java b/test/transform/resource/after-delombok/NonNullOnParameter.java
new file mode 100644
index 00000000..a27d19c9
--- /dev/null
+++ b/test/transform/resource/after-delombok/NonNullOnParameter.java
@@ -0,0 +1,48 @@
+class NonNullOnParameter extends Thread {
+ NonNullOnParameter(@lombok.NonNull String arg) {
+ this(arg, "");
+ if (arg == null) {
+ throw new java.lang.NullPointerException("arg");
+ }
+ }
+ NonNullOnParameter(@lombok.NonNull String arg, @lombok.NonNull String arg2) {
+ super(arg);
+ if (arg2 == null) {
+ throw new java.lang.NullPointerException("arg2");
+ }
+ if (arg == null) throw new NullPointerException();
+ }
+ public void test2(@lombok.NonNull String arg, @lombok.NonNull String arg2, @lombok.NonNull String arg3) {
+ if (arg == null) {
+ throw new java.lang.NullPointerException("arg");
+ }
+ if (arg3 == null) {
+ throw new java.lang.NullPointerException("arg3");
+ }
+ if (arg2 == null) {
+ throw new NullPointerException("arg2");
+ }
+ if (arg == null) System.out.println("Hello");
+ }
+ public void test3(@lombok.NonNull String arg) {
+ if (arg == null) {
+ throw new java.lang.NullPointerException("arg");
+ }
+ if (arg != null) throw new IllegalStateException();
+ }
+ public void test(@lombok.NonNull String stringArg, @lombok.NonNull String arg2, @lombok.NonNull int primitiveArg) {
+ if (stringArg == null) {
+ throw new java.lang.NullPointerException("stringArg");
+ }
+ if (arg2 == null) {
+ throw new java.lang.NullPointerException("arg2");
+ }
+ }
+ public void test(@lombok.NonNull String arg) {
+ if (arg == null) {
+ throw new java.lang.NullPointerException("arg");
+ }
+ System.out.println("Hey");
+ if (arg == null) throw new NullPointerException();
+ }
+}
diff --git a/test/transform/resource/after-delombok/NonNullPlain.java b/test/transform/resource/after-delombok/NonNullPlain.java
index 064e00b9..6b85cbf7 100644
--- a/test/transform/resource/after-delombok/NonNullPlain.java
+++ b/test/transform/resource/after-delombok/NonNullPlain.java
@@ -16,7 +16,9 @@ class NonNullPlain {
@java.beans.ConstructorProperties({"i", "s"})
@java.lang.SuppressWarnings("all")
public NonNullPlain(@lombok.NonNull final int i, @lombok.NonNull final String s) {
- if (s == null) throw new java.lang.NullPointerException("s");
+ if (s == null) {
+ throw new java.lang.NullPointerException("s");
+ }
this.i = i;
this.s = s;
}
@@ -45,7 +47,9 @@ class NonNullPlain {
@java.lang.SuppressWarnings("all")
public void setS(@lombok.NonNull final String s) {
- if (s == null) throw new java.lang.NullPointerException("s");
+ if (s == null) {
+ throw new java.lang.NullPointerException("s");
+ }
this.s = s;
}
diff --git a/test/transform/resource/after-delombok/SetterDeprecated.java b/test/transform/resource/after-delombok/SetterDeprecated.java
index 5a6cf9f3..72a609ad 100644
--- a/test/transform/resource/after-delombok/SetterDeprecated.java
+++ b/test/transform/resource/after-delombok/SetterDeprecated.java
@@ -10,6 +10,9 @@ class SetterDeprecated {
public void setAnnotation(final int annotation) {
this.annotation = annotation;
}
+ /**
+ * @deprecated
+ */
@java.lang.Deprecated
@java.lang.SuppressWarnings("all")
public void setJavadoc(final int javadoc) {
diff --git a/test/transform/resource/after-delombok/SetterOnClass.java b/test/transform/resource/after-delombok/SetterOnClass.java
index 151bc179..7077c492 100644
--- a/test/transform/resource/after-delombok/SetterOnClass.java
+++ b/test/transform/resource/after-delombok/SetterOnClass.java
@@ -53,7 +53,9 @@ class SetterOnClass6 {
}
@java.lang.SuppressWarnings("all")
public void setNonNull(@lombok.NonNull final String nonNull) {
- if (nonNull == null) throw new java.lang.NullPointerException("nonNull");
+ if (nonNull == null) {
+ throw new java.lang.NullPointerException("nonNull");
+ }
this.nonNull = nonNull;
}
} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/ValInTryWithResources.java b/test/transform/resource/after-delombok/ValInTryWithResources.java
new file mode 100644
index 00000000..73f8d1a2
--- /dev/null
+++ b/test/transform/resource/after-delombok/ValInTryWithResources.java
@@ -0,0 +1,10 @@
+//version 7
+import java.io.IOException;
+public class ValInTryWithResources {
+ public void whyTryInsteadOfCleanup() throws IOException {
+ try (final java.io.InputStream in = getClass().getResourceAsStream("ValInTryWithResources.class");) {
+ final java.io.InputStream i = in;
+ final int j = in.read();
+ }
+ }
+}
diff --git a/test/transform/resource/after-delombok/ValueExperimental.java b/test/transform/resource/after-delombok/ValueExperimental.java
new file mode 100644
index 00000000..77a48ec9
--- /dev/null
+++ b/test/transform/resource/after-delombok/ValueExperimental.java
@@ -0,0 +1,46 @@
+final class ValueExperimental1 {
+ @java.lang.SuppressWarnings("all")
+ public ValueExperimental1() {
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public boolean equals(final java.lang.Object o) {
+ if (o == this) return true;
+ if (!(o instanceof ValueExperimental1)) return false;
+ return true;
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public int hashCode() {
+ int result = 1;
+ return result;
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public java.lang.String toString() {
+ return "ValueExperimental1()";
+ }
+}
+final class ValueExperimental2 {
+ @java.lang.SuppressWarnings("all")
+ public ValueExperimental2() {
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public boolean equals(final java.lang.Object o) {
+ if (o == this) return true;
+ if (!(o instanceof ValueExperimental2)) return false;
+ return true;
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public int hashCode() {
+ int result = 1;
+ return result;
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public java.lang.String toString() {
+ return "ValueExperimental2()";
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/ValueExperimentalStarImport.java b/test/transform/resource/after-delombok/ValueExperimentalStarImport.java
new file mode 100644
index 00000000..6911f260
--- /dev/null
+++ b/test/transform/resource/after-delombok/ValueExperimentalStarImport.java
@@ -0,0 +1,25 @@
+import lombok.experimental.*;
+final class ValueExperimentalStarImport {
+ @java.lang.SuppressWarnings("all")
+ public ValueExperimentalStarImport() {
+
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public boolean equals(final java.lang.Object o) {
+ if (o == this) return true;
+ if (!(o instanceof ValueExperimentalStarImport)) return false;
+ return true;
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public int hashCode() {
+ int result = 1;
+ return result;
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public java.lang.String toString() {
+ return "ValueExperimentalStarImport()";
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/WitherDeprecated.java b/test/transform/resource/after-delombok/WitherDeprecated.java
index f076d90e..29192012 100644
--- a/test/transform/resource/after-delombok/WitherDeprecated.java
+++ b/test/transform/resource/after-delombok/WitherDeprecated.java
@@ -12,6 +12,9 @@ class WitherDeprecated {
public WitherDeprecated withAnnotation(final int annotation) {
return this.annotation == annotation ? this : new WitherDeprecated(annotation, this.javadoc);
}
+ /**
+ * @deprecated
+ */
@java.lang.Deprecated
@java.lang.SuppressWarnings("all")
public WitherDeprecated withJavadoc(final int javadoc) {
diff --git a/test/transform/resource/after-delombok/WitherOnClass.java b/test/transform/resource/after-delombok/WitherOnClass.java
index 783fede1..45d0c4b5 100644
--- a/test/transform/resource/after-delombok/WitherOnClass.java
+++ b/test/transform/resource/after-delombok/WitherOnClass.java
@@ -35,7 +35,9 @@ class WitherOnClass3 {
}
@java.lang.SuppressWarnings("all")
public WitherOnClass3 withNonNull(@lombok.NonNull final String nonNull) {
- if (nonNull == null) throw new java.lang.NullPointerException("nonNull");
+ if (nonNull == null) {
+ throw new java.lang.NullPointerException("nonNull");
+ }
return this.nonNull == nonNull ? this : new WitherOnClass3(this.couldBeNull, nonNull);
}
}
diff --git a/test/transform/resource/after-ecj/BuilderChainAndFluent.java b/test/transform/resource/after-ecj/BuilderChainAndFluent.java
new file mode 100644
index 00000000..6a307105
--- /dev/null
+++ b/test/transform/resource/after-ecj/BuilderChainAndFluent.java
@@ -0,0 +1,25 @@
+@lombok.experimental.Builder(fluent = false,chain = false) class BuilderChainAndFluent {
+ public static @java.lang.SuppressWarnings("all") class BuilderChainAndFluentBuilder {
+ private int yes;
+ @java.lang.SuppressWarnings("all") BuilderChainAndFluentBuilder() {
+ super();
+ }
+ public @java.lang.SuppressWarnings("all") void setYes(final int yes) {
+ this.yes = yes;
+ }
+ public @java.lang.SuppressWarnings("all") BuilderChainAndFluent build() {
+ return new BuilderChainAndFluent(yes);
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
+ return (("BuilderChainAndFluent.BuilderChainAndFluentBuilder(yes=" + this.yes) + ")");
+ }
+ }
+ private final int yes;
+ @java.lang.SuppressWarnings("all") BuilderChainAndFluent(final int yes) {
+ super();
+ this.yes = yes;
+ }
+ public static @java.lang.SuppressWarnings("all") BuilderChainAndFluentBuilder builder() {
+ return new BuilderChainAndFluentBuilder();
+ }
+}
diff --git a/test/transform/resource/after-ecj/BuilderComplex.java b/test/transform/resource/after-ecj/BuilderComplex.java
new file mode 100644
index 00000000..19aeb043
--- /dev/null
+++ b/test/transform/resource/after-ecj/BuilderComplex.java
@@ -0,0 +1,43 @@
+import java.util.List;
+import lombok.experimental.Builder;
+class BuilderComplex {
+ public static @java.lang.SuppressWarnings("all") class VoidBuilder<T extends Number> {
+ private T number;
+ private int arg2;
+ private String arg3;
+ private BuilderComplex selfRef;
+ @java.lang.SuppressWarnings("all") VoidBuilder() {
+ super();
+ }
+ public @java.lang.SuppressWarnings("all") VoidBuilder<T> number(final T number) {
+ this.number = number;
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") VoidBuilder<T> arg2(final int arg2) {
+ this.arg2 = arg2;
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") VoidBuilder<T> arg3(final String arg3) {
+ this.arg3 = arg3;
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") VoidBuilder<T> selfRef(final BuilderComplex selfRef) {
+ this.selfRef = selfRef;
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") void execute() {
+ BuilderComplex.<T>testVoidWithGenerics(number, arg2, arg3, selfRef);
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
+ return (((((((("BuilderComplex.VoidBuilder(number=" + this.number) + ", arg2=") + this.arg2) + ", arg3=") + this.arg3) + ", selfRef=") + this.selfRef) + ")");
+ }
+ }
+ BuilderComplex() {
+ super();
+ }
+ private static @Builder(buildMethodName = "execute") <T extends Number>void testVoidWithGenerics(T number, int arg2, String arg3, BuilderComplex selfRef) {
+ }
+ public static @java.lang.SuppressWarnings("all") <T extends Number>VoidBuilder<T> builder() {
+ return new VoidBuilder<T>();
+ }
+}
diff --git a/test/transform/resource/after-ecj/BuilderSimple.java b/test/transform/resource/after-ecj/BuilderSimple.java
new file mode 100644
index 00000000..85db360d
--- /dev/null
+++ b/test/transform/resource/after-ecj/BuilderSimple.java
@@ -0,0 +1,36 @@
+import java.util.List;
+@lombok.experimental.Builder class BuilderSimple<T> {
+ public static @java.lang.SuppressWarnings("all") class BuilderSimpleBuilder<T> {
+ private int yes;
+ private List<T> also;
+ @java.lang.SuppressWarnings("all") BuilderSimpleBuilder() {
+ super();
+ }
+ public @java.lang.SuppressWarnings("all") BuilderSimpleBuilder<T> yes(final int yes) {
+ this.yes = yes;
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") BuilderSimpleBuilder<T> also(final List<T> also) {
+ this.also = also;
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") BuilderSimple<T> build() {
+ return new BuilderSimple<T>(yes, also);
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
+ return (((("BuilderSimple.BuilderSimpleBuilder(yes=" + this.yes) + ", also=") + this.also) + ")");
+ }
+ }
+ private final int noshow = 0;
+ private final int yes;
+ private List<T> also;
+ private int $butNotMe;
+ @java.lang.SuppressWarnings("all") BuilderSimple(final int yes, final List<T> also) {
+ super();
+ this.yes = yes;
+ this.also = also;
+ }
+ public static @java.lang.SuppressWarnings("all") <T>BuilderSimpleBuilder<T> builder() {
+ return new BuilderSimpleBuilder<T>();
+ }
+}
diff --git a/test/transform/resource/after-ecj/BuilderWithExistingBuilderClass.java b/test/transform/resource/after-ecj/BuilderWithExistingBuilderClass.java
new file mode 100644
index 00000000..38cb0038
--- /dev/null
+++ b/test/transform/resource/after-ecj/BuilderWithExistingBuilderClass.java
@@ -0,0 +1,36 @@
+import lombok.experimental.Builder;
+class BuilderWithExistingBuilderClass<T, K extends Number> {
+ public static class BuilderWithExistingBuilderClassBuilder<Z extends Number> {
+ private boolean arg2;
+ private String arg3;
+ private Z arg1;
+ public void arg2(boolean arg) {
+ }
+ @java.lang.SuppressWarnings("all") BuilderWithExistingBuilderClassBuilder() {
+ super();
+ }
+ public @java.lang.SuppressWarnings("all") BuilderWithExistingBuilderClassBuilder<Z> arg1(final Z arg1) {
+ this.arg1 = arg1;
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") BuilderWithExistingBuilderClassBuilder<Z> arg3(final String arg3) {
+ this.arg3 = arg3;
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") BuilderWithExistingBuilderClass<String, Z> build() {
+ return BuilderWithExistingBuilderClass.<Z>staticMethod(arg1, arg2, arg3);
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
+ return (((((("BuilderWithExistingBuilderClass.BuilderWithExistingBuilderClassBuilder(arg1=" + this.arg1) + ", arg2=") + this.arg2) + ", arg3=") + this.arg3) + ")");
+ }
+ }
+ BuilderWithExistingBuilderClass() {
+ super();
+ }
+ public static @Builder <Z extends Number>BuilderWithExistingBuilderClass<String, Z> staticMethod(Z arg1, boolean arg2, String arg3) {
+ return null;
+ }
+ public static @java.lang.SuppressWarnings("all") <Z extends Number>BuilderWithExistingBuilderClassBuilder<Z> builder() {
+ return new BuilderWithExistingBuilderClassBuilder<Z>();
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-ecj/DataOnLocalClass.java b/test/transform/resource/after-ecj/DataOnLocalClass.java
index 137edf50..2f8dcca1 100644
--- a/test/transform/resource/after-ecj/DataOnLocalClass.java
+++ b/test/transform/resource/after-ecj/DataOnLocalClass.java
@@ -63,7 +63,9 @@ class DataOnLocalClass2 {
}
public @java.lang.SuppressWarnings("all") void setName(final @lombok.NonNull String name) {
if ((name == null))
- throw new java.lang.NullPointerException("name");
+ {
+ throw new java.lang.NullPointerException("name");
+ }
this.name = name;
}
public @java.lang.Override @java.lang.SuppressWarnings("all") boolean equals(final java.lang.Object o) {
@@ -96,7 +98,9 @@ class DataOnLocalClass2 {
public @java.lang.SuppressWarnings("all") InnerLocal(final @lombok.NonNull String name) {
super();
if ((name == null))
- throw new java.lang.NullPointerException("name");
+ {
+ throw new java.lang.NullPointerException("name");
+ }
this.name = name;
}
}
diff --git a/test/transform/resource/after-ecj/DelegateOnGetter.java b/test/transform/resource/after-ecj/DelegateOnGetter.java
index 4eab3791..59f6a3b8 100644
--- a/test/transform/resource/after-ecj/DelegateOnGetter.java
+++ b/test/transform/resource/after-ecj/DelegateOnGetter.java
@@ -5,12 +5,12 @@ class DelegateOnGetter {
void setList(java.util.ArrayList<java.lang.String> list);
int getInt();
}
- private final @Delegate @Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<Bar>> bar = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<Bar>>();
+ private final @Delegate @Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.lang.Object> bar = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
DelegateOnGetter() {
super();
}
public @Delegate @java.lang.SuppressWarnings("all") Bar getBar() {
- java.util.concurrent.atomic.AtomicReference<Bar> value = this.bar.get();
+ java.lang.Object value = this.bar.get();
if ((value == null))
{
synchronized (this.bar)
@@ -28,12 +28,12 @@ class DelegateOnGetter {
return 42;
}
};
- value = new java.util.concurrent.atomic.AtomicReference<Bar>(actualValue);
+ value = ((actualValue == null) ? this.bar : actualValue);
this.bar.set(value);
}
}
}
- return value.get();
+ return (Bar) ((value == this.bar) ? null : value);
}
public @java.lang.SuppressWarnings("all") int getInt() {
return this.getBar().getInt();
diff --git a/test/transform/resource/after-ecj/EqualsAndHashCodeWithSomeExistingMethods.java b/test/transform/resource/after-ecj/EqualsAndHashCodeWithSomeExistingMethods.java
new file mode 100644
index 00000000..cdd771a4
--- /dev/null
+++ b/test/transform/resource/after-ecj/EqualsAndHashCodeWithSomeExistingMethods.java
@@ -0,0 +1,71 @@
+import lombok.*;
+import static lombok.AccessLevel.NONE;
+@Data @Getter(NONE) @Setter(NONE) class EqualsAndHashCodeWithSomeExistingMethods {
+ int x;
+ public int hashCode() {
+ return 42;
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
+ return (("EqualsAndHashCodeWithSomeExistingMethods(x=" + this.x) + ")");
+ }
+ public @java.lang.SuppressWarnings("all") EqualsAndHashCodeWithSomeExistingMethods() {
+ super();
+ }
+}
+@Data @Getter(NONE) @Setter(NONE) class EqualsAndHashCodeWithSomeExistingMethods2 {
+ int x;
+ public boolean canEqual(Object other) {
+ return false;
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
+ return (("EqualsAndHashCodeWithSomeExistingMethods2(x=" + this.x) + ")");
+ }
+ public @java.lang.SuppressWarnings("all") EqualsAndHashCodeWithSomeExistingMethods2() {
+ super();
+ }
+}
+@Data @Getter(NONE) @Setter(NONE) class EqualsAndHashCodeWithAllExistingMethods {
+ int x;
+ public int hashCode() {
+ return 42;
+ }
+ public boolean equals(Object other) {
+ return false;
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
+ return (("EqualsAndHashCodeWithAllExistingMethods(x=" + this.x) + ")");
+ }
+ public @java.lang.SuppressWarnings("all") EqualsAndHashCodeWithAllExistingMethods() {
+ super();
+ }
+}
+@Data @Getter(AccessLevel.NONE) @Setter(lombok.AccessLevel.NONE) class EqualsAndHashCodeWithNoExistingMethods {
+ int x;
+ public @java.lang.Override @java.lang.SuppressWarnings("all") boolean equals(final java.lang.Object o) {
+ if ((o == this))
+ return true;
+ if ((! (o instanceof EqualsAndHashCodeWithNoExistingMethods)))
+ return false;
+ final @java.lang.SuppressWarnings("all") EqualsAndHashCodeWithNoExistingMethods other = (EqualsAndHashCodeWithNoExistingMethods) o;
+ if ((! other.canEqual((java.lang.Object) this)))
+ return false;
+ if ((this.x != other.x))
+ return false;
+ return true;
+ }
+ public @java.lang.SuppressWarnings("all") boolean canEqual(final java.lang.Object other) {
+ return (other instanceof EqualsAndHashCodeWithNoExistingMethods);
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
+ final int PRIME = 31;
+ int result = 1;
+ result = ((result * PRIME) + this.x);
+ return result;
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
+ return (("EqualsAndHashCodeWithNoExistingMethods(x=" + this.x) + ")");
+ }
+ public @java.lang.SuppressWarnings("all") EqualsAndHashCodeWithNoExistingMethods() {
+ super();
+ }
+}
diff --git a/test/transform/resource/after-ecj/GetterLazy.java b/test/transform/resource/after-ecj/GetterLazy.java
index 0f5027b9..8394f58d 100644
--- a/test/transform/resource/after-ecj/GetterLazy.java
+++ b/test/transform/resource/after-ecj/GetterLazy.java
@@ -4,12 +4,12 @@ class GetterLazy {
super();
}
}
- private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<ValueType>> fieldName = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<ValueType>>();
+ private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.lang.Object> fieldName = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
GetterLazy() {
super();
}
public @java.lang.SuppressWarnings("all") ValueType getFieldName() {
- java.util.concurrent.atomic.AtomicReference<ValueType> value = this.fieldName.get();
+ java.lang.Object value = this.fieldName.get();
if ((value == null))
{
synchronized (this.fieldName)
@@ -18,11 +18,11 @@ class GetterLazy {
if ((value == null))
{
final ValueType actualValue = new ValueType();
- value = new java.util.concurrent.atomic.AtomicReference<ValueType>(actualValue);
+ value = ((actualValue == null) ? this.fieldName : actualValue);
this.fieldName.set(value);
}
}
}
- return value.get();
+ return (ValueType) ((value == this.fieldName) ? null : value);
}
}
diff --git a/test/transform/resource/after-ecj/GetterLazyBoolean.java b/test/transform/resource/after-ecj/GetterLazyBoolean.java
index 8c890827..a51b164f 100644
--- a/test/transform/resource/after-ecj/GetterLazyBoolean.java
+++ b/test/transform/resource/after-ecj/GetterLazyBoolean.java
@@ -1,6 +1,6 @@
@lombok.EqualsAndHashCode(of = "booleanValue") @lombok.ToString(of = "booleanValue") class GetterLazyBoolean {
- private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Boolean>> booleanValue = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Boolean>>();
- private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Boolean>> otherBooleanValue = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Boolean>>();
+ private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.lang.Object> booleanValue = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
+ private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.lang.Object> otherBooleanValue = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
GetterLazyBoolean() {
super();
}
@@ -8,7 +8,7 @@
return true;
}
public @java.lang.SuppressWarnings("all") boolean isBooleanValue() {
- java.util.concurrent.atomic.AtomicReference<java.lang.Boolean> value = this.booleanValue.get();
+ java.lang.Object value = this.booleanValue.get();
if ((value == null))
{
synchronized (this.booleanValue)
@@ -17,15 +17,15 @@
if ((value == null))
{
final boolean actualValue = calculateBoolean();
- value = new java.util.concurrent.atomic.AtomicReference<java.lang.Boolean>(actualValue);
+ value = actualValue;
this.booleanValue.set(value);
}
}
}
- return value.get();
+ return (java.lang.Boolean) value;
}
public @java.lang.SuppressWarnings("all") boolean isOtherBooleanValue() {
- java.util.concurrent.atomic.AtomicReference<java.lang.Boolean> value = this.otherBooleanValue.get();
+ java.lang.Object value = this.otherBooleanValue.get();
if ((value == null))
{
synchronized (this.otherBooleanValue)
@@ -34,12 +34,12 @@
if ((value == null))
{
final boolean actualValue = (! calculateBoolean());
- value = new java.util.concurrent.atomic.AtomicReference<java.lang.Boolean>(actualValue);
+ value = actualValue;
this.otherBooleanValue.set(value);
}
}
}
- return value.get();
+ return (java.lang.Boolean) value;
}
public @java.lang.Override @java.lang.SuppressWarnings("all") boolean equals(final java.lang.Object o) {
if ((o == this))
diff --git a/test/transform/resource/after-ecj/GetterLazyEahcToString.java b/test/transform/resource/after-ecj/GetterLazyEahcToString.java
index 1ca848af..db2d4fcf 100644
--- a/test/transform/resource/after-ecj/GetterLazyEahcToString.java
+++ b/test/transform/resource/after-ecj/GetterLazyEahcToString.java
@@ -1,11 +1,11 @@
@lombok.EqualsAndHashCode(doNotUseGetters = true) @lombok.ToString(doNotUseGetters = true) class GetterLazyEahcToString {
- private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<String>> value = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<String>>();
+ private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.lang.Object> value = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
private final @lombok.Getter String value2 = "";
GetterLazyEahcToString() {
super();
}
public @java.lang.SuppressWarnings("all") String getValue() {
- java.util.concurrent.atomic.AtomicReference<String> value = this.value.get();
+ java.lang.Object value = this.value.get();
if ((value == null))
{
synchronized (this.value)
@@ -14,12 +14,12 @@
if ((value == null))
{
final String actualValue = "";
- value = new java.util.concurrent.atomic.AtomicReference<String>(actualValue);
+ value = ((actualValue == null) ? this.value : actualValue);
this.value.set(value);
}
}
}
- return value.get();
+ return (String) ((value == this.value) ? null : value);
}
public @java.lang.SuppressWarnings("all") String getValue2() {
return this.value2;
diff --git a/test/transform/resource/after-ecj/GetterLazyNative.java b/test/transform/resource/after-ecj/GetterLazyNative.java
index b67abfc9..db70f2f4 100644
--- a/test/transform/resource/after-ecj/GetterLazyNative.java
+++ b/test/transform/resource/after-ecj/GetterLazyNative.java
@@ -1,18 +1,18 @@
class GetterLazyNative {
- private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Boolean>> booleanField = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Boolean>>();
- private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Byte>> byteField = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Byte>>();
- private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Short>> shortField = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Short>>();
- private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Integer>> intField = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Integer>>();
- private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Long>> longField = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Long>>();
- private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Float>> floatField = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Float>>();
- private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Double>> doubleField = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Double>>();
- private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Character>> charField = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<java.lang.Character>>();
- private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<int[]>> intArrayField = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<int[]>>();
+ private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.lang.Object> booleanField = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
+ private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.lang.Object> byteField = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
+ private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.lang.Object> shortField = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
+ private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.lang.Object> intField = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
+ private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.lang.Object> longField = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
+ private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.lang.Object> floatField = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
+ private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.lang.Object> doubleField = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
+ private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.lang.Object> charField = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
+ private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.lang.Object> intArrayField = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
GetterLazyNative() {
super();
}
public @java.lang.SuppressWarnings("all") boolean isBooleanField() {
- java.util.concurrent.atomic.AtomicReference<java.lang.Boolean> value = this.booleanField.get();
+ java.lang.Object value = this.booleanField.get();
if ((value == null))
{
synchronized (this.booleanField)
@@ -21,15 +21,15 @@ class GetterLazyNative {
if ((value == null))
{
final boolean actualValue = true;
- value = new java.util.concurrent.atomic.AtomicReference<java.lang.Boolean>(actualValue);
+ value = actualValue;
this.booleanField.set(value);
}
}
}
- return value.get();
+ return (java.lang.Boolean) value;
}
public @java.lang.SuppressWarnings("all") byte getByteField() {
- java.util.concurrent.atomic.AtomicReference<java.lang.Byte> value = this.byteField.get();
+ java.lang.Object value = this.byteField.get();
if ((value == null))
{
synchronized (this.byteField)
@@ -38,15 +38,15 @@ class GetterLazyNative {
if ((value == null))
{
final byte actualValue = 1;
- value = new java.util.concurrent.atomic.AtomicReference<java.lang.Byte>(actualValue);
+ value = actualValue;
this.byteField.set(value);
}
}
}
- return value.get();
+ return (java.lang.Byte) value;
}
public @java.lang.SuppressWarnings("all") short getShortField() {
- java.util.concurrent.atomic.AtomicReference<java.lang.Short> value = this.shortField.get();
+ java.lang.Object value = this.shortField.get();
if ((value == null))
{
synchronized (this.shortField)
@@ -55,15 +55,15 @@ class GetterLazyNative {
if ((value == null))
{
final short actualValue = 1;
- value = new java.util.concurrent.atomic.AtomicReference<java.lang.Short>(actualValue);
+ value = actualValue;
this.shortField.set(value);
}
}
}
- return value.get();
+ return (java.lang.Short) value;
}
public @java.lang.SuppressWarnings("all") int getIntField() {
- java.util.concurrent.atomic.AtomicReference<java.lang.Integer> value = this.intField.get();
+ java.lang.Object value = this.intField.get();
if ((value == null))
{
synchronized (this.intField)
@@ -72,15 +72,15 @@ class GetterLazyNative {
if ((value == null))
{
final int actualValue = 1;
- value = new java.util.concurrent.atomic.AtomicReference<java.lang.Integer>(actualValue);
+ value = actualValue;
this.intField.set(value);
}
}
}
- return value.get();
+ return (java.lang.Integer) value;
}
public @java.lang.SuppressWarnings("all") long getLongField() {
- java.util.concurrent.atomic.AtomicReference<java.lang.Long> value = this.longField.get();
+ java.lang.Object value = this.longField.get();
if ((value == null))
{
synchronized (this.longField)
@@ -89,15 +89,15 @@ class GetterLazyNative {
if ((value == null))
{
final long actualValue = 1;
- value = new java.util.concurrent.atomic.AtomicReference<java.lang.Long>(actualValue);
+ value = actualValue;
this.longField.set(value);
}
}
}
- return value.get();
+ return (java.lang.Long) value;
}
public @java.lang.SuppressWarnings("all") float getFloatField() {
- java.util.concurrent.atomic.AtomicReference<java.lang.Float> value = this.floatField.get();
+ java.lang.Object value = this.floatField.get();
if ((value == null))
{
synchronized (this.floatField)
@@ -106,15 +106,15 @@ class GetterLazyNative {
if ((value == null))
{
final float actualValue = 1.0f;
- value = new java.util.concurrent.atomic.AtomicReference<java.lang.Float>(actualValue);
+ value = actualValue;
this.floatField.set(value);
}
}
}
- return value.get();
+ return (java.lang.Float) value;
}
public @java.lang.SuppressWarnings("all") double getDoubleField() {
- java.util.concurrent.atomic.AtomicReference<java.lang.Double> value = this.doubleField.get();
+ java.lang.Object value = this.doubleField.get();
if ((value == null))
{
synchronized (this.doubleField)
@@ -123,15 +123,15 @@ class GetterLazyNative {
if ((value == null))
{
final double actualValue = 1.0;
- value = new java.util.concurrent.atomic.AtomicReference<java.lang.Double>(actualValue);
+ value = actualValue;
this.doubleField.set(value);
}
}
}
- return value.get();
+ return (java.lang.Double) value;
}
public @java.lang.SuppressWarnings("all") char getCharField() {
- java.util.concurrent.atomic.AtomicReference<java.lang.Character> value = this.charField.get();
+ java.lang.Object value = this.charField.get();
if ((value == null))
{
synchronized (this.charField)
@@ -140,15 +140,15 @@ class GetterLazyNative {
if ((value == null))
{
final char actualValue = '1';
- value = new java.util.concurrent.atomic.AtomicReference<java.lang.Character>(actualValue);
+ value = actualValue;
this.charField.set(value);
}
}
}
- return value.get();
+ return (java.lang.Character) value;
}
public @java.lang.SuppressWarnings("all") int[] getIntArrayField() {
- java.util.concurrent.atomic.AtomicReference<int[]> value = this.intArrayField.get();
+ java.lang.Object value = this.intArrayField.get();
if ((value == null))
{
synchronized (this.intArrayField)
@@ -157,11 +157,11 @@ class GetterLazyNative {
if ((value == null))
{
final int[] actualValue = new int[]{1};
- value = new java.util.concurrent.atomic.AtomicReference<int[]>(actualValue);
+ value = ((actualValue == null) ? this.intArrayField : actualValue);
this.intArrayField.set(value);
}
}
}
- return value.get();
+ return (int[]) ((value == this.intArrayField) ? null : value);
}
}
diff --git a/test/transform/resource/after-ecj/GetterSetterJavadoc.java b/test/transform/resource/after-ecj/GetterSetterJavadoc.java
new file mode 100644
index 00000000..73f26180
--- /dev/null
+++ b/test/transform/resource/after-ecj/GetterSetterJavadoc.java
@@ -0,0 +1,60 @@
+@lombok.Data class GetterSetterJavadoc1 {
+ private int fieldName;
+ public @java.lang.SuppressWarnings("all") int getFieldName() {
+ return this.fieldName;
+ }
+ public @java.lang.SuppressWarnings("all") void setFieldName(final int fieldName) {
+ this.fieldName = fieldName;
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") boolean equals(final java.lang.Object o) {
+ if ((o == this))
+ return true;
+ if ((! (o instanceof GetterSetterJavadoc1)))
+ return false;
+ final @java.lang.SuppressWarnings("all") GetterSetterJavadoc1 other = (GetterSetterJavadoc1) o;
+ if ((! other.canEqual((java.lang.Object) this)))
+ return false;
+ if ((this.getFieldName() != other.getFieldName()))
+ return false;
+ return true;
+ }
+ public @java.lang.SuppressWarnings("all") boolean canEqual(final java.lang.Object other) {
+ return (other instanceof GetterSetterJavadoc1);
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
+ final int PRIME = 31;
+ int result = 1;
+ result = ((result * PRIME) + this.getFieldName());
+ return result;
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
+ return (("GetterSetterJavadoc1(fieldName=" + this.getFieldName()) + ")");
+ }
+ public @java.lang.SuppressWarnings("all") GetterSetterJavadoc1() {
+ super();
+ }
+}
+class GetterSetterJavadoc2 {
+ private @lombok.Getter @lombok.Setter int fieldName;
+ GetterSetterJavadoc2() {
+ super();
+ }
+ public @java.lang.SuppressWarnings("all") int getFieldName() {
+ return this.fieldName;
+ }
+ public @java.lang.SuppressWarnings("all") void setFieldName(final int fieldName) {
+ this.fieldName = fieldName;
+ }
+}
+class GetterSetterJavadoc3 {
+ private @lombok.Getter @lombok.Setter int fieldName;
+ GetterSetterJavadoc3() {
+ super();
+ }
+ public @java.lang.SuppressWarnings("all") int getFieldName() {
+ return this.fieldName;
+ }
+ public @java.lang.SuppressWarnings("all") void setFieldName(final int fieldName) {
+ this.fieldName = fieldName;
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-ecj/JavadocGenerally.java b/test/transform/resource/after-ecj/JavadocGenerally.java
new file mode 100644
index 00000000..be9ed756
--- /dev/null
+++ b/test/transform/resource/after-ecj/JavadocGenerally.java
@@ -0,0 +1,11 @@
+package testPackage;
+class JavadocGenerally {
+ public interface TestingInner {
+ }
+ private int someField;
+ JavadocGenerally() {
+ super();
+ }
+ public void test() {
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-ecj/LoggerLog4j2.java b/test/transform/resource/after-ecj/LoggerLog4j2.java
new file mode 100644
index 00000000..c1368e5d
--- /dev/null
+++ b/test/transform/resource/after-ecj/LoggerLog4j2.java
@@ -0,0 +1,17 @@
+import lombok.extern.log4j.Log4j2;
+@lombok.extern.log4j.Log4j2 class LoggerLog4j2 {
+ private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2.class);
+ <clinit>() {
+ }
+ LoggerLog4j2() {
+ super();
+ }
+}
+@Log4j2 class LoggerLog4j2WithImport {
+ private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2WithImport.class);
+ <clinit>() {
+ }
+ LoggerLog4j2WithImport() {
+ super();
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-ecj/NonNullOnParameter.java b/test/transform/resource/after-ecj/NonNullOnParameter.java
new file mode 100644
index 00000000..bbceb153
--- /dev/null
+++ b/test/transform/resource/after-ecj/NonNullOnParameter.java
@@ -0,0 +1,61 @@
+class NonNullOnParameter extends Thread {
+ NonNullOnParameter(@lombok.NonNull String arg) {
+ this(arg, "");
+ if ((arg == null))
+ {
+ throw new java.lang.NullPointerException("arg");
+ }
+ }
+ NonNullOnParameter(@lombok.NonNull String arg, @lombok.NonNull String arg2) {
+ super(arg);
+ if ((arg2 == null))
+ {
+ throw new java.lang.NullPointerException("arg2");
+ }
+ if ((arg == null))
+ throw new NullPointerException();
+ }
+ public void test2(@lombok.NonNull String arg, @lombok.NonNull String arg2, @lombok.NonNull String arg3) {
+ if ((arg == null))
+ {
+ throw new java.lang.NullPointerException("arg");
+ }
+ if ((arg3 == null))
+ {
+ throw new java.lang.NullPointerException("arg3");
+ }
+ if ((arg2 == null))
+ {
+ throw new NullPointerException("arg2");
+ }
+ if ((arg == null))
+ System.out.println("Hello");
+ }
+ public void test3(@lombok.NonNull String arg) {
+ if ((arg == null))
+ {
+ throw new java.lang.NullPointerException("arg");
+ }
+ if ((arg != null))
+ throw new IllegalStateException();
+ }
+ public void test(@lombok.NonNull String stringArg, @lombok.NonNull String arg2, @lombok.NonNull int primitiveArg) {
+ if ((stringArg == null))
+ {
+ throw new java.lang.NullPointerException("stringArg");
+ }
+ if ((arg2 == null))
+ {
+ throw new java.lang.NullPointerException("arg2");
+ }
+ }
+ public void test(@lombok.NonNull String arg) {
+ if ((arg == null))
+ {
+ throw new java.lang.NullPointerException("arg");
+ }
+ System.out.println("Hey");
+ if ((arg == null))
+ throw new NullPointerException();
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-ecj/NonNullPlain.java b/test/transform/resource/after-ecj/NonNullPlain.java
index c9c96d0a..6e937f6a 100644
--- a/test/transform/resource/after-ecj/NonNullPlain.java
+++ b/test/transform/resource/after-ecj/NonNullPlain.java
@@ -8,7 +8,9 @@ import java.lang.annotation.*;
public @java.beans.ConstructorProperties({"i", "s"}) @java.lang.SuppressWarnings("all") NonNullPlain(final @lombok.NonNull int i, final @lombok.NonNull String s) {
super();
if ((s == null))
- throw new java.lang.NullPointerException("s");
+ {
+ throw new java.lang.NullPointerException("s");
+ }
this.i = i;
this.s = s;
}
@@ -26,7 +28,9 @@ import java.lang.annotation.*;
}
public @java.lang.SuppressWarnings("all") void setS(final @lombok.NonNull String s) {
if ((s == null))
- throw new java.lang.NullPointerException("s");
+ {
+ throw new java.lang.NullPointerException("s");
+ }
this.s = s;
}
public @java.lang.SuppressWarnings("all") void setO(final Object o) {
diff --git a/test/transform/resource/after-ecj/SetterOnClass.java b/test/transform/resource/after-ecj/SetterOnClass.java
index da928f24..aa3459bb 100644
--- a/test/transform/resource/after-ecj/SetterOnClass.java
+++ b/test/transform/resource/after-ecj/SetterOnClass.java
@@ -63,7 +63,9 @@
}
public @java.lang.SuppressWarnings("all") void setNonNull(final @lombok.NonNull String nonNull) {
if ((nonNull == null))
- throw new java.lang.NullPointerException("nonNull");
+ {
+ throw new java.lang.NullPointerException("nonNull");
+ }
this.nonNull = nonNull;
}
}
diff --git a/test/transform/resource/after-ecj/ValueExperimental.java b/test/transform/resource/after-ecj/ValueExperimental.java
new file mode 100644
index 00000000..dd13574a
--- /dev/null
+++ b/test/transform/resource/after-ecj/ValueExperimental.java
@@ -0,0 +1,39 @@
+import lombok.experimental.Value;
+final @Value class ValueExperimental1 {
+ public @java.lang.Override @java.lang.SuppressWarnings("all") boolean equals(final java.lang.Object o) {
+ if ((o == this))
+ return true;
+ if ((! (o instanceof ValueExperimental1)))
+ return false;
+ return true;
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
+ int result = 1;
+ return result;
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
+ return "ValueExperimental1()";
+ }
+ public @java.lang.SuppressWarnings("all") ValueExperimental1() {
+ super();
+ }
+}
+final @lombok.experimental.Value class ValueExperimental2 {
+ public @java.lang.Override @java.lang.SuppressWarnings("all") boolean equals(final java.lang.Object o) {
+ if ((o == this))
+ return true;
+ if ((! (o instanceof ValueExperimental2)))
+ return false;
+ return true;
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
+ int result = 1;
+ return result;
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
+ return "ValueExperimental2()";
+ }
+ public @java.lang.SuppressWarnings("all") ValueExperimental2() {
+ super();
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-ecj/ValueExperimentalStarImport.java b/test/transform/resource/after-ecj/ValueExperimentalStarImport.java
new file mode 100644
index 00000000..b69e85d9
--- /dev/null
+++ b/test/transform/resource/after-ecj/ValueExperimentalStarImport.java
@@ -0,0 +1,20 @@
+import lombok.experimental.*;
+final @Value class ValueExperimentalStarImport {
+ public @java.lang.Override @java.lang.SuppressWarnings("all") boolean equals(final java.lang.Object o) {
+ if ((o == this))
+ return true;
+ if ((! (o instanceof ValueExperimentalStarImport)))
+ return false;
+ return true;
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
+ int result = 1;
+ return result;
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
+ return "ValueExperimentalStarImport()";
+ }
+ public @java.lang.SuppressWarnings("all") ValueExperimentalStarImport() {
+ super();
+ }
+}
diff --git a/test/transform/resource/after-ecj/ValuePlain.java b/test/transform/resource/after-ecj/ValuePlain.java
index b798b308..d095913f 100644
--- a/test/transform/resource/after-ecj/ValuePlain.java
+++ b/test/transform/resource/after-ecj/ValuePlain.java
@@ -1,5 +1,5 @@
-import lombok.experimental.Value;
-final @lombok.experimental.Value class Value1 {
+import lombok.Value;
+final @lombok.Value class Value1 {
private final int x;
private final String name;
public @java.lang.SuppressWarnings("all") int getX() {
diff --git a/test/transform/resource/after-ecj/WitherOnClass.java b/test/transform/resource/after-ecj/WitherOnClass.java
index ff4566e5..82132e87 100644
--- a/test/transform/resource/after-ecj/WitherOnClass.java
+++ b/test/transform/resource/after-ecj/WitherOnClass.java
@@ -33,7 +33,9 @@
}
public @java.lang.SuppressWarnings("all") WitherOnClass3 withNonNull(final @lombok.NonNull String nonNull) {
if ((nonNull == null))
- throw new java.lang.NullPointerException("nonNull");
+ {
+ throw new java.lang.NullPointerException("nonNull");
+ }
return ((this.nonNull == nonNull) ? this : new WitherOnClass3(this.couldBeNull, nonNull));
}
}
diff --git a/test/transform/resource/before/BuilderChainAndFluent.java b/test/transform/resource/before/BuilderChainAndFluent.java
new file mode 100644
index 00000000..4d08741b
--- /dev/null
+++ b/test/transform/resource/before/BuilderChainAndFluent.java
@@ -0,0 +1,4 @@
+@lombok.experimental.Builder(fluent = false, chain = false)
+class BuilderChainAndFluent {
+ private final int yes;
+}
diff --git a/test/transform/resource/before/BuilderComplex.java b/test/transform/resource/before/BuilderComplex.java
new file mode 100644
index 00000000..590a2723
--- /dev/null
+++ b/test/transform/resource/before/BuilderComplex.java
@@ -0,0 +1,7 @@
+import java.util.List;
+import lombok.experimental.Builder;
+
+class BuilderComplex {
+ @Builder(buildMethodName = "execute")
+ private static <T extends Number> void testVoidWithGenerics(T number, int arg2, String arg3, BuilderComplex selfRef) {}
+}
diff --git a/test/transform/resource/before/BuilderInvalidUse.java b/test/transform/resource/before/BuilderInvalidUse.java
new file mode 100644
index 00000000..07f37d3d
--- /dev/null
+++ b/test/transform/resource/before/BuilderInvalidUse.java
@@ -0,0 +1,18 @@
+@lombok.experimental.Builder
+class BuilderInvalidUse {
+ private int something;
+
+ @lombok.Getter @lombok.Setter @lombok.experimental.FieldDefaults(makeFinal = true) @lombok.experimental.Wither @lombok.Data @lombok.ToString @lombok.EqualsAndHashCode
+ @lombok.AllArgsConstructor
+ public static class BuilderInvalidUseBuilder {
+
+ }
+}
+
+@lombok.experimental.Builder
+class AlsoInvalid {
+ @lombok.Value
+ public static class AlsoInvalidBuilder {
+
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/before/BuilderSimple.java b/test/transform/resource/before/BuilderSimple.java
new file mode 100644
index 00000000..c749bb6c
--- /dev/null
+++ b/test/transform/resource/before/BuilderSimple.java
@@ -0,0 +1,9 @@
+import java.util.List;
+
+@lombok.experimental.Builder
+class BuilderSimple<T> {
+ private final int noshow = 0;
+ private final int yes;
+ private List<T> also;
+ private int $butNotMe;
+}
diff --git a/test/transform/resource/before/BuilderWithExistingBuilderClass.java b/test/transform/resource/before/BuilderWithExistingBuilderClass.java
new file mode 100644
index 00000000..262e3b85
--- /dev/null
+++ b/test/transform/resource/before/BuilderWithExistingBuilderClass.java
@@ -0,0 +1,15 @@
+import lombok.experimental.Builder;
+
+class BuilderWithExistingBuilderClass<T, K extends Number> {
+ @Builder
+ public static <Z extends Number> BuilderWithExistingBuilderClass<String, Z> staticMethod(Z arg1, boolean arg2, String arg3) {
+ return null;
+ }
+
+ public static class BuilderWithExistingBuilderClassBuilder<Z extends Number> {
+ private Z arg1;
+
+ public void arg2(boolean arg) {
+ }
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/before/CommentsInterspersed.java b/test/transform/resource/before/CommentsInterspersed.java
index e7898aaa..23a1060b 100644
--- a/test/transform/resource/before/CommentsInterspersed.java
+++ b/test/transform/resource/before/CommentsInterspersed.java
@@ -1,12 +1,16 @@
import /* cmt */ lombok./* cmt2 */Getter /* cmt3 */ ;
public /*bla */ class CommentsInterspersed {
- /** javadoc for field */
+ /**
+ * javadoc for field
+ */
private int x;
private /* bla2 */ @Getter String test = "foo"; //$NON-NLS-1$
- /** Javadoc on method */
+ /**
+ * Javadoc on method
+ */
public native void gwtTest(); /*-{
javascript;
}-*/
diff --git a/test/transform/resource/before/DelegateWithDeprecated.java b/test/transform/resource/before/DelegateWithDeprecated.java
index b748c6ec..064e951d 100644
--- a/test/transform/resource/before/DelegateWithDeprecated.java
+++ b/test/transform/resource/before/DelegateWithDeprecated.java
@@ -6,7 +6,9 @@ class DelegateWithDeprecated {
private interface Bar {
@Deprecated
void deprecatedAnnotation();
- /** @deprecated */
+ /**
+ * @deprecated
+ */
void deprecatedComment();
void notDeprecated();
}
diff --git a/test/transform/resource/before/EqualsAndHashCodeWithSomeExistingMethods.java b/test/transform/resource/before/EqualsAndHashCodeWithSomeExistingMethods.java
new file mode 100644
index 00000000..784e3b3f
--- /dev/null
+++ b/test/transform/resource/before/EqualsAndHashCodeWithSomeExistingMethods.java
@@ -0,0 +1,47 @@
+import lombok.*;
+import static lombok.AccessLevel.NONE;
+
+@Data
+@Getter(NONE)
+@Setter(NONE)
+class EqualsAndHashCodeWithSomeExistingMethods {
+ int x;
+
+ public int hashCode() {
+ return 42;
+ }
+}
+
+@Data
+@Getter(NONE)
+@Setter(NONE)
+class EqualsAndHashCodeWithSomeExistingMethods2 {
+ int x;
+
+ public boolean canEqual(Object other) {
+ return false;
+ }
+}
+
+@Data
+@Getter(NONE)
+@Setter(NONE)
+class EqualsAndHashCodeWithAllExistingMethods {
+ int x;
+
+ public int hashCode() {
+ return 42;
+ }
+
+ public boolean equals(Object other) {
+ return false;
+ }
+}
+
+@Data
+@Getter(AccessLevel.NONE)
+@Setter(lombok.AccessLevel.NONE)
+class EqualsAndHashCodeWithNoExistingMethods {
+ int x;
+}
+
diff --git a/test/transform/resource/before/GetterSetterJavadoc.java b/test/transform/resource/before/GetterSetterJavadoc.java
new file mode 100644
index 00000000..e3ae0aac
--- /dev/null
+++ b/test/transform/resource/before/GetterSetterJavadoc.java
@@ -0,0 +1,37 @@
+@lombok.Data
+class GetterSetterJavadoc1 {
+ /**
+ * Some text
+ *
+ * @param fieldName Hello, World
+ * --- GETTER ---
+ * Getter section
+ *
+ * @return Sky is blue
+ */
+ private int fieldName;
+}
+
+class GetterSetterJavadoc2 {
+ /**
+ * Some text
+ *
+ * @param fieldName Hello, World
+ * @return Sky is blue
+ */
+ @lombok.Getter @lombok.Setter private int fieldName;
+}
+
+class GetterSetterJavadoc3 {
+ /**
+ * Some text
+ *
+ * **SETTER**
+ * Setter section
+ * @param fieldName Hello, World
+ * **GETTER**
+ * Getter section
+ * @return Sky is blue
+ */
+ @lombok.Getter @lombok.Setter private int fieldName;
+}
diff --git a/test/transform/resource/before/JavadocGenerally.java b/test/transform/resource/before/JavadocGenerally.java
new file mode 100644
index 00000000..ee015acf
--- /dev/null
+++ b/test/transform/resource/before/JavadocGenerally.java
@@ -0,0 +1,27 @@
+/**
+ * Doc on package
+ */
+package testPackage;
+
+/** Weird doc */
+/**
+ * Doc on class
+ */
+class JavadocGenerally {
+ /**
+ * Doc on field
+ */
+ private int someField;
+
+ /**
+ * Doc on method
+ */
+ public void test() {
+ }
+
+ /**
+ * Doc on inner
+ */
+ public interface TestingInner {
+ }
+}
diff --git a/test/transform/resource/before/LoggerLog4j2.java b/test/transform/resource/before/LoggerLog4j2.java
new file mode 100644
index 00000000..b7ea99ee
--- /dev/null
+++ b/test/transform/resource/before/LoggerLog4j2.java
@@ -0,0 +1,9 @@
+import lombok.extern.log4j.Log4j2;
+
+@lombok.extern.log4j.Log4j2
+class LoggerLog4j2 {
+}
+
+@Log4j2
+class LoggerLog4j2WithImport {
+} \ No newline at end of file
diff --git a/test/transform/resource/before/NonNullOnParameter.java b/test/transform/resource/before/NonNullOnParameter.java
new file mode 100644
index 00000000..7eb4c565
--- /dev/null
+++ b/test/transform/resource/before/NonNullOnParameter.java
@@ -0,0 +1,30 @@
+class NonNullOnParameter extends Thread {
+ NonNullOnParameter(@lombok.NonNull String arg) {
+ this(arg, "");
+ }
+
+ NonNullOnParameter(@lombok.NonNull String arg, @lombok.NonNull String arg2) {
+ super(arg);
+ if (arg == null) throw new NullPointerException();
+ }
+
+ public void test2(@lombok.NonNull String arg, @lombok.NonNull String arg2, @lombok.NonNull String arg3) {
+ if (arg2 == null) {
+ throw new NullPointerException("arg2");
+ }
+ if (arg == null) System.out.println("Hello");
+ }
+
+ public void test3(@lombok.NonNull String arg) {
+ if (arg != null) throw new IllegalStateException();
+ }
+
+ public void test(@lombok.NonNull String stringArg, @lombok.NonNull String arg2, @lombok.NonNull int primitiveArg) {
+
+ }
+
+ public void test(@lombok.NonNull String arg) {
+ System.out.println("Hey");
+ if (arg == null) throw new NullPointerException();
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/before/ValInTryWithResources.java b/test/transform/resource/before/ValInTryWithResources.java
new file mode 100644
index 00000000..780e1c71
--- /dev/null
+++ b/test/transform/resource/before/ValInTryWithResources.java
@@ -0,0 +1,12 @@
+//version 7
+import lombok.val;
+import java.io.IOException;
+
+public class ValInTryWithResources {
+ public void whyTryInsteadOfCleanup() throws IOException {
+ try (val in = getClass().getResourceAsStream("ValInTryWithResources.class")) {
+ val i = in;
+ val j = in.read();
+ }
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/before/ValueExperimental.java b/test/transform/resource/before/ValueExperimental.java
new file mode 100644
index 00000000..6bae26a0
--- /dev/null
+++ b/test/transform/resource/before/ValueExperimental.java
@@ -0,0 +1,9 @@
+import lombok.experimental.Value;
+
+@Value
+class ValueExperimental1 {
+}
+
+@lombok.experimental.Value
+class ValueExperimental2 {
+} \ No newline at end of file
diff --git a/test/transform/resource/before/ValueExperimentalStarImport.java b/test/transform/resource/before/ValueExperimentalStarImport.java
new file mode 100644
index 00000000..5f18cffe
--- /dev/null
+++ b/test/transform/resource/before/ValueExperimentalStarImport.java
@@ -0,0 +1,5 @@
+import lombok.experimental.*;
+
+@Value
+class ValueExperimentalStarImport {
+} \ No newline at end of file
diff --git a/test/transform/resource/before/ValuePlain.java b/test/transform/resource/before/ValuePlain.java
index 39c583cc..3fe33705 100644
--- a/test/transform/resource/before/ValuePlain.java
+++ b/test/transform/resource/before/ValuePlain.java
@@ -1,5 +1,5 @@
-import lombok.experimental.Value;
-@lombok.experimental.Value class Value1 {
+import lombok.Value;
+@lombok.Value class Value1 {
final int x;
String name;
}
diff --git a/test/transform/resource/messages-delombok/BuilderInvalidUse.java.messages b/test/transform/resource/messages-delombok/BuilderInvalidUse.java.messages
new file mode 100644
index 00000000..aeeb0c86
--- /dev/null
+++ b/test/transform/resource/messages-delombok/BuilderInvalidUse.java.messages
@@ -0,0 +1,2 @@
+1:1 @Getter, @Setter, @Wither, @Data, @ToString, @EqualsAndHashCode, @AllArgsConstructor are not allowed on builder classes.
+12:1 @Value is not allowed on builder classes. \ No newline at end of file
diff --git a/test/transform/resource/messages-delombok/EqualsAndHashCodeWithSomeExistingMethods.java.messages b/test/transform/resource/messages-delombok/EqualsAndHashCodeWithSomeExistingMethods.java.messages
new file mode 100644
index 00000000..9a0b29f3
--- /dev/null
+++ b/test/transform/resource/messages-delombok/EqualsAndHashCodeWithSomeExistingMethods.java.messages
@@ -0,0 +1,2 @@
+4:1 Not generating equals: One of equals, hashCode, and canEqual exists. You should either write all of these are none of these (in the latter case, lombok generates them).
+15:1 Not generating equals and hashCode: One of equals, hashCode, and canEqual exists. You should either write all of these are none of these (in the latter case, lombok generates them).
diff --git a/test/transform/resource/messages-delombok/NonNullOnParameter.java.messages b/test/transform/resource/messages-delombok/NonNullOnParameter.java.messages
new file mode 100644
index 00000000..ac87adcd
--- /dev/null
+++ b/test/transform/resource/messages-delombok/NonNullOnParameter.java.messages
@@ -0,0 +1 @@
+22:89 @NonNull is meaningless on a primitive.
diff --git a/test/transform/resource/messages-delombok/NonNullPlain.java.messages b/test/transform/resource/messages-delombok/NonNullPlain.java.messages
new file mode 100644
index 00000000..67eb8abe
--- /dev/null
+++ b/test/transform/resource/messages-delombok/NonNullPlain.java.messages
@@ -0,0 +1 @@
+7:9 @NonNull is meaningless on a primitive. \ No newline at end of file
diff --git a/test/transform/resource/messages-ecj/BuilderInvalidUse.java.messages b/test/transform/resource/messages-ecj/BuilderInvalidUse.java.messages
new file mode 100644
index 00000000..8ffc6e26
--- /dev/null
+++ b/test/transform/resource/messages-ecj/BuilderInvalidUse.java.messages
@@ -0,0 +1,2 @@
+1:0 @Getter, @Setter, @FieldDefaults, @Wither, @Data, @ToString, @EqualsAndHashCode, @AllArgsConstructor are not allowed on builder classes.
+12:331 @Value is not allowed on builder classes. \ No newline at end of file
diff --git a/test/transform/resource/messages-ecj/EqualsAndHashCodeWithSomeExistingMethods.java.messages b/test/transform/resource/messages-ecj/EqualsAndHashCodeWithSomeExistingMethods.java.messages
new file mode 100644
index 00000000..cf6ebea2
--- /dev/null
+++ b/test/transform/resource/messages-ecj/EqualsAndHashCodeWithSomeExistingMethods.java.messages
@@ -0,0 +1,2 @@
+4:57 Not generating equals: One of equals, hashCode, and canEqual exists. You should either write all of these are none of these (in the latter case, lombok generates them).
+15:194 Not generating equals and hashCode: One of equals, hashCode, and canEqual exists. You should either write all of these are none of these (in the latter case, lombok generates them).
diff --git a/test/transform/resource/messages-ecj/NonNullOnParameter.java.messages b/test/transform/resource/messages-ecj/NonNullOnParameter.java.messages
new file mode 100644
index 00000000..1539929b
--- /dev/null
+++ b/test/transform/resource/messages-ecj/NonNullOnParameter.java.messages
@@ -0,0 +1,3 @@
+15:460 Dead code
+22:683 @NonNull is meaningless on a primitive.
+28:823 Dead code \ No newline at end of file
diff --git a/test/transform/resource/messages-ecj/NonNullPlain.java.messages b/test/transform/resource/messages-ecj/NonNullPlain.java.messages
new file mode 100644
index 00000000..96eed252
--- /dev/null
+++ b/test/transform/resource/messages-ecj/NonNullPlain.java.messages
@@ -0,0 +1 @@
+7:116 @NonNull is meaningless on a primitive. \ No newline at end of file
diff --git a/test/transform/resource/messages-ecj/ValueExperimental.java.messages b/test/transform/resource/messages-ecj/ValueExperimental.java.messages
new file mode 100644
index 00000000..db4520ca
--- /dev/null
+++ b/test/transform/resource/messages-ecj/ValueExperimental.java.messages
@@ -0,0 +1 @@
+1:7 The type Value is deprecated \ No newline at end of file
diff --git a/test/transform/resource/messages-idempotent/NonNullOnParameter.java.messages b/test/transform/resource/messages-idempotent/NonNullOnParameter.java.messages
new file mode 100644
index 00000000..fd23a32a
--- /dev/null
+++ b/test/transform/resource/messages-idempotent/NonNullOnParameter.java.messages
@@ -0,0 +1 @@
+33:89 @NonNull is meaningless on a primitive. \ No newline at end of file
diff --git a/test/transform/resource/messages-idempotent/NonNullPlain.java.messages b/test/transform/resource/messages-idempotent/NonNullPlain.java.messages
new file mode 100644
index 00000000..c48da311
--- /dev/null
+++ b/test/transform/resource/messages-idempotent/NonNullPlain.java.messages
@@ -0,0 +1,3 @@
+4:9 @NonNull is meaningless on a primitive.
+18:29 @NonNull is meaningless on a primitive.
+44:26 @NonNull is meaningless on a primitive. \ No newline at end of file