aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReinier Zwitserloot <reinier@zwitserloot.com>2010-07-22 01:33:24 +0200
committerReinier Zwitserloot <reinier@zwitserloot.com>2010-07-22 01:33:24 +0200
commit483e23d3853aa37a19390019fcf0db97ac8bc1d4 (patch)
tree1794c6fc66136f962ee4c9c6a229e39c0af827e5
parent59e585a0c68959eb72be34524bdad19df5dc8a4d (diff)
downloadlombok-483e23d3853aa37a19390019fcf0db97ac8bc1d4.tar.gz
lombok-483e23d3853aa37a19390019fcf0db97ac8bc1d4.tar.bz2
lombok-483e23d3853aa37a19390019fcf0db97ac8bc1d4.zip
Added tests for ecj, fixed a few minor bugs that came out of that.
-rw-r--r--src/core/lombok/eclipse/handlers/HandleEqualsAndHashCode.java1
-rw-r--r--src/core/lombok/javac/handlers/HandleEqualsAndHashCode.java2
-rw-r--r--src/core/lombok/javac/handlers/HandleSneakyThrows.java2
-rw-r--r--test/core/src/lombok/AbstractRunTests.java4
-rw-r--r--test/core/src/lombok/RunTestsViaDelombok.java9
-rw-r--r--test/core/src/lombok/RunTestsViaEcj.java6
-rw-r--r--test/transform/resource/after-delombok/GetterWithDollar.java6
-rw-r--r--test/transform/resource/after-delombok/NonNullPlain.java8
-rw-r--r--test/transform/resource/after-delombok/SetterWithDollar.java10
-rw-r--r--test/transform/resource/after-delombok/SneakyThrowsMultiple.java12
-rw-r--r--test/transform/resource/after-delombok/SneakyThrowsPlain.java4
-rw-r--r--test/transform/resource/after-delombok/SneakyThrowsSingle.java6
-rw-r--r--test/transform/resource/after-delombok/SynchronizedName.java10
-rw-r--r--test/transform/resource/after-ecj/ClassNamedAfterGetter.java9
-rw-r--r--test/transform/resource/after-ecj/CleanupName.java27
-rw-r--r--test/transform/resource/after-ecj/CleanupPlain.java29
-rw-r--r--test/transform/resource/after-ecj/CommentsInterspersed.java12
-rw-r--r--test/transform/resource/after-ecj/DataExtended.java33
-rw-r--r--test/transform/resource/after-ecj/DataIgnore.java32
-rw-r--r--test/transform/resource/after-ecj/DataPlain.java83
-rw-r--r--test/transform/resource/after-ecj/GetterAccessLevel.java43
-rw-r--r--test/transform/resource/after-ecj/GetterAlreadyExists.java186
-rw-r--r--test/transform/resource/after-ecj/GetterBoolean.java26
-rw-r--r--test/transform/resource/after-ecj/GetterOnClass.java67
-rw-r--r--test/transform/resource/after-ecj/GetterPlain.java14
-rw-r--r--test/transform/resource/after-ecj/GetterWithDollar.java22
-rw-r--r--test/transform/resource/after-ecj/NonNullPlain.java21
-rw-r--r--test/transform/resource/after-ecj/SetterAccessLevel.java26
-rw-r--r--test/transform/resource/after-ecj/SetterAlreadyExists.java56
-rw-r--r--test/transform/resource/after-ecj/SetterOnClass.java69
-rw-r--r--test/transform/resource/after-ecj/SetterPlain.java14
-rw-r--r--test/transform/resource/after-ecj/SetterWithDollar.java22
-rw-r--r--test/transform/resource/after-ecj/SneakyThrowsMultiple.java63
-rw-r--r--test/transform/resource/after-ecj/SneakyThrowsPlain.java24
-rw-r--r--test/transform/resource/after-ecj/SneakyThrowsSingle.java35
-rw-r--r--test/transform/resource/after-ecj/SynchronizedName.java36
-rw-r--r--test/transform/resource/after-ecj/SynchronizedPlain.java37
-rw-r--r--test/transform/resource/after-ecj/ToStringInner.java43
-rw-r--r--test/transform/resource/after-ecj/ToStringPlain.java21
-rw-r--r--test/transform/resource/before/GetterWithDollar.java1
-rw-r--r--test/transform/resource/before/NonNullPlain.java1
-rw-r--r--test/transform/resource/before/SetterWithDollar.java1
-rw-r--r--test/transform/resource/before/SneakyThrowsMultiple.java4
-rw-r--r--test/transform/resource/before/SynchronizedName.java1
-rw-r--r--test/transform/resource/messages-delombok/SynchronizedName.java.messages1
-rw-r--r--test/transform/resource/messages-ecj/GetterAlreadyExists.java.messages10
-rw-r--r--test/transform/resource/messages-ecj/GetterBoolean.java.messages1
-rw-r--r--test/transform/resource/messages-ecj/SetterAlreadyExists.java.messages7
-rw-r--r--test/transform/resource/messages-ecj/SynchronizedName.java.messages1
-rw-r--r--test/transform/src/lombok/transform/TestWithEcj.java56
50 files changed, 1180 insertions, 34 deletions
diff --git a/src/core/lombok/eclipse/handlers/HandleEqualsAndHashCode.java b/src/core/lombok/eclipse/handlers/HandleEqualsAndHashCode.java
index 2142618f..e501c3f1 100644
--- a/src/core/lombok/eclipse/handlers/HandleEqualsAndHashCode.java
+++ b/src/core/lombok/eclipse/handlers/HandleEqualsAndHashCode.java
@@ -527,6 +527,7 @@ public class HandleEqualsAndHashCode implements EclipseAnnotationHandler<EqualsA
/* MyType<?> other = (MyType<?>) o; */ {
if (!fields.isEmpty()) {
LocalDeclaration other = new LocalDeclaration(otherN, pS, pE);
+ other.modifiers |= ClassFileConstants.AccFinal;
Eclipse.setGeneratedBy(other, source);
char[] typeName = typeDecl.name;
Expression targetType;
diff --git a/src/core/lombok/javac/handlers/HandleEqualsAndHashCode.java b/src/core/lombok/javac/handlers/HandleEqualsAndHashCode.java
index 20ede725..ee049f1f 100644
--- a/src/core/lombok/javac/handlers/HandleEqualsAndHashCode.java
+++ b/src/core/lombok/javac/handlers/HandleEqualsAndHashCode.java
@@ -412,7 +412,7 @@ public class HandleEqualsAndHashCode implements JavacAnnotationHandler<EqualsAnd
} else /* objects */ {
/* if (this.fieldName == null ? other.fieldName != null : !this.fieldName.equals(other.fieldName)) return false; */
JCExpression thisEqualsNull = maker.Binary(JCTree.EQ, thisFieldAccessor, maker.Literal(TypeTags.BOT, null));
- JCExpression otherNotEqualsNull = maker.Binary(JCTree.NE, thisFieldAccessor, maker.Literal(TypeTags.BOT, null));
+ JCExpression otherNotEqualsNull = maker.Binary(JCTree.NE, otherFieldAccessor, maker.Literal(TypeTags.BOT, null));
JCExpression thisEqualsThat = maker.Apply(List.<JCExpression>nil(),
maker.Select(createFieldAccessor(maker, fieldNode, useFieldsDirectly), typeNode.toName("equals")),
List.of(createFieldAccessor(maker, fieldNode, useFieldsDirectly, maker.Ident(otherName))));
diff --git a/src/core/lombok/javac/handlers/HandleSneakyThrows.java b/src/core/lombok/javac/handlers/HandleSneakyThrows.java
index fda8805c..b2337f67 100644
--- a/src/core/lombok/javac/handlers/HandleSneakyThrows.java
+++ b/src/core/lombok/javac/handlers/HandleSneakyThrows.java
@@ -102,7 +102,7 @@ public class HandleSneakyThrows implements JavacAnnotationHandler<SneakyThrows>
JCExpression varType = chainDots(maker, node, exception.split("\\."));
- JCVariableDecl catchParam = maker.VarDef(maker.Modifiers(0), node.toName("$ex"), varType, null);
+ JCVariableDecl catchParam = maker.VarDef(maker.Modifiers(Flags.FINAL), node.toName("$ex"), varType, null);
JCExpression lombokLombokSneakyThrowNameRef = chainDots(maker, node, "lombok", "Lombok", "sneakyThrow");
JCBlock catchBody = maker.Block(0, List.<JCStatement>of(maker.Throw(maker.Apply(
List.<JCExpression>nil(), lombokLombokSneakyThrowNameRef,
diff --git a/test/core/src/lombok/AbstractRunTests.java b/test/core/src/lombok/AbstractRunTests.java
index ad9c45af..4241646b 100644
--- a/test/core/src/lombok/AbstractRunTests.java
+++ b/test/core/src/lombok/AbstractRunTests.java
@@ -83,6 +83,10 @@ public abstract class AbstractRunTests {
System.out.println(expectedFile);
System.out.println("**** Actual ******");
System.out.println(actualFile);
+ if (actualMessages != null && !actualMessages.isEmpty()) {
+ System.out.println("**** Actual Errors *****");
+ System.out.println(actualMessages);
+ }
System.out.println("*******************");
}
throw e;
diff --git a/test/core/src/lombok/RunTestsViaDelombok.java b/test/core/src/lombok/RunTestsViaDelombok.java
index 7f99b99e..50fad33e 100644
--- a/test/core/src/lombok/RunTestsViaDelombok.java
+++ b/test/core/src/lombok/RunTestsViaDelombok.java
@@ -24,6 +24,8 @@ package lombok;
import java.io.File;
import java.io.StringWriter;
import java.util.Locale;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import javax.tools.Diagnostic;
import javax.tools.DiagnosticListener;
@@ -35,14 +37,17 @@ public class RunTestsViaDelombok extends AbstractRunTests {
private Delombok delombok = new Delombok();
@Override
- public void transformCode(final StringBuilder messages, StringWriter result, File file) throws Throwable {
+ public void transformCode(final StringBuilder messages, StringWriter result, final File file) throws Throwable {
delombok.setVerbose(false);
delombok.setForceProcess(true);
delombok.setCharset("UTF-8");
delombok.setDiagnosticsListener(new DiagnosticListener<JavaFileObject>() {
@Override public void report(Diagnostic<? extends JavaFileObject> d) {
- messages.append(String.format("%d:%d %s %s\n", d.getLineNumber(), d.getColumnNumber(), d.getKind(), d.getMessage(Locale.ENGLISH)));
+ String msg = d.getMessage(Locale.ENGLISH);
+ Matcher m = Pattern.compile("^" + Pattern.quote(file.getAbsolutePath()) + "\\s*:\\s*\\d+\\s*:\\s*(?:warning:\\s*)?(.*)$").matcher(msg);
+ if (m.matches()) msg = m.group(1);
+ messages.append(String.format("%d:%d %s %s\n", d.getLineNumber(), d.getColumnNumber(), d.getKind(), msg));
}
});
diff --git a/test/core/src/lombok/RunTestsViaEcj.java b/test/core/src/lombok/RunTestsViaEcj.java
index 3f7d6e81..fa1501bc 100644
--- a/test/core/src/lombok/RunTestsViaEcj.java
+++ b/test/core/src/lombok/RunTestsViaEcj.java
@@ -47,8 +47,10 @@ public class RunTestsViaEcj extends AbstractRunTests {
TransformEclipseAST.transform(parser, cud);
- for (CategorizedProblem p : compilationResult.getErrors()) {
- messages.append(p.toString()).append("\n");
+ CategorizedProblem[] problems = compilationResult.getAllProblems();
+
+ if (problems != null) for (CategorizedProblem p : problems) {
+ messages.append(String.format("%d %s %s\n", p.getSourceLineNumber(), p.isError() ? "error" : p.isWarning() ? "warning" : "unknown", p.getMessage()));
}
result.append(cud.toString());
diff --git a/test/transform/resource/after-delombok/GetterWithDollar.java b/test/transform/resource/after-delombok/GetterWithDollar.java
index 9e02ccb8..520f4ea5 100644
--- a/test/transform/resource/after-delombok/GetterWithDollar.java
+++ b/test/transform/resource/after-delombok/GetterWithDollar.java
@@ -1,7 +1,7 @@
class GetterWithDollar1 {
int $i;
@java.lang.SuppressWarnings("all")
- public int getI() {
+ public int get$i() {
return this.$i;
}
}
@@ -9,6 +9,10 @@ class GetterWithDollar2 {
int $i;
int i;
@java.lang.SuppressWarnings("all")
+ public int get$i() {
+ return this.$i;
+ }
+ @java.lang.SuppressWarnings("all")
public int getI() {
return this.i;
}
diff --git a/test/transform/resource/after-delombok/NonNullPlain.java b/test/transform/resource/after-delombok/NonNullPlain.java
index 19869db1..0c58425c 100644
--- a/test/transform/resource/after-delombok/NonNullPlain.java
+++ b/test/transform/resource/after-delombok/NonNullPlain.java
@@ -3,15 +3,15 @@ class NonNullPlain {
int i;
@lombok.NonNull
String s;
+ @java.lang.SuppressWarnings("all")
+ public void setI(@lombok.NonNull final int i) {
+ this.i = i;
+ }
@lombok.NonNull
@java.lang.SuppressWarnings("all")
public int getI() {
return this.i;
}
- @java.lang.SuppressWarnings("all")
- public void setI(@lombok.NonNull final int i) {
- this.i = i;
- }
@lombok.NonNull
@java.lang.SuppressWarnings("all")
public String getS() {
diff --git a/test/transform/resource/after-delombok/SetterWithDollar.java b/test/transform/resource/after-delombok/SetterWithDollar.java
index c26a1ccd..974efdcd 100644
--- a/test/transform/resource/after-delombok/SetterWithDollar.java
+++ b/test/transform/resource/after-delombok/SetterWithDollar.java
@@ -1,14 +1,20 @@
class SetterWithDollar1 {
int $i;
- public void setI(final int i) {
- this.$i = i;
+ @java.lang.SuppressWarnings("all")
+ public void set$i(final int $i) {
+ this.$i = $i;
}
}
class SetterWithDollar2 {
int $i;
int i;
+ @java.lang.SuppressWarnings("all")
+ public void set$i(final int $i) {
+ this.$i = $i;
+ }
+ @java.lang.SuppressWarnings("all")
public void setI(final int i) {
this.i = i;
}
diff --git a/test/transform/resource/after-delombok/SneakyThrowsMultiple.java b/test/transform/resource/after-delombok/SneakyThrowsMultiple.java
index bab13990..42b275c6 100644
--- a/test/transform/resource/after-delombok/SneakyThrowsMultiple.java
+++ b/test/transform/resource/after-delombok/SneakyThrowsMultiple.java
@@ -7,10 +7,10 @@ class SneakyThrowsMultiple {
try {
System.out.println("test1");
throw new IOException();
- } catch (IOException $ex) {
+ } catch (final IOException $ex) {
throw lombok.Lombok.sneakyThrow($ex);
}
- } catch (Throwable $ex) {
+ } catch (final Throwable $ex) {
throw lombok.Lombok.sneakyThrow($ex);
}
}
@@ -23,10 +23,10 @@ class SneakyThrowsMultiple {
} else {
throw new AWTException("WHAT");
}
- } catch (AWTException $ex) {
+ } catch (final AWTException $ex) {
throw lombok.Lombok.sneakyThrow($ex);
}
- } catch (IOException $ex) {
+ } catch (final IOException $ex) {
throw lombok.Lombok.sneakyThrow($ex);
}
}
@@ -35,10 +35,10 @@ class SneakyThrowsMultiple {
try {
System.out.println("test3");
throw new IOException();
- } catch (IOException $ex) {
+ } catch (final IOException $ex) {
throw lombok.Lombok.sneakyThrow($ex);
}
- } catch (Throwable $ex) {
+ } catch (final Throwable $ex) {
throw lombok.Lombok.sneakyThrow($ex);
}
}
diff --git a/test/transform/resource/after-delombok/SneakyThrowsPlain.java b/test/transform/resource/after-delombok/SneakyThrowsPlain.java
index d5abc478..28c39b40 100644
--- a/test/transform/resource/after-delombok/SneakyThrowsPlain.java
+++ b/test/transform/resource/after-delombok/SneakyThrowsPlain.java
@@ -2,7 +2,7 @@ class SneakyThrowsPlain {
public void test() {
try {
System.out.println("test1");
- } catch (java.lang.Throwable $ex) {
+ } catch (final java.lang.Throwable $ex) {
throw lombok.Lombok.sneakyThrow($ex);
}
}
@@ -10,7 +10,7 @@ class SneakyThrowsPlain {
public void test2() {
try {
System.out.println("test2");
- } catch (java.lang.Throwable $ex) {
+ } catch (final java.lang.Throwable $ex) {
throw lombok.Lombok.sneakyThrow($ex);
}
}
diff --git a/test/transform/resource/after-delombok/SneakyThrowsSingle.java b/test/transform/resource/after-delombok/SneakyThrowsSingle.java
index 519d06a9..8901f827 100644
--- a/test/transform/resource/after-delombok/SneakyThrowsSingle.java
+++ b/test/transform/resource/after-delombok/SneakyThrowsSingle.java
@@ -3,7 +3,7 @@ class SneakyThrowsSingle {
public void test() {
try {
System.out.println("test1");
- } catch (Throwable $ex) {
+ } catch (final Throwable $ex) {
throw lombok.Lombok.sneakyThrow($ex);
}
}
@@ -11,7 +11,7 @@ class SneakyThrowsSingle {
try {
System.out.println("test2");
throw new IOException();
- } catch (IOException $ex) {
+ } catch (final IOException $ex) {
throw lombok.Lombok.sneakyThrow($ex);
}
}
@@ -19,7 +19,7 @@ class SneakyThrowsSingle {
try {
System.out.println("test3");
throw new IOException();
- } catch (IOException $ex) {
+ } catch (final IOException $ex) {
throw lombok.Lombok.sneakyThrow($ex);
}
}
diff --git a/test/transform/resource/after-delombok/SynchronizedName.java b/test/transform/resource/after-delombok/SynchronizedName.java
index 066e3bdf..e7dd23ff 100644
--- a/test/transform/resource/after-delombok/SynchronizedName.java
+++ b/test/transform/resource/after-delombok/SynchronizedName.java
@@ -2,7 +2,7 @@ class SynchronizedName {
private Object read = new Object();
private static Object READ = new Object();
void test1() {
- synchronized (read) {
+ synchronized (this.read) {
System.out.println("one");
}
}
@@ -10,15 +10,17 @@ class SynchronizedName {
System.out.println("two");
}
static void test3() {
- System.out.println("three");
+ synchronized (SynchronizedName.read) {
+ System.out.println("three");
+ }
}
void test4() {
- synchronized (READ) {
+ synchronized (this.READ) {
System.out.println("four");
}
}
void test5() {
- synchronized (read) {
+ synchronized (this.read) {
System.out.println("five");
}
}
diff --git a/test/transform/resource/after-ecj/ClassNamedAfterGetter.java b/test/transform/resource/after-ecj/ClassNamedAfterGetter.java
new file mode 100644
index 00000000..fdb6f122
--- /dev/null
+++ b/test/transform/resource/after-ecj/ClassNamedAfterGetter.java
@@ -0,0 +1,9 @@
+class GetFoo {
+ private @lombok.Getter int foo;
+ GetFoo() {
+ super();
+ }
+ public @java.lang.SuppressWarnings("all") int getFoo() {
+ return this.foo;
+ }
+}
diff --git a/test/transform/resource/after-ecj/CleanupName.java b/test/transform/resource/after-ecj/CleanupName.java
new file mode 100644
index 00000000..944a81e1
--- /dev/null
+++ b/test/transform/resource/after-ecj/CleanupName.java
@@ -0,0 +1,27 @@
+class CleanupName {
+ CleanupName() {
+ super();
+ }
+ void test() {
+ @lombok.Cleanup("toString") Object o = "Hello World!";
+ try
+ {
+ System.out.println(o);
+ }
+ finally
+ {
+ o.toString();
+ }
+ }
+ void test2() {
+ @lombok.Cleanup(value = "toString") Object o = "Hello World too!";
+ try
+ {
+ System.out.println(o);
+ }
+ finally
+ {
+ o.toString();
+ }
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-ecj/CleanupPlain.java b/test/transform/resource/after-ecj/CleanupPlain.java
new file mode 100644
index 00000000..6754b4f6
--- /dev/null
+++ b/test/transform/resource/after-ecj/CleanupPlain.java
@@ -0,0 +1,29 @@
+import lombok.Cleanup;
+import java.io.*;
+class CleanupPlain {
+ CleanupPlain() {
+ super();
+ }
+ void test() throws Exception {
+ @lombok.Cleanup InputStream in = new FileInputStream("in");
+ try
+ {
+ @Cleanup OutputStream out = new FileOutputStream("out");
+ try
+ {
+ if (in.markSupported())
+ {
+ out.flush();
+ }
+ }
+ finally
+ {
+ out.close();
+ }
+ }
+ finally
+ {
+ in.close();
+ }
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-ecj/CommentsInterspersed.java b/test/transform/resource/after-ecj/CommentsInterspersed.java
new file mode 100644
index 00000000..d708ad72
--- /dev/null
+++ b/test/transform/resource/after-ecj/CommentsInterspersed.java
@@ -0,0 +1,12 @@
+import lombok.Getter;
+public class CommentsInterspersed {
+ private int x;
+ private @Getter String test = "foo";
+ public CommentsInterspersed() {
+ super();
+ }
+ public native void gwtTest();
+ public @java.lang.SuppressWarnings("all") String getTest() {
+ return this.test;
+ }
+}
diff --git a/test/transform/resource/after-ecj/DataExtended.java b/test/transform/resource/after-ecj/DataExtended.java
new file mode 100644
index 00000000..b7be8bcf
--- /dev/null
+++ b/test/transform/resource/after-ecj/DataExtended.java
@@ -0,0 +1,33 @@
+@lombok.Data @lombok.ToString(doNotUseGetters = true) class DataExtended {
+ int x;
+ public @java.lang.SuppressWarnings("all") DataExtended() {
+ super();
+ }
+ public @java.lang.SuppressWarnings("all") int getX() {
+ return this.x;
+ }
+ public @java.lang.SuppressWarnings("all") void setX(final int x) {
+ this.x = x;
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") boolean equals(final java.lang.Object o) {
+ if ((o == this))
+ return true;
+ if ((o == null))
+ return false;
+ if ((o.getClass() != this.getClass()))
+ return false;
+ final DataExtended other = (DataExtended) o;
+ if ((this.getX() != other.getX()))
+ return false;
+ return true;
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
+ final int PRIME = 31;
+ int result = 1;
+ result = ((result * PRIME) + this.getX());
+ return result;
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
+ return (("DataExtended(x=" + this.x) + ")");
+ }
+}
diff --git a/test/transform/resource/after-ecj/DataIgnore.java b/test/transform/resource/after-ecj/DataIgnore.java
new file mode 100644
index 00000000..df2254c8
--- /dev/null
+++ b/test/transform/resource/after-ecj/DataIgnore.java
@@ -0,0 +1,32 @@
+@lombok.Data class DataIgnore {
+ final int x;
+ String $name;
+ public @java.beans.ConstructorProperties({"x"}) @java.lang.SuppressWarnings("all") DataIgnore(final int x) {
+ super();
+ this.x = x;
+ }
+ public @java.lang.SuppressWarnings("all") int getX() {
+ return this.x;
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") boolean equals(final java.lang.Object o) {
+ if ((o == this))
+ return true;
+ if ((o == null))
+ return false;
+ if ((o.getClass() != this.getClass()))
+ return false;
+ final DataIgnore other = (DataIgnore) o;
+ if ((this.getX() != other.getX()))
+ return false;
+ return true;
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
+ final int PRIME = 31;
+ int result = 1;
+ result = ((result * PRIME) + this.getX());
+ return result;
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
+ return (("DataIgnore(x=" + this.getX()) + ")");
+ }
+}
diff --git a/test/transform/resource/after-ecj/DataPlain.java b/test/transform/resource/after-ecj/DataPlain.java
new file mode 100644
index 00000000..b6e385f3
--- /dev/null
+++ b/test/transform/resource/after-ecj/DataPlain.java
@@ -0,0 +1,83 @@
+import lombok.Data;
+@lombok.Data class Data1 {
+ final int x;
+ String name;
+ public @java.beans.ConstructorProperties({"x"}) @java.lang.SuppressWarnings("all") Data1(final int x) {
+ super();
+ this.x = x;
+ }
+ public @java.lang.SuppressWarnings("all") int getX() {
+ return this.x;
+ }
+ public @java.lang.SuppressWarnings("all") String getName() {
+ return this.name;
+ }
+ public @java.lang.SuppressWarnings("all") void setName(final String name) {
+ this.name = name;
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") boolean equals(final java.lang.Object o) {
+ if ((o == this))
+ return true;
+ if ((o == null))
+ return false;
+ if ((o.getClass() != this.getClass()))
+ return false;
+ final Data1 other = (Data1) o;
+ if ((this.getX() != other.getX()))
+ return false;
+ if (((this.getName() == null) ? (other.getName() != null) : (! this.getName().equals(other.getName()))))