aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorRoel Spilker <r.spilker@gmail.com>2013-11-19 21:02:59 +0100
committerRoel Spilker <r.spilker@gmail.com>2013-11-19 21:02:59 +0100
commit78b2d6919e35887940f9f11b6ae1731245739b83 (patch)
tree0dc305883c19a862a38669374c5614e26480d4b8 /test
parent5deb185591904d275cb06eea85c0d739587fc738 (diff)
parent83b7e77b0cce6cd5993b17f36164271accdd281c (diff)
downloadlombok-78b2d6919e35887940f9f11b6ae1731245739b83.tar.gz
lombok-78b2d6919e35887940f9f11b6ae1731245739b83.tar.bz2
lombok-78b2d6919e35887940f9f11b6ae1731245739b83.zip
Merge branch 'master' of github.com:rzwitserloot/lombok
Conflicts: src/delombok/lombok/delombok/DelombokApp.java
Diffstat (limited to 'test')
-rw-r--r--test/core/src/lombok/CompilerMessageMatcher.java14
-rw-r--r--test/core/src/lombok/RunTestsViaEcj.java2
-rw-r--r--test/transform/resource/after-delombok/BuilderWithAccessors.java65
-rw-r--r--test/transform/resource/after-delombok/ConstructorsWithAccessors.java15
-rw-r--r--test/transform/resource/after-delombok/GetterSetterJavadoc.java12
-rw-r--r--test/transform/resource/after-delombok/NonNullOnParameterAbstract.java10
-rw-r--r--test/transform/resource/after-delombok/NonNullPlain.java9
-rw-r--r--test/transform/resource/after-delombok/NonNullWithSneakyThrows.java12
-rw-r--r--test/transform/resource/after-delombok/TestOperators.java48
-rw-r--r--test/transform/resource/after-ecj/BuilderWithAccessors.java47
-rw-r--r--test/transform/resource/after-ecj/ConstructorsWithAccessors.java13
-rw-r--r--test/transform/resource/after-ecj/InjectField.java4
-rw-r--r--test/transform/resource/after-ecj/NonNullOnParameterAbstract.java13
-rw-r--r--test/transform/resource/after-ecj/NonNullWithSneakyThrows.java18
-rw-r--r--test/transform/resource/after-ecj/TestOperators.java51
-rw-r--r--test/transform/resource/before/BuilderWithAccessors.java7
-rw-r--r--test/transform/resource/before/Constructors.java2
-rw-r--r--test/transform/resource/before/ConstructorsWithAccessors.java6
-rw-r--r--test/transform/resource/before/GetterOnMethod.java4
-rw-r--r--test/transform/resource/before/GetterOnMethodErrors.java2
-rw-r--r--test/transform/resource/before/GetterOnMethodErrors2.java14
-rw-r--r--test/transform/resource/before/GetterSetterJavadoc.java12
-rw-r--r--test/transform/resource/before/NonNullOnParameterAbstract.java7
-rw-r--r--test/transform/resource/before/NonNullWithSneakyThrows.java5
-rw-r--r--test/transform/resource/before/SetterOnMethodOnParam.java4
-rw-r--r--test/transform/resource/before/TestOperators.java48
-rw-r--r--test/transform/resource/messages-delombok/Accessors.java.messages2
-rw-r--r--test/transform/resource/messages-delombok/BuilderInvalidUse.java.messages4
-rw-r--r--test/transform/resource/messages-delombok/ConflictingStaticConstructorNames.java.messages2
-rw-r--r--test/transform/resource/messages-delombok/EqualsAndHashCodeWithExistingMethods.java.messages6
-rw-r--r--test/transform/resource/messages-delombok/EqualsAndHashCodeWithSomeExistingMethods.java.messages4
-rw-r--r--test/transform/resource/messages-delombok/FieldDefaultsNoop.java.messages2
-rw-r--r--test/transform/resource/messages-delombok/GetterAlreadyExists.java.messages16
-rw-r--r--test/transform/resource/messages-delombok/GetterBoolean.java.messages2
-rw-r--r--test/transform/resource/messages-delombok/GetterLazyInvalid.java.messages12
-rw-r--r--test/transform/resource/messages-delombok/GetterOnMethodErrors.java.messages2
-rw-r--r--test/transform/resource/messages-delombok/GetterOnMethodErrors2.java.messages8
-rw-r--r--test/transform/resource/messages-delombok/LoggerSlf4jAlreadyExists.java.messages2
-rw-r--r--test/transform/resource/messages-delombok/LoggerSlf4jOnNonStaticInnerClass.java.messages2
-rw-r--r--test/transform/resource/messages-delombok/LoggerSlf4jOnNonType.java.messages2
-rw-r--r--test/transform/resource/messages-delombok/LoggerSlf4jTypes.java.messages4
-rw-r--r--test/transform/resource/messages-delombok/NonNullOnParameter.java.messages2
-rw-r--r--test/transform/resource/messages-delombok/NonNullOnParameterAbstract.java.messages1
-rw-r--r--test/transform/resource/messages-delombok/NonNullPlain.java.messages2
-rw-r--r--test/transform/resource/messages-delombok/SetterAlreadyExists.java.messages14
-rw-r--r--test/transform/resource/messages-delombok/SetterOnMethod.java.messages14
-rw-r--r--test/transform/resource/messages-delombok/SetterOnParam.java.messages14
-rw-r--r--test/transform/resource/messages-delombok/SetterOnParamAndOnMethod.java.messages4
-rw-r--r--test/transform/resource/messages-delombok/SimpleTypeResolution.java.messages2
-rw-r--r--test/transform/resource/messages-delombok/SynchronizedNameNoSuchField.java.messages2
-rw-r--r--test/transform/resource/messages-delombok/SynchronizedNameStaticToInstanceRef.java.messages2
-rw-r--r--test/transform/resource/messages-delombok/ValErrors.java.messages4
-rw-r--r--test/transform/resource/messages-delombok/ValInBasicFor.java.messages2
-rw-r--r--test/transform/resource/messages-delombok/WitherAlreadyExists.java.messages14
-rw-r--r--test/transform/resource/messages-delombok/WitherOnStatic.java.messages4
-rw-r--r--test/transform/resource/messages-delombok/WitherWithDollar.java.messages2
-rw-r--r--test/transform/resource/messages-ecj/Accessors.java.messages2
-rw-r--r--test/transform/resource/messages-ecj/BuilderInvalidUse.java.messages4
-rw-r--r--test/transform/resource/messages-ecj/ConflictingStaticConstructorNames.java.messages2
-rw-r--r--test/transform/resource/messages-ecj/EqualsAndHashCodeWithExistingMethods.java.messages6
-rw-r--r--test/transform/resource/messages-ecj/EqualsAndHashCodeWithSomeExistingMethods.java.messages4
-rw-r--r--test/transform/resource/messages-ecj/FieldDefaultsNoop.java.messages2
-rw-r--r--test/transform/resource/messages-ecj/GetterAlreadyExists.java.messages16
-rw-r--r--test/transform/resource/messages-ecj/GetterBoolean.java.messages2
-rw-r--r--test/transform/resource/messages-ecj/GetterLazyInvalid.java.messages12
-rw-r--r--test/transform/resource/messages-ecj/GetterOnMethodErrors.java.messages2
-rw-r--r--test/transform/resource/messages-ecj/GetterOnMethodErrors2.java.messages8
-rw-r--r--test/transform/resource/messages-ecj/LoggerSlf4jAlreadyExists.java.messages2
-rw-r--r--test/transform/resource/messages-ecj/LoggerSlf4jOnNonStaticInnerClass.java.messages2
-rw-r--r--test/transform/resource/messages-ecj/LoggerSlf4jOnNonType.java.messages2
-rw-r--r--test/transform/resource/messages-ecj/LoggerSlf4jTypes.java.messages4
-rw-r--r--test/transform/resource/messages-ecj/NonNullOnParameter.java.messages6
-rw-r--r--test/transform/resource/messages-ecj/NonNullOnParameterAbstract.java.messages1
-rw-r--r--test/transform/resource/messages-ecj/NonNullPlain.java.messages2
-rw-r--r--test/transform/resource/messages-ecj/SetterAlreadyExists.java.messages14
-rw-r--r--test/transform/resource/messages-ecj/SetterOnMethod.java.messages4
-rw-r--r--test/transform/resource/messages-ecj/SetterOnParam.java.messages4
-rw-r--r--test/transform/resource/messages-ecj/SimpleTypeResolution.java.messages2
-rw-r--r--test/transform/resource/messages-ecj/SynchronizedName.java.messages2
-rw-r--r--test/transform/resource/messages-ecj/SynchronizedNameNoSuchField.java.messages2
-rw-r--r--test/transform/resource/messages-ecj/SynchronizedNameStaticToInstanceRef.java.messages2
-rw-r--r--test/transform/resource/messages-ecj/ValErrors.java.messages4
-rw-r--r--test/transform/resource/messages-ecj/ValInBasicFor.java.messages6
-rw-r--r--test/transform/resource/messages-ecj/ValRawType.java.messages2
-rw-r--r--test/transform/resource/messages-ecj/ValueExperimental.java.messages2
-rw-r--r--test/transform/resource/messages-ecj/WitherAlreadyExists.java.messages14
-rw-r--r--test/transform/resource/messages-ecj/WitherOnStatic.java.messages4
-rw-r--r--test/transform/resource/messages-ecj/WitherWithDollar.java.messages2
-rw-r--r--test/transform/resource/messages-idempotent/NonNullOnParameter.java.messages2
-rw-r--r--test/transform/resource/messages-idempotent/NonNullOnParameterAbstract.java.messages1
-rw-r--r--test/transform/resource/messages-idempotent/NonNullPlain.java.messages6
-rw-r--r--test/transform/resource/messages-idempotent/SimpleTypeResolution.java.messages2
-rw-r--r--test/transform/resource/messages-idempotent/SynchronizedNameStaticToInstanceRef.java.messages2
-rw-r--r--test/transform/resource/messages-idempotent/ValErrors.java.messages6
-rw-r--r--test/transform/resource/messages-idempotent/ValInBasicFor.java.messages2
95 files changed, 557 insertions, 204 deletions
diff --git a/test/core/src/lombok/CompilerMessageMatcher.java b/test/core/src/lombok/CompilerMessageMatcher.java
index af12e199..db288749 100644
--- a/test/core/src/lombok/CompilerMessageMatcher.java
+++ b/test/core/src/lombok/CompilerMessageMatcher.java
@@ -38,30 +38,26 @@ public class CompilerMessageMatcher {
/** Line Number (starting at 1) */
private final long line;
- /** Position is either column number, OR position in file starting from the first byte. */
- private final long position;
private final Collection<String> messageParts;
- public CompilerMessageMatcher(long line, long position, String message) {
+ public CompilerMessageMatcher(long line, String message) {
this.line = line;
- this.position = position;
this.messageParts = Arrays.asList(message.split("\\s+"));
}
public static CompilerMessageMatcher asCompilerMessageMatcher(CompilerMessage message) {
- return new CompilerMessageMatcher(message.getLine(), message.getColumnOrPosition(), message.getMessage());
+ return new CompilerMessageMatcher(message.getLine(), message.getMessage());
}
@Override public String toString() {
StringBuilder parts = new StringBuilder();
for (String part : messageParts) parts.append(part).append(" ");
if (parts.length() > 0) parts.setLength(parts.length() - 1);
- return String.format("%d:%d %s", line, position, parts);
+ return String.format("%d %s", line, parts);
}
public boolean matches(CompilerMessage message) {
if (message.getLine() != this.line) return false;
- if (message.getColumnOrPosition() != this.position) return false;
for (String token : messageParts) {
if (!message.getMessage().contains(token)) return false;
}
@@ -78,12 +74,12 @@ public class CompilerMessageMatcher {
return out;
}
- private static final Pattern PATTERN = Pattern.compile("^(\\d+):(\\d+) (.*)$");
+ private static final Pattern PATTERN = Pattern.compile("^(\\d+) (.*)$");
private static CompilerMessageMatcher read(String line) {
line = line.trim();
if (line.isEmpty()) return null;
Matcher m = PATTERN.matcher(line);
if (!m.matches()) throw new IllegalArgumentException("Typo in test file: " + line);
- return new CompilerMessageMatcher(Integer.parseInt(m.group(1)), Integer.parseInt(m.group(2)), m.group(3));
+ return new CompilerMessageMatcher(Integer.parseInt(m.group(1)), m.group(2));
}
}
diff --git a/test/core/src/lombok/RunTestsViaEcj.java b/test/core/src/lombok/RunTestsViaEcj.java
index f7294f1f..586c124a 100644
--- a/test/core/src/lombok/RunTestsViaEcj.java
+++ b/test/core/src/lombok/RunTestsViaEcj.java
@@ -112,7 +112,7 @@ public class RunTestsViaEcj extends AbstractRunTests {
CategorizedProblem[] problems = compilationResult.getAllProblems();
if (problems != null) for (CategorizedProblem p : problems) {
- messages.add(new CompilerMessage(p.getSourceLineNumber(), p.getSourceStart(), p.getSourceStart(), p.isError(), p.getMessage()));
+ messages.add(new CompilerMessage(p.getSourceLineNumber(), p.getSourceStart(), p.isError(), p.getMessage()));
}
CompilationUnitDeclaration cud = compilationUnit_.get();
diff --git a/test/transform/resource/after-delombok/BuilderWithAccessors.java b/test/transform/resource/after-delombok/BuilderWithAccessors.java
new file mode 100644
index 00000000..503c33be
--- /dev/null
+++ b/test/transform/resource/after-delombok/BuilderWithAccessors.java
@@ -0,0 +1,65 @@
+class BuilderWithAccessors {
+ private final int plower;
+ private final int pUpper;
+ private int _foo;
+ private int __bar;
+ @java.lang.SuppressWarnings("all")
+ BuilderWithAccessors(final int plower, final int upper, final int foo, final int _bar) {
+ this.plower = plower;
+ this.pUpper = upper;
+ this._foo = foo;
+ this.__bar = _bar;
+ }
+ @java.lang.SuppressWarnings("all")
+ public static class BuilderWithAccessorsBuilder {
+ private int plower;
+ private int upper;
+ private int foo;
+ private int _bar;
+
+ @java.lang.SuppressWarnings("all")
+ BuilderWithAccessorsBuilder() {
+
+ }
+
+ @java.lang.SuppressWarnings("all")
+ public BuilderWithAccessorsBuilder plower(final int plower) {
+ this.plower = plower;
+ return this;
+ }
+
+ @java.lang.SuppressWarnings("all")
+ public BuilderWithAccessorsBuilder upper(final int upper) {
+ this.upper = upper;
+ return this;
+ }
+
+ @java.lang.SuppressWarnings("all")
+ public BuilderWithAccessorsBuilder foo(final int foo) {
+ this.foo = foo;
+ return this;
+ }
+
+ @java.lang.SuppressWarnings("all")
+ public BuilderWithAccessorsBuilder _bar(final int _bar) {
+ this._bar = _bar;
+ return this;
+ }
+
+ @java.lang.SuppressWarnings("all")
+ public BuilderWithAccessors build() {
+ return new BuilderWithAccessors(plower, upper, foo, _bar);
+ }
+
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public java.lang.String toString() {
+ return "BuilderWithAccessors.BuilderWithAccessorsBuilder(plower=" + this.plower + ", upper=" + this.upper + ", foo=" + this.foo + ", _bar=" + this._bar + ")";
+ }
+ }
+
+ @java.lang.SuppressWarnings("all")
+ public static BuilderWithAccessorsBuilder builder() {
+ return new BuilderWithAccessorsBuilder();
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/ConstructorsWithAccessors.java b/test/transform/resource/after-delombok/ConstructorsWithAccessors.java
new file mode 100644
index 00000000..9937c7ee
--- /dev/null
+++ b/test/transform/resource/after-delombok/ConstructorsWithAccessors.java
@@ -0,0 +1,15 @@
+class ConstructorsWithAccessors {
+ int plower;
+ int pUpper;
+ int _huh;
+ int __huh2;
+
+ @java.beans.ConstructorProperties({"plower", "upper", "huh", "_huh2"})
+ @java.lang.SuppressWarnings("all")
+ public ConstructorsWithAccessors(final int plower, final int upper, final int huh, final int _huh2) {
+ this.plower = plower;
+ this.pUpper = upper;
+ this._huh = huh;
+ this.__huh2 = _huh2;
+ }
+}
diff --git a/test/transform/resource/after-delombok/GetterSetterJavadoc.java b/test/transform/resource/after-delombok/GetterSetterJavadoc.java
index 7bf92d1f..af9cbb5e 100644
--- a/test/transform/resource/after-delombok/GetterSetterJavadoc.java
+++ b/test/transform/resource/after-delombok/GetterSetterJavadoc.java
@@ -9,7 +9,7 @@ class GetterSetterJavadoc1 {
/**
* Getter section
*
- * @return Sky is blue
+ * @return Sky is blue1
*/
@java.lang.SuppressWarnings("all")
public int getFieldName() {
@@ -18,7 +18,7 @@ class GetterSetterJavadoc1 {
/**
* Some text
*
- * @param fieldName Hello, World
+ * @param fieldName Hello, World1
*/
@java.lang.SuppressWarnings("all")
public void setFieldName(final int fieldName) {
@@ -60,7 +60,7 @@ class GetterSetterJavadoc2 {
/**
* Some text
*
- * @return Sky is blue
+ * @return Sky is blue2
*/
@java.lang.SuppressWarnings("all")
public int getFieldName() {
@@ -69,7 +69,7 @@ class GetterSetterJavadoc2 {
/**
* Some text
*
- * @param fieldName Hello, World
+ * @param fieldName Hello, World2
*/
@java.lang.SuppressWarnings("all")
public void setFieldName(final int fieldName) {
@@ -83,7 +83,7 @@ class GetterSetterJavadoc3 {
private int fieldName;
/**
* Getter section
- * @return Sky is blue
+ * @return Sky is blue3
*/
@java.lang.SuppressWarnings("all")
public int getFieldName() {
@@ -91,7 +91,7 @@ class GetterSetterJavadoc3 {
}
/**
* Setter section
- * @param fieldName Hello, World
+ * @param fieldName Hello, World3
*/
@java.lang.SuppressWarnings("all")
public void setFieldName(final int fieldName) {
diff --git a/test/transform/resource/after-delombok/NonNullOnParameterAbstract.java b/test/transform/resource/after-delombok/NonNullOnParameterAbstract.java
new file mode 100644
index 00000000..e0330bd6
--- /dev/null
+++ b/test/transform/resource/after-delombok/NonNullOnParameterAbstract.java
@@ -0,0 +1,10 @@
+abstract class NonNullOnParameterAbstract {
+ public void test(@lombok.NonNull String arg) {
+ if (arg == null) {
+ throw new java.lang.NullPointerException("arg");
+ }
+ System.out.println("Hey");
+ }
+
+ public abstract void test2(@lombok.NonNull String arg);
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/NonNullPlain.java b/test/transform/resource/after-delombok/NonNullPlain.java
index 6b85cbf7..b7d27ef3 100644
--- a/test/transform/resource/after-delombok/NonNullPlain.java
+++ b/test/transform/resource/after-delombok/NonNullPlain.java
@@ -1,5 +1,4 @@
import java.lang.annotation.*;
-
class NonNullPlain {
@lombok.NonNull
int i;
@@ -7,12 +6,10 @@ class NonNullPlain {
String s;
@NotNull
Object o;
-
@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE})
@Retention(RetentionPolicy.CLASS)
public @interface NotNull {
}
-
@java.beans.ConstructorProperties({"i", "s"})
@java.lang.SuppressWarnings("all")
public NonNullPlain(@lombok.NonNull final int i, @lombok.NonNull final String s) {
@@ -22,29 +19,24 @@ class NonNullPlain {
this.i = i;
this.s = s;
}
-
@lombok.NonNull
@java.lang.SuppressWarnings("all")
public int getI() {
return this.i;
}
-
@lombok.NonNull
@java.lang.SuppressWarnings("all")
public String getS() {
return this.s;
}
-
@java.lang.SuppressWarnings("all")
public Object getO() {
return this.o;
}
-
@java.lang.SuppressWarnings("all")
public void setI(@lombok.NonNull final int i) {
this.i = i;
}
-
@java.lang.SuppressWarnings("all")
public void setS(@lombok.NonNull final String s) {
if (s == null) {
@@ -52,7 +44,6 @@ class NonNullPlain {
}
this.s = s;
}
-
@java.lang.SuppressWarnings("all")
public void setO(final Object o) {
this.o = o;
diff --git a/test/transform/resource/after-delombok/NonNullWithSneakyThrows.java b/test/transform/resource/after-delombok/NonNullWithSneakyThrows.java
new file mode 100644
index 00000000..91646468
--- /dev/null
+++ b/test/transform/resource/after-delombok/NonNullWithSneakyThrows.java
@@ -0,0 +1,12 @@
+class NonNullWithSneakyThrows {
+ void test(@lombok.NonNull String in) {
+ try {
+ if (in == null) {
+ throw new java.lang.NullPointerException("in");
+ }
+ System.out.println(in);
+ } catch (final java.lang.Throwable $ex) {
+ throw lombok.Lombok.sneakyThrow($ex);
+ }
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/TestOperators.java b/test/transform/resource/after-delombok/TestOperators.java
new file mode 100644
index 00000000..566bedfc
--- /dev/null
+++ b/test/transform/resource/after-delombok/TestOperators.java
@@ -0,0 +1,48 @@
+class TestOperators {
+ int x = 10;
+ public void test() {
+ x = 12;
+ int a = +x;
+ boolean d = true;
+ boolean e = false;
+ boolean b;
+ a = -x;
+ b = !d;
+ a = ~x;
+ a = ++x;
+ a = --x;
+ a = x++;
+ a = x--;
+ b = d || e;
+ b = d && e;
+ a = x | a;
+ a = x ^ a;
+ a = x & a;
+ b = a == x;
+ b = a != x;
+ b = a < x;
+ b = a > x;
+ b = a <= x;
+ b = a >= x;
+ a = a << x;
+ a = a >> x;
+ a = a >>> x;
+ a = a + x;
+ a = a - x;
+ a = a * x;
+ a = a / x;
+ a = a % x;
+ a |= x;
+ a ^= x;
+ a &= x;
+ a <<= x;
+ a >>= x;
+ a >>>= x;
+ a += x;
+ a -= x;
+ a *= x;
+ a /= x;
+ a %= x;
+ a = a > x ? 1 : 0;
+ }
+}
diff --git a/test/transform/resource/after-ecj/BuilderWithAccessors.java b/test/transform/resource/after-ecj/BuilderWithAccessors.java
new file mode 100644
index 00000000..79776dc4
--- /dev/null
+++ b/test/transform/resource/after-ecj/BuilderWithAccessors.java
@@ -0,0 +1,47 @@
+@lombok.experimental.Builder @lombok.experimental.Accessors(prefix = {"p", "_"}) class BuilderWithAccessors {
+ public static @java.lang.SuppressWarnings("all") class BuilderWithAccessorsBuilder {
+ private int plower;
+ private int upper;
+ private int foo;
+ private int _bar;
+ @java.lang.SuppressWarnings("all") BuilderWithAccessorsBuilder() {
+ super();
+ }
+ public @java.lang.SuppressWarnings("all") BuilderWithAccessorsBuilder plower(final int plower) {
+ this.plower = plower;
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") BuilderWithAccessorsBuilder upper(final int upper) {
+ this.upper = upper;
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") BuilderWithAccessorsBuilder foo(final int foo) {
+ this.foo = foo;
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") BuilderWithAccessorsBuilder _bar(final int _bar) {
+ this._bar = _bar;
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") BuilderWithAccessors build() {
+ return new BuilderWithAccessors(plower, upper, foo, _bar);
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
+ return (((((((("BuilderWithAccessors.BuilderWithAccessorsBuilder(plower=" + this.plower) + ", upper=") + this.upper) + ", foo=") + this.foo) + ", _bar=") + this._bar) + ")");
+ }
+ }
+ private final int plower;
+ private final int pUpper;
+ private int _foo;
+ private int __bar;
+ @java.lang.SuppressWarnings("all") BuilderWithAccessors(final int plower, final int upper, final int foo, final int _bar) {
+ super();
+ this.plower = plower;
+ this.pUpper = upper;
+ this._foo = foo;
+ this.__bar = _bar;
+ }
+ public static @java.lang.SuppressWarnings("all") BuilderWithAccessorsBuilder builder() {
+ return new BuilderWithAccessorsBuilder();
+ }
+}
diff --git a/test/transform/resource/after-ecj/ConstructorsWithAccessors.java b/test/transform/resource/after-ecj/ConstructorsWithAccessors.java
new file mode 100644
index 00000000..0df8fbe1
--- /dev/null
+++ b/test/transform/resource/after-ecj/ConstructorsWithAccessors.java
@@ -0,0 +1,13 @@
+@lombok.AllArgsConstructor @lombok.experimental.Accessors(prefix = {"p", "_"}) class ConstructorsWithAccessors {
+ int plower;
+ int pUpper;
+ int _huh;
+ int __huh2;
+ public @java.beans.ConstructorProperties({"plower", "upper", "huh", "_huh2"}) @java.lang.SuppressWarnings("all") ConstructorsWithAccessors(final int plower, final int upper, final int huh, final int _huh2) {
+ super();
+ this.plower = plower;
+ this.pUpper = upper;
+ this._huh = huh;
+ this.__huh2 = _huh2;
+ }
+}
diff --git a/test/transform/resource/after-ecj/InjectField.java b/test/transform/resource/after-ecj/InjectField.java
index 83d9e5fa..f9ea9142 100644
--- a/test/transform/resource/after-ecj/InjectField.java
+++ b/test/transform/resource/after-ecj/InjectField.java
@@ -4,9 +4,9 @@ import lombok.Synchronized;
@Log enum InjectField1 {
A(),
B(),
+ private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(InjectField1.class.getName());
private final java.lang.Object $lock = new java.lang.Object[0];
private static final java.lang.Object $LOCK = new java.lang.Object[0];
- private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(InjectField1.class.getName());
private static final String LOG_MESSAGE = "static initializer";
private String fieldA;
static {
@@ -32,8 +32,8 @@ import lombok.Synchronized;
}
}
@Log class InjectField2 {
- private final java.lang.Object $lock = new java.lang.Object[0];
private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(InjectField2.class.getName());
+ private final java.lang.Object $lock = new java.lang.Object[0];
private static final String LOG_MESSAGE = "static initializer";
static {
log.log(Level.FINE, LOG_MESSAGE);
diff --git a/test/transform/resource/after-ecj/NonNullOnParameterAbstract.java b/test/transform/resource/after-ecj/NonNullOnParameterAbstract.java
new file mode 100644
index 00000000..a7dae247
--- /dev/null
+++ b/test/transform/resource/after-ecj/NonNullOnParameterAbstract.java
@@ -0,0 +1,13 @@
+abstract class NonNullOnParameterAbstract {
+ NonNullOnParameterAbstract() {
+ super();
+ }
+ public void test(@lombok.NonNull String arg) {
+ if ((arg == null))
+ {
+ throw new java.lang.NullPointerException("arg");
+ }
+ System.out.println("Hey");
+ }
+ public abstract void test2(@lombok.NonNull String arg);
+} \ No newline at end of file
diff --git a/test/transform/resource/after-ecj/NonNullWithSneakyThrows.java b/test/transform/resource/after-ecj/NonNullWithSneakyThrows.java
new file mode 100644
index 00000000..fac8dcdd
--- /dev/null
+++ b/test/transform/resource/after-ecj/NonNullWithSneakyThrows.java
@@ -0,0 +1,18 @@
+class NonNullWithSneakyThrows {
+ NonNullWithSneakyThrows() {
+ super();
+ }
+ @lombok.SneakyThrows void test(@lombok.NonNull String in) {
+ try
+ {
+ if ((in == null))
+ {
+ throw new java.lang.NullPointerException("in");
+ }
+ System.out.println(in);
+ }
+ catch (final java.lang.Throwable $ex) {
+ throw lombok.Lombok.sneakyThrow($ex);
+ }
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-ecj/TestOperators.java b/test/transform/resource/after-ecj/TestOperators.java
new file mode 100644
index 00000000..8a78ceeb
--- /dev/null
+++ b/test/transform/resource/after-ecj/TestOperators.java
@@ -0,0 +1,51 @@
+class TestOperators {
+ int x = 10;
+ TestOperators() {
+ super();
+ }
+ public void test() {
+ x = 12;
+ int a = (+ x);
+ boolean d = true;
+ boolean e = false;
+ boolean b;
+ a = (- x);
+ b = (! d);
+ a = (~ x);
+ a = (++ x);
+ a = (-- x);
+ a = (x ++);
+ a = (x --);
+ b = (d || e);
+ b = (d && e);
+ a = (x | a);
+ a = (x ^ a);
+ a = (x & a);
+ b = (a == x);
+ b = (a != x);
+ b = (a < x);
+ b = (a > x);
+ b = (a <= x);
+ b = (a >= x);
+ a = (a << x);
+ a = (a >> x);
+ a = (a >>> x);
+ a = (a + x);
+ a = (a - x);
+ a = (a * x);
+ a = (a / x);
+ a = (a % x);
+ a |= x;
+ a ^= x;
+ a &= x;
+ a <<= x;
+ a >>= x;
+ a >>>= x;
+ a += x;
+ a -= x;
+ a *= x;
+ a /= x;
+ a %= x;
+ a = ((a > x) ? 1 : 0);
+ }
+}
diff --git a/test/transform/resource/before/BuilderWithAccessors.java b/test/transform/resource/before/BuilderWithAccessors.java
new file mode 100644
index 00000000..4f5660a1
--- /dev/null
+++ b/test/transform/resource/before/BuilderWithAccessors.java
@@ -0,0 +1,7 @@
+@lombok.experimental.Builder @lombok.experimental.Accessors(prefix={"p", "_"})
+class BuilderWithAccessors {
+ private final int plower;
+ private final int pUpper;
+ private int _foo;
+ private int __bar;
+}
diff --git a/test/transform/resource/before/Constructors.java b/test/transform/resource/before/Constructors.java
index 0ab7b7f0..45b3a199 100644
--- a/test/transform/resource/before/Constructors.java
+++ b/test/transform/resource/before/Constructors.java
@@ -10,7 +10,7 @@
final int x;
String name;
}
-@lombok.RequiredArgsConstructor(onConstructor=@_(@Deprecated)) class RequiredArgsConstructorWithAnnotations {
+@lombok.RequiredArgsConstructor(onConstructor=@__(@Deprecated)) class RequiredArgsConstructorWithAnnotations {
final int x;
String name;
}
diff --git a/test/transform/resource/before/ConstructorsWithAccessors.java b/test/transform/resource/before/ConstructorsWithAccessors.java
new file mode 100644
index 00000000..d242317d
--- /dev/null
+++ b/test/transform/resource/before/ConstructorsWithAccessors.java
@@ -0,0 +1,6 @@
+@lombok.AllArgsConstructor @lombok.experimental.Accessors(prefix={"p", "_"}) class ConstructorsWithAccessors {
+ int plower;
+ int pUpper;
+ int _huh;
+ int __huh2;
+}
diff --git a/test/transform/resource/before/GetterOnMethod.java b/test/transform/resource/before/GetterOnMethod.java
index 558f3f64..3e56a66e 100644
--- a/test/transform/resource/before/GetterOnMethod.java
+++ b/test/transform/resource/before/GetterOnMethod.java
@@ -1,6 +1,6 @@
class GetterOnMethod {
- @lombok.Getter(onMethod=@_(@Deprecated)) int i;
- @lombok.Getter(onMethod=@_({@java.lang.Deprecated, @Test})) int j, k;
+ @lombok.Getter(onMethod=@__(@Deprecated)) int i;
+ @lombok.Getter(onMethod=@__({@java.lang.Deprecated, @Test})) int j, k;
public @interface Test {
}
diff --git a/test/transform/resource/before/GetterOnMethodErrors.java b/test/transform/resource/before/GetterOnMethodErrors.java
index ae5d5b54..ec4704f0 100644
--- a/test/transform/resource/before/GetterOnMethodErrors.java
+++ b/test/transform/resource/before/GetterOnMethodErrors.java
@@ -1,6 +1,6 @@
class PlaceFillerToMakeSurePositionIsRelevant {
}
-@lombok.Getter(onMethod=@_(@Deprecated))
+@lombok.Getter(onMethod=@__(@Deprecated))
class GetterOnMethodErrors {
private int test;
}
diff --git a/test/transform/resource/before/GetterOnMethodErrors2.java b/test/transform/resource/before/GetterOnMethodErrors2.java
index 423183b9..2fd98c83 100644
--- a/test/transform/resource/before/GetterOnMethodErrors2.java
+++ b/test/transform/resource/before/GetterOnMethodErrors2.java
@@ -1,12 +1,12 @@
class GetterOnMethodErrors2 {
@lombok.Getter(onMethod=@_A_(@Deprecated)) private int bad1;
- @lombok.Getter(onMethod=@_(5)) private int bad2;
- @lombok.Getter(onMethod=@_({@Deprecated, 5})) private int bad3;
- @lombok.Getter(onMethod=@_(bar=@Deprecated)) private int bad4;
- @lombok.Getter(onMethod=@_) private int good1;
- @lombok.Getter(onMethod=@_()) private int good2;
- @lombok.Getter(onMethod=@_(value=@Deprecated)) private int good3;
- @lombok.Getter(onMethod=@_(value={@Deprecated, @Test})) private int good4;
+ @lombok.Getter(onMethod=@__(5)) private int bad2;
+ @lombok.Getter(onMethod=@__({@Deprecated, 5})) private int bad3;
+ @lombok.Getter(onMethod=@$(bar=@Deprecated)) private int bad4;
+ @lombok.Getter(onMethod=@__) private int good1;
+ @lombok.Getter(onMethod=@X()) private int good2;
+ @lombok.Getter(onMethod=@__(value=@Deprecated)) private int good3;
+ @lombok.Getter(onMethod=@xXx$$(value={@Deprecated, @Test})) private int good4;
public @interface Test {
}
}
diff --git a/test/transform/resource/before/GetterSetterJavadoc.java b/test/transform/resource/before/GetterSetterJavadoc.java
index e3ae0aac..0dc64092 100644
--- a/test/transform/resource/before/GetterSetterJavadoc.java
+++ b/test/transform/resource/before/GetterSetterJavadoc.java
@@ -3,11 +3,11 @@ class GetterSetterJavadoc1 {
/**
* Some text
*
- * @param fieldName Hello, World
+ * @param fieldName Hello, World1
* --- GETTER ---
* Getter section
*
- * @return Sky is blue
+ * @return Sky is blue1
*/
private int fieldName;
}
@@ -16,8 +16,8 @@ class GetterSetterJavadoc2 {
/**
* Some text
*
- * @param fieldName Hello, World
- * @return Sky is blue
+ * @param fieldName Hello, World2
+ * @return Sky is blue2
*/
@lombok.Getter @lombok.Setter private int fieldName;
}
@@ -28,10 +28,10 @@ class GetterSetterJavadoc3 {
*
* **SETTER**
* Setter section
- * @param fieldName Hello, World
+ * @param fieldName Hello, World3
* **GETTER**
* Getter section
- * @return Sky is blue
+ * @return Sky is blue3
*/
@lombok.Getter @lombok.Setter private int fieldName;
}
diff --git a/test/transform/resource/before/NonNullOnParameterAbstract.java b/test/transform/resource/before/NonNullOnParameterAbstract.java
new file mode 100644
index 00000000..16691184
--- /dev/null
+++ b/test/transform/resource/before/NonNullOnParameterAbstract.java
@@ -0,0 +1,7 @@
+abstract class NonNullOnParameterAbstract {
+ public void test(@lombok.NonNull String arg) {
+ System.out.println("Hey");
+ }
+
+ public abstract void test2(@lombok.NonNull String arg);
+} \ No newline at end of file
diff --git a/test/transform/resource/before/NonNullWithSneakyThrows.java b/test/transform/resource/before/NonNullWithSneakyThrows.java
new file mode 100644
index 00000000..35f78a7f
--- /dev/null
+++ b/test/transform/resource/before/NonNullWithSneakyThrows.java
@@ -0,0 +1,5 @@
+class NonNullWithSneakyThrows {
+ @lombok.SneakyThrows void test(@lombok.NonNull String in) {
+ System.out.println(in);
+ }
+}
diff --git a/test/transform/resource/before/SetterOnMethodOnParam.java b/test/transform/resource/before/SetterOnMethodOnParam.java
index 70f3dc8c..4e042cf4 100644
--- a/test/transform/resource/before/SetterOnMethodOnParam.java
+++ b/test/transform/resource/before/SetterOnMethodOnParam.java
@@ -1,6 +1,6 @@
class SetterOnMethodOnParam {
- @lombok.Setter(onMethod=@_(@Deprecated)) int i;
- @lombok.Setter(onMethod=@_({@java.lang.Deprecated, @Test}), onParam=@_(@Test)) int j, k;
+ @lombok.Setter(onMethod=@__(@Deprecated)) int i;
+ @lombok.Setter(onMethod=@__({@java.lang.Deprecated, @Test}), onParam=@__(@Test)) int j, k;
public @interface Test {
}
diff --git a/test/transform/resource/before/TestOperators.java b/test/transform/resource/before/TestOperators.java
new file mode 100644
index 00000000..566bedfc
--- /dev/null
+++ b/test/transform/resource/before/TestOperators.java
@@ -0,0 +1,48 @@
+class TestOperators {
+ int x = 10;
+ public void test() {
+ x = 12;
+ int a = +x;
+ boolean d = true;
+ boolean e = false;
+ boolean b;
+ a = -x;
+ b = !d;
+ a = ~x;
+ a = ++x;
+ a = --x;
+ a = x++;
+ a = x--;
+ b = d || e;
+ b = d && e;
+ a = x | a;
+ a = x ^ a;
+ a = x & a;
+ b = a == x;
+ b = a != x;
+ b = a < x;
+ b = a > x;
+ b = a <= x;
+ b = a >= x;
+ a = a << x;
+ a = a >> x;
+ a = a >>> x;
+ a = a + x;
+ a = a - x;
+ a = a * x;
+ a = a / x;
+ a = a % x;
+ a |= x;
+ a ^= x;
+ a &= x;
+ a <<= x;
+ a >>= x;
+ a >>>= x;
+ a += x;
+ a -= x;
+ a *= x;
+ a /= x;
+ a %= x;
+ a = a > x ? 1 : 0;
+ }
+}
diff --git a/test/transform/resource/messages-delombok/Accessors.java.messages b/test/transform/resource/messages-delombok/Accessors.java.messages
index 367621bd..265bc745 100644
--- a/test/transform/resource/messages-delombok/Accessors.java.messages
+++ b/test/transform/resource/messages-delombok/Accessors.java.messages
@@ -1 +1 @@
-19:9 Not generating setter for this field: It does not fit your @Accessors prefix list. \ No newline at end of file
+19 Not generating setter for this field: It does not fit your @Accessors prefix list. \ No newline at end of file
diff --git a/test/transform/resource/messages-delombok/BuilderInvalidUse.java.messages b/test/transform/resource/messages-delombok/BuilderInvalidUse.java.messages
index aeeb0c86..a04b4f9b 100644
--- a/test/transform/resource/messages-delombok/BuilderInvalidUse.java.messages
+++ b/test/transform/resource/messages-delombok/BuilderInvalidUse.java.messages
@@ -1,2 +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
+1 @Getter, @Setter, @Wither, @Data, @ToString, @EqualsAndHashCode, @AllArgsConstructor are not allowed on builder classes.
+12 @Value is not allowed on builder classes. \ No newline at end of file
diff --git a/test/transform/resource/messages-delombok/ConflictingStaticConstructorNames.java.messages b/test/transform/resource/messages-delombok/ConflictingStaticConstructorNames.java.messages
index 06b88c10..4f915bbe 100644
--- a/test/transform/resource/messages-delombok/ConflictingStaticConstructorNames.java.messages
+++ b/test/transform/resource/messages-delombok/ConflictingStaticConstructorNames.java.messages
@@ -1 +1 @@
-1:1 Ignoring static constructor name: explicit @XxxArgsConstructor annotation present; its `staticName` parameter will be used.
+1 Ignoring static constructor name: explicit @XxxArgsConstructor annotation present; its `staticName` parameter will be used.
diff --git a/test/transform/resource/messages-delombok/EqualsAndHashCodeWithExistingMethods.java.messages b/test/transform/resource/messages-delombok/EqualsAndHashCodeWithExistingMethods.java.messages
index 057a7521..b3490fd0 100644
--- a/test/transform/resource/messages-delombok/EqualsAndHashCodeWithExistingMethods.java.messages
+++ b/test/transform/resource/messages-delombok/EqualsAndHashCodeWithExistingMethods.java.messages
@@ -1,3 +1,3 @@
-1:1 Not generating equals, hashCode and canEquals: A method with one of those names already exists. (Either all or none of these methods will be generated).
-10:1 Not generating equals and hashCode: A method with one of those names already exists. (Either all or none of these methods will be generated).
-19:1 Not generating equals, hashCode and canEquals: A method with one of those names already exists. (Either all or none of these methods will be generated).
+1 Not generating equals, hashCode and canEquals: A method with one of those names already exists. (Either all or none of these methods will be generated).
+10 Not generating equals and hashCode: A method with one of those names already exists. (Either all or none of these methods will be generated).
+19 Not generating equals, hashCode and canEquals: A method with one of those names already exists. (Either all or none of these methods will be generated).
diff --git a/test/transform/resource/messages-delombok/EqualsAndHashCodeWithSomeExistingMethods.java.messages b/test/transform/resource/messages-delombok/EqualsAndHashCodeWithSomeExistingMethods.java.messages
index 9a0b29f3..75ddfa54 100644
--- a/test/transform/resource/messages-delombok/EqualsAndHashCodeWithSomeExistingMethods.java.messages
+++ b/test/transform/resource/messages-delombok/EqualsAndHashCodeWithSomeExistingMethods.java.messages
@@ -1,2 +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).
+4 Not generating equals: One of equals, hashCode, and canEqual exists. You should either write all of these or none of these (in the latter case, lombok generates them).
+15 Not generating equals and hashCode: One of equals, hashCode, and canEqual exists. You should either write all of these or none of these (in the latter case, lombok generates them).
diff --git a/test/transform/resource/messages-delombok/FieldDefaultsNoop.java.messages b/test/transform/resource/messages-delombok/FieldDefaultsNoop.java.messages
index ae5dd265..9fac15c4 100644
--- a/test/transform/resource/messages-delombok/FieldDefaultsNoop.java.messages
+++ b/test/transform/resource/messages-delombok/FieldDefaultsNoop.java.messages
@@ -1 +1 @@
-1:1 This does nothing; provide either level or makeFinal or both. \ No newline at end of file
+1 This does nothing; provide either level or makeFinal or both. \ No newline at end of file
diff --git a/test/transform/resource/messages-delombok/GetterAlreadyExists.java.messages b/test/transform/resource/messages-delombok/GetterAlreadyExists.java.messages
index 7a326742..7d99aa69 100644
--- a/test/transform/resource/messages-delombok/GetterAlreadyExists.java.messages
+++ b/test/transform/resource/messages-delombok/GetterAlreadyExists.java.messages
@@ -1,8 +1,8 @@
-8:9 Not generating isFoo(): A method with that name already exists
-14:9 Not generating isFoo(): A method with that name already exists (getFoo)
-32:9 Not generating getFoo(): A method with that name already exists
-50:9 Not generating getFoo(): A method with that name already exists
-62:9 Not generating isFoo(): A method with that name already exists
-68:9 Not generating isFoo(): A method with that name already exists (getFoo)
-86:9 Not generating getFoo(): A method with that name already exists
-104:9 Not generating getFoo(): A method with that name already exists
+8 Not generating isFoo(): A method with that name already exists
+14 Not generating isFoo(): A method with that name already exists (getFoo)
+32 Not generating getFoo(): A method with that name already exists
+50 Not generating getFoo(): A method with that name already exists
+62 Not generating isFoo(): A method with that name already exists
+68 Not generating isFoo(): A method with that name already exists (getFoo)
+86 Not generating getFoo(): A method with that name already exists
+104 Not generating getFoo(): A method with that name already exists
diff --git a/test/transform/resource/messages-delombok/GetterBoolean.java.messages b/test/transform/resource/messages-delombok/GetterBoolean.java.messages
index 91ad3512..ab9d659d 100644
--- a/test/transform/resource/messages-delombok/GetterBoolean.java.messages
+++ b/test/transform/resource/messages-delombok/GetterBoolean.java.messages
@@ -1 +1 @@
-13:9 Not generating isFoo(): A method with that name already exists (getFoo) \ No newline at end of file
+13 Not generating isFoo(): A method with that name already exists (getFoo) \ No newline at end of file
diff --git a/test/transform/resource/messages-delombok/GetterLazyInvalid.java.messages b/test/transform/resource/messages-delombok/GetterLazyInvalid.java.messages
index 5c72fd56..5cb47108 100644
--- a/test/transform/resource/messages-delombok/GetterLazyInvalid.java.messages
+++ b/test/transform/resource/messages-delombok/GetterLazyInvalid.java.messages
@@ -1,6 +1,6 @@
-2:9 'lazy' requires the field to be private and final.
-6:9 'lazy' requires the field to be private and final.
-10:9 'lazy' requires the field to be private and final.
-14:9 'lazy' does not work with AccessLevel.NONE.
-17:1 'lazy' is not supported for @Getter on a type.
-22:9 'lazy' requires field initialization. \ No newline at end of file
+2 'lazy' requires the field to be private and final.
+6 'lazy' requires the field to be private and final.
+10 'lazy' requires the field to be private and final.
+14 'lazy' does not work with AccessLevel.NONE.
+17 'lazy' is not supported for @Getter on a type.
+22 'lazy' requires field initialization. \ No newline at end of file
diff --git a/test/transform/resource/messages-delombok/GetterOnMethodErrors.java.messages b/test/transform/resource/messages-delombok/GetterOnMethodErrors.java.messages
index 4c82f730..26c30298 100644
--- a/test/transform/resource/messages-delombok/GetterOnMethodErrors.java.messages
+++ b/test/transform/resource/messages-delombok/GetterOnMethodErrors.java.messages
@@ -1 +1 @@
-3:1 'onMethod' is not supported for @Getter on a type. \ No newline at end of file
+3 'onMethod' is not supported for @Getter on a type. \ No newline at end of file
diff --git a/test/transform/resource/messages-delombok/GetterOnMethodErrors2.java.messages b/test/transform/resource/messages-delombok/GetterOnMethodErrors2.java.messages
index ead040a5..53a9b9ad 100644
--- a/test/transform/resource/messages-delombok/GetterOnMethodErrors2.java.messages
+++ b/test/transform/resource/messages-delombok/GetterOnMethodErrors2.java.messages
@@ -1,4 +1,4 @@
-2:9 The correct format is @Getter(onMethod=@_({@SomeAnnotation, @SomeOtherAnnotation}))
-3:9 The correct format is @Getter(onMethod=@_({@SomeAnnotation, @SomeOtherAnnotation}))
-4:9 The correct format is @Getter(onMethod=@_({@SomeAnnotation, @SomeOtherAnnotation}))
-5:9 The correct format is @Getter(onMethod=@_({@SomeAnnotation, @SomeOtherAnnotation}))
+2 The correct format is @Getter(onMethod=@__({@SomeAnnotation, @SomeOtherAnnotation}))
+3 The correct format is @Getter(onMethod=@__({@SomeAnnotation, @SomeOtherAnnotation}))
+4 The correct format is @Getter(onMethod=@__({@SomeAnnotation, @SomeOtherAnnotation}))
+5 The correct format is @Getter(onMethod=@__({@SomeAnnotation, @SomeOtherAnnotation}))
diff --git a/test/transform/resource/messages-delombok/LoggerSlf4jAlreadyExists.java.messages b/test/transform/resource/messages-delombok/LoggerSlf4jAlreadyExists.java.messages
index 8aa22226..db5f9891 100644
--- a/test/transform/resource/messages-delombok/LoggerSlf4jAlreadyExists.java.messages
+++ b/test/transform/resource/messages-delombok/LoggerSlf4jAlreadyExists.java.messages
@@ -1 +1 @@
-1:1 Field 'log' already exists.
+1 Field 'log' already exists.
diff --git a/test/transform/resource/messages-delombok/LoggerSlf4jOnNonStaticInnerClass.java.messages b/test/transform/resource/messages-delombok/LoggerSlf4jOnNonStaticInnerClass.java.messages
index 570a169b..128a0c62 100644
--- a/test/transform/resource/messages-delombok/LoggerSlf4jOnNonStaticInnerClass.java.messages
+++ b/test/transform/resource/messages-delombok/LoggerSlf4jOnNonStaticInnerClass.java.messages
@@ -1 +1 @@
-2:9 @Log is not legal on non-static inner classes. \ No newline at end of file
+2 @Log is not legal on non-static inner classes. \ No newline at end of file
diff --git a/test/transform/resource/messages-delombok/LoggerSlf4jOnNonType.java.messages b/test/transform/resource/messages-delombok/LoggerSlf4jOnNonType.java.messages
index ebc23411..262fbb27 100644
--- a/test/transform/resource/messages-delombok/LoggerSlf4jOnNonType.java.messages
+++ b/test/transform/resource/messages-delombok/LoggerSlf4jOnNonType.java.messages
@@ -1 +1 @@
-2:9 @Log is legal only on types. \ No newline at end of file
+2 @Log is legal only on types. \ No newline at end of file
diff --git a/test/transform/resource/messages-delombok/LoggerSlf4jTypes.java.messages b/test/transform/resource/messages-delombok/LoggerSlf4jTypes.java.messages
index a525dd27..08f6bb7b 100644
--- a/test/transform/resource/messages-delombok/LoggerSlf4jTypes.java.messages
+++ b/test/transform/resource/messages-delombok/LoggerSlf4jTypes.java.messages
@@ -1,2 +1,2 @@
-1:1 @Log is legal only on classes and enums.
-4:1 @Log is legal only on classes and enums. \ No newline at end of file
+1 @Log is legal only on classes and enums.
+4 @Log is legal only on classes and enums. \ No newline at end of file
diff --git a/test/transform/resource/messages-delombok/NonNullOnParameter.java.messages b/test/transform/resource/messages-delombok/NonNullOnParameter.java.messages
index ac87adcd..042c97f8 100644
--- a/test/transform/resource/messages-delombok/NonNullOnParameter.java.messages
+++ b/test/transform/resource/messages-delombok/NonNullOnParameter.java.messages
@@ -1 +1 @@
-22:89 @NonNull is meaningless on a primitive.
+22 @NonNull is meaningless on a primitive.
diff --git a/test/transform/resource/messages-delombok/NonNullOnParameterAbstract.java.messages b/test/transform/resource/messages-delombok/NonNullOnParameterAbstract.java.messages
new file mode 100644
index 00000000..fd5bffd5
--- /dev/null
+++ b/test/transform/resource/messages-delombok/NonNullOnParameterAbstract.java.messages
@@ -0,0 +1 @@
+6 @NonNull is meaningless on a parameter of an abstract method.
diff --git a/test/transform/resource/messages-delombok/NonNullPlain.java.messages b/test/transform/resource/messages-delombok/NonNullPlain.java.messages
index 67eb8abe..4033f645 100644
--- a/test/transform/resource/messages-delombok/NonNullPlain.java.messages
+++ b/test/transform/resource/messages-delombok/NonNullPlain.java.messages
@@ -1 +1 @@
-7:9 @NonNull is meaningless on a primitive. \ No newline at end of file
+8 @NonNull is meaningless on a primitive. \ No newline at end of file
diff --git a/test/transform/resource/messages-delombok/SetterAlreadyExists.java.messages b/test/transform/resource/messages-delombok/SetterAlreadyExists.java.messages
index 9cece93c..4b1e209b 100644
--- a/test/transform/resource/messages-delombok/SetterAlreadyExists.java.messages
+++ b/test/transform/resource/messages-delombok/SetterAlreadyExists.java.messages
@@ -1,7 +1,7 @@
-2:9 Not generating setFoo(): A method with that name already exists
-8:9 Not generating setFoo(): A method with that name already exists
-14:9 Not generating setFoo(): A method with that name already exists
-20:9 Not generating setFoo(): A method with that name already exists
-38:9 Not generating setFoo(): A method with that name already exists
-44:9 Not generating setFoo(): A method with that name already exists (setIsFoo)
-50:9 Not generating setFoo(): A method with that name already exists
+2 Not generating setFoo(): A method with that name already exists
+8 Not generating setFoo(): A method with that name already exists
+14 Not generating setFoo(): A method with that name already exists
+20 Not generating setFoo(): A method with that name already exists
+38 Not generating setFoo(): A method with that name already exists
+44 Not generating setFoo(): A method with that name already exists (setIsFoo)
+50 Not generating setFoo(): A method with that name already exists
diff --git a/test/transform/resource/messages-delombok/SetterOnMethod.java.messages b/test/transform/resource/messages-delombok/SetterOnMethod.java.messages
index 9473d5b3..1be8f1ea 100644
--- a/test/transform/resource/messages-delombok/SetterOnMethod.java.messages
+++ b/test/transform/resource/messages-delombok/SetterOnMethod.java.messages
@@ -1,7 +1,7 @@
-3:34 incompatible types
-4:44 incompatible types
-6:26 incompatible types
-11:26 incompatible types
-14:44 incompatible types
-6:1 'onMethod' is not supported for @Setter on a type.
-11:1 'onMethod' is not supported for @Setter on a type.
+3 incompatible types
+4 incompatible types
+6 incompatible types
+11 incompatible types
+14 incompatible types
+6 'onMethod' is not supported for @Setter on a type.
+11 'onMethod' is not supported for @Setter on a type.
diff --git a/test/transform/resource/messages-delombok/SetterOnParam.java.messages b/test/transform/resource/messages-delombok/SetterOnParam.java.messages
index b8c69eca..828d9511 100644
--- a/test/transform/resource/messages-delombok/SetterOnParam.java.messages
+++ b/test/transform/resource/messages-delombok/SetterOnParam.java.messages
@@ -1,7 +1,7 @@
-3:33 incompatible types
-4:43 incompatible types
-6:25 incompatible types
-11:25 incompatible types
-14:43 incompatible types
-6:1 'onParam' is not supported for @Setter on a type.
-11:1 'onParam' is not supported for @Setter on a type.
+3 incompatible types
+4 incompatible types
+6 incompatible types
+11 incompatible types
+14 incompatible types
+6 'onParam' is not supported for @Setter on a type.
+11 'onParam' is not supported for @Setter on a type.
diff --git a/test/transform/resource/messages-delombok/SetterOnParamAndOnMethod.java.messages b/test/transform/resource/messages-delombok/SetterOnParamAndOnMethod.java.messages
index 7324f6f3..86cbd0e6 100644
--- a/test/transform/resource/messages-delombok/SetterOnParamAndOnMethod.java.messages
+++ b/test/transform/resource/messages-delombok/SetterOnParamAndOnMethod.java.messages
@@ -1,2 +1,2 @@
-2:34 incompatible types
-2:54 incompatible types
+2 incompatible types
+2 incompatible types
diff --git a/test/transform/resource/messages-delombok/SimpleTypeResolution.java.messages b/test/transform/resource/messages-delombok/SimpleTypeResolution.java.messages
index 7acd35ed..ec74f090 100644
--- a/test/transform/resource/messages-delombok/SimpleTypeResolution.java.messages
+++ b/test/transform/resource/messages-delombok/SimpleTypeResolution.java.messages
@@ -1 +1 @@
-2:10 cannot find symbol
+2 cannot find symbol
diff --git a/test/transform/resource/messages-delombok/SynchronizedNameNoSuchField.java.messages b/test/transform/resource/messages-delombok/SynchronizedNameNoSuchField.java.messages
index f282d34d..ae351773 100644
--- a/test/transform/resource/messages-delombok/SynchronizedNameNoSuchField.java.messages
+++ b/test/transform/resource/messages-delombok/SynchronizedNameNoSuchField.java.messages
@@ -1 +1 @@
-5:9 The field write does not exist.
+5 The field write does not exist.
diff --git a/test/transform/resource/messages-delombok/SynchronizedNameStaticToInstanceRef.java.messages b/test/transform/resource/messages-delombok/SynchronizedNameStaticToInstanceRef.java.messages
index 5d6bc958..fe0653c8 100644
--- a/test/transform/resource/messages-delombok/SynchronizedNameStaticToInstanceRef.java.messages
+++ b/test/transform/resource/messages-delombok/SynchronizedNameStaticToInstanceRef.java.messages
@@ -1 +1 @@
-5:9 non-static variable read cannot be referenced from a static context \ No newline at end of file
+5 non-static variable read cannot be referenced from a static context \ No newline at end of file
diff --git a/test/transform/resource/messages-delombok/ValErrors.java.messages b/test/transform/resource/messages-delombok/ValErrors.java.messages
index 887b8c21..bb33c6de 100644
--- a/test/transform/resource/messages-delombok/ValErrors.java.messages
+++ b/test/transform/resource/messages-delombok/ValErrors.java.messages
@@ -1,2 +1,2 @@
-5:21 Cannot use 'val' here because initializer expression does not have a representable type: Type cannot be resolved
-9:21 'val' is not compatible with array initializer expressions. Use the full form (new int[] { ... } instead of just { ... })
+5 Cannot use 'val' here because initializer expression does not have a representable type: Type cannot be resolved
+9 'val' is not compatible with array initializer expressions. Use the full form (new int[] { ... } instead of just { ... })
diff --git a/test/transform/resource/messages-delombok/ValInBasicFor.java.messages b/test/transform/resource/messages-delombok/ValInBasicFor.java.messages
index 9bca1be6..7166b550 100644
--- a/test/transform/resource/messages-delombok/ValInBasicFor.java.messages
+++ b/test/transform/resource/messages-delombok/ValInBasicFor.java.messages
@@ -1 +1 @@
-6:53 'val' is not allowed in old-style for loops
+6 'val' is not allowed in old-style for loops
diff --git a/test/transform/resource/messages-delombok/WitherAlreadyExists.java.messages b/test/transform/resource/messages-delombok/WitherAlreadyExists.java.messages
index b68f6398..d5e30e28 100644
--- a/test/transform/resource/messages-delombok/WitherAlreadyExists.java.messages
+++ b/test/transform/resource/messages-delombok/WitherAlreadyExists.java.messages
@@ -1,7 +1,7 @@
-2:9 Not generating withFoo(): A method with that name already exists
-12:9 Not generating withFoo(): A method with that name already exists
-22:9 Not generating withFoo(): A method with that name already exists
-32:9 Not generating withFoo(): A method with that name already exists
-62:9 Not generating withFoo(): A method with that name already exists
-72:9 Not generating withFoo(): A method with that name already exists (withIsFoo)
-82:9 Not generating withFoo(): A method with that name already exists
+2 Not generating withFoo(): A method with that name already exists
+12 Not generating withFoo(): A method with that name already exists
+22 Not generating withFoo(): A method with that name already exists
+32 Not generating withFoo(): A method with that name already exists
+62 Not generating withFoo(): A method with that name already exists
+72 Not generating withFoo(): A method with that name already exists (withIsFoo)
+82 Not generating withFoo(): A method with that name already exists
diff --git a/test/transform/resource/messages-delombok/WitherOnStatic.java.messages b/test/transform/resource/messages-delombok/WitherOnStatic.java.messages
index 9dd69e75..3af59fa1 100644
--- a/test/transform/resource/messages-delombok/WitherOnStatic.java.messages
+++ b/test/transform/resource/messages-delombok/WitherOnStatic.java.messages
@@ -1,2 +1,2 @@
-2:9 Not generating wither for this field: Withers cannot be generated for static fields.
-3:9 Not generating wither for this field: Withers cannot be generated for static fields.
+2 Not generating wither for this field: Withers cannot be generated for static fields.
+3 Not generating wither for this field: Withers cannot be generated for static fields.
diff --git a/test/transform/resource/messages-delombok/WitherWithDollar.java.messages b/test/transform/resource/messages-delombok/WitherWithDollar.java.messages
index 74eeabba..84603868 100644
--- a/test/transform/resource/messages-delombok/WitherWithDollar.java.messages
+++ b/test/transform/resource/messages-delombok/WitherWithDollar.java.messages
@@ -1 +1 @@
-2:9 Not generating wither for this field: Withers cannot be generated for fields starting with $.
+2 Not generating wither for this field: Withers cannot be generated for fields starting with $.
diff --git a/test/transform/resource/messages-ecj/Accessors.java.messages b/test/transform/resource/messages-ecj/Accessors.java.messages
index 3e6bbd69..c955f664 100644
--- a/test/transform/resource/messages-ecj/Accessors.java.messages
+++ b/test/transform/resource/messages-ecj/Accessors.java.messages
@@ -1 +1 @@
-19:530 Not generating setter for this field: It does not fit your @Accessors prefix list.
+19 Not generating setter for this field: It does not fit your @Accessors prefix list.
diff --git a/test/transform/resource/messages-ecj/BuilderInvalidUse.java.messages b/test/transform/resource/messages-ecj/BuilderInvalidUse.java.messages
index 8ffc6e26..84942101 100644
--- a/test/transform/resource/messages-ecj/BuilderInvalidUse.java.messages
+++ b/test/transform/resource/messages-ecj/BuilderInvalidUse.java.messages
@@ -1,2 +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
+1 @Getter, @Setter, @FieldDefaults, @Wither, @Data, @ToString, @EqualsAndHashCode, @AllArgsConstructor are not allowed on builder classes.
+12 @Value is not allowed on builder classes. \ No newline at end of file
diff --git a/test/transform/resource/messages-ecj/ConflictingStaticConstructorNames.java.messages b/test/transform/resource/messages-ecj/ConflictingStaticConstructorNames.java.messages
index 50f2e97f..4f915bbe 100644
--- a/test/transform/resource/messages-ecj/ConflictingStaticConstructorNames.java.messages
+++ b/test/transform/resource/messages-ecj/ConflictingStaticConstructorNames.java.messages
@@ -1 +1 @@
-1:0 Ignoring static constructor name: explicit @XxxArgsConstructor annotation present; its `staticName` parameter will be used.
+1 Ignoring static constructor name: explicit @XxxArgsConstructor annotation present; its `staticName` parameter will be used.
diff --git a/test/transform/resource/messages-ecj/EqualsAndHashCodeWithExistingMethods.java.messages b/test/transform/resource/messages-ecj/EqualsAndHashCodeWithExistingMethods.java.messages
index db144316..b3490fd0 100644
--- a/test/transform/resource/messages-ecj/EqualsAndHashCodeWithExistingMethods.java.messages
+++ b/test/transform/resource/messages-ecj/EqualsAndHashCodeWithExistingMethods.java.messages
@@ -1,3 +1,3 @@
-1:0 Not generating equals, hashCode and canEquals: A method with one of those names already exists. (Either all or none of these methods will be generated).
-10:125 Not generating equals and hashCode: A method with one of those names already exists. (Either all or none of these methods will be generated).
-19:274 Not generating equals, hashCode and canEquals: A method with one of those names already exists. (Either all or none of these methods will be generated).
+1 Not generating equals, hashCode and canEquals: A method with one of those names already exists. (Either all or none of these methods will be generated).
+10 Not generating equals and hashCode: A method with one of those names already exists. (Either all or none of these methods will be generated).
+19 Not generating equals, hashCode and canEquals: A method with one of those names already exists. (Either all or none of these methods will be generated).
diff --git a/test/transform/resource/messages-ecj/EqualsAndHashCodeWithSomeExistingMethods.java.messages b/test/transform/resource/messages-ecj/EqualsAndHashCodeWithSomeExistingMethods.java.messages
index cf6ebea2..75ddfa54 100644
--- a/test/transform/resource/messages-ecj/EqualsAndHashCodeWithSomeExistingMethods.java.messages
+++ b/test/transform/resource/messages-ecj/EqualsAndHashCodeWithSomeExistingMethods.java.messages
@@ -1,2 +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).
+4 Not generating equals: One of equals, hashCode, and canEqual exists. You should either write all of these or none of these (in the latter case, lombok generates them).
+15 Not generating equals and hashCode: One of equals, hashCode, and canEqual exists. You should either write all of these or none of these (in the latter case, lombok generates them).
diff --git a/test/transform/resource/messages-ecj/FieldDefaultsNoop.java.messages b/test/transform/resource/messages-ecj/FieldDefaultsNoop.java.messages
index 5903679b..9fac15c4 100644
--- a/test/transform/resource/messages-ecj/FieldDefaultsNoop.java.messages
+++ b/test/transform/resource/messages-ecj/FieldDefaultsNoop.java.messages
@@ -1 +1 @@
-1:0 This does nothing; provide either level or makeFinal or both. \ No newline at end of file
+1 This does nothing; provide either level or makeFinal or both. \ No newline at end of file
diff --git a/test/transform/resource/messages-ecj/GetterAlreadyExists.java.messages b/test/transform/resource/messages-ecj/GetterAlreadyExists.java.messages
index ae62a1fb..7d99aa69 100644
--- a/test/transform/resource/messages-ecj/GetterAlreadyExists.java.messages
+++ b/test/transform/resource/messages-ecj/GetterAlreadyExists.java.messages
@@ -1,8 +1,8 @@
-8:102 Not generating isFoo(): A method with that name already exists
-14:186 Not generating isFoo(): A method with that name already exists (getFoo)
-32:436 Not generating getFoo(): A method with that name already exists
-50:688 Not generating getFoo(): A method with that name already exists
-62:868 Not generating isFoo(): A method with that name already exists
-68:961 Not generating isFoo(): A method with that name already exists (getFoo)
-86:1240 Not generating getFoo(): A method with that name already exists
-104:1510 Not generating getFoo(): A method with that name already exists
+8 Not generating isFoo(): A method with that name already exists
+14 Not generating isFoo(): A method with that name already exists (getFoo)
+32 Not generating getFoo(): A method with that name already exists
+50 Not generating getFoo(): A method with that name already exists
+62 Not generating isFoo(): A method with that name already exists
+68 Not generating isFoo(): A method with that name already exists (getFoo)
+86 Not generating getFoo(): A method with that name already exists
+104 Not generating getFoo(): A method with that name already exists
diff --git a/test/transform/resource/messages-ecj/GetterBoolean.java.messages b/test/transform/resource/messages-ecj/GetterBoolean.java.messages
index 8ae086f6..8ebf0a31 100644
--- a/test/transform/resource/messages-ecj/GetterBoolean.java.messages
+++ b/test/transform/resource/messages-ecj/GetterBoolean.java.messages
@@ -1 +1 @@
-13:220 Not generating isFoo(): A method with that name already exists (getFoo)
+13 Not generating isFoo(): A method with that name already exists (getFoo)
diff --git a/test/transform/resource/messages-ecj/GetterLazyInvalid.java.messages b/test/transform/resource/messages-ecj/GetterLazyInvalid.java.messages
index 9ecf0fc0..b18843e6 100644
--- a/test/transform/resource/messages-ecj/GetterLazyInvalid.java.messages
+++ b/test/transform/resource/messages-ecj/GetterLazyInvalid.java.messages
@@ -1,6 +1,6 @@
-2:35 'lazy' requires the field to be private and final.
-6:132 'lazy' requires the field to be private and final.
-10:232 'lazy' requires the field to be private and final.
-14:315 'lazy' does not work with AccessLevel.NONE.
-17:412 'lazy' is not supported for @Getter on a type.
-22:544 'lazy' requires field initialization.
+2 'lazy' requires the field to be private and final.
+6 'lazy' requires the field to be private and final.
+10 'lazy' requires the field to be private and final.
+14 'lazy' does not work with AccessLevel.NONE.
+17 'lazy' is not supported for @Getter on a type.
+22 'lazy' requires field initialization.
diff --git a/test/transform/resource/messages-ecj/GetterOnMethodErrors.java.messages b/test/transform/resource/messages-ecj/GetterOnMethodErrors.java.messages
index 804e8a3c..26c30298 100644
--- a/test/transform/resource/messages-ecj/GetterOnMethodErrors.java.messages
+++ b/test/transform/resource/messages-ecj/GetterOnMethodErrors.java.messages
@@ -1 +1 @@
-3:50 'onMethod' is not supported for @Getter on a type. \ No newline at end of file
+3 'onMethod' is not supported for @Getter on a type. \ No newline at end of file
diff --git a/test/transform/resource/messages-ecj/GetterOnMethodErrors2.java.messages b/test/transform/resource/messages-ecj/GetterOnMethodErrors2.java.messages
index 6b949f41..53a9b9ad 100644
--- a/test/transform/resource/messages-ecj/GetterOnMethodErrors2.java.messages
+++ b/test/transform/resource/messages-ecj/GetterOnMethodErrors2.java.messages
@@ -1,4 +1,4 @@
-2:31 The correct format is @Getter(onMethod=@_({@SomeAnnotation, @SomeOtherAnnotation}))
-3:93 The correct format is @Getter(onMethod=@_({@SomeAnnotation, @SomeOtherAnnotation}))
-4:143 The correct format is @Getter(onMethod=@_({@SomeAnnotation, @SomeOtherAnnotation}))
-5:208 The correct format is @Getter(onMethod=@_({@SomeAnnotation, @SomeOtherAnnotation}))
+2 The correct format is @Getter(onMethod=@__({@SomeAnnotation, @SomeOtherAnnotation}))
+3 The correct format is @Getter(onMethod=@__({@SomeAnnotation, @SomeOtherAnnotation}))
+4 The correct format is @Getter(onMethod=@__({@SomeAnnotation, @SomeOtherAnnotation}))
+5 The correct format is @Getter(onMethod=@__({@SomeAnnotation, @SomeOtherAnnotation}))
diff --git a/test/transform/resource/messages-ecj/LoggerSlf4jAlreadyExists.java.messages b/test/transform/resource/messages-ecj/LoggerSlf4jAlreadyExists.java.messages
index 859e29d8..db5f9891 100644
--- a/test/transform/resource/messages-ecj/LoggerSlf4jAlreadyExists.java.messages
+++ b/test/transform/resource/messages-ecj/LoggerSlf4jAlreadyExists.java.messages
@@ -1 +1 @@
-1:0 Field 'log' already exists.
+1 Field 'log' already exists.
diff --git a/test/transform/resource/messages-ecj/LoggerSlf4jOnNonStaticInnerClass.java.messages b/test/transform/resource/messages-ecj/LoggerSlf4jOnNonStaticInnerClass.java.messages
index 570a169b..128a0c62 100644
--- a/test/transform/resource/messages-ecj/LoggerSlf4jOnNonStaticInnerClass.java.messages
+++ b/test/transform/resource/messages-ecj/LoggerSlf4jOnNonStaticInnerClass.java.messages
@@ -1 +1 @@
-2:9 @Log is not legal on non-static inner classes. \ No newline at end of file
+2 @Log is not legal on non-static inner classes. \ No newline at end of file
diff --git a/test/transform/resource/messages-ecj/LoggerSlf4jOnNonType.java.messages b/test/transform/resource/messages-ecj/LoggerSlf4jOnNonType.java.messages
index b6848135..81e9b718 100644
--- a/test/transform/resource/messages-ecj/LoggerSlf4jOnNonType.java.messages
+++ b/test/transform/resource/messages-ecj/LoggerSlf4jOnNonType.java.messages
@@ -1 +1 @@
-2:30 The annotation @Slf4j is disallowed for this location
+2 The annotation @Slf4j is disallowed for this location
diff --git a/test/transform/resource/messages-ecj/LoggerSlf4jTypes.java.messages b/test/transform/resource/messages-ecj/LoggerSlf4jTypes.java.messages
index b9f8b63f..949886d5 100644
--- a/test/transform/resource/messages-ecj/LoggerSlf4jTypes.java.messages
+++ b/test/transform/resource/messages-ecj/LoggerSlf4jTypes.java.messages
@@ -1,2 +1,2 @@
-1:0 @Slf4j is legal only on classes and enums.
-4:67 @Slf4j is legal only on classes and enums.
+1 @Slf4j is legal only on classes and enums.
+4 @Slf4j is legal only on classes and enums.
diff --git a/test/transform/resource/messages-ecj/NonNullOnParameter.java.messages b/test/transform/resource/messages-ecj/NonNullOnParameter.java.messages
index 1539929b..4b7d18b3 100644
--- a/test/transform/resource/messages-ecj/NonNullOnParameter.java.messages
+++ b/test/transform/resource/messages-ecj/NonNullOnParameter.java.messages
@@ -1,3 +1,3 @@
-15:460 Dead code
-22:683 @NonNull is meaningless on a primitive.
-28:823 Dead code \ No newline at end of file
+15 Dead code
+22 @NonNull is meaningless on a primitive.
+28 Dead code \ No newline at end of file
diff --git a/test/transform/resource/messages-ecj/NonNullOnParameterAbstract.java.messages b/test/transform/resource/messages-ecj/NonNullOnParameterAbstract.java.messages
new file mode 100644
index 00000000..8eb312ef
--- /dev/null
+++ b/test/transform/resource/messages-ecj/NonNullOnParameterAbstract.java.messages
@@ -0,0 +1 @@
+6 @NonNull is meaningless on a parameter of an abstract method. \ 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
index 96eed252..1c33c701 100644
--- a/test/transform/resource/messages-ecj/NonNullPlain.java.messages
+++ b/test/transform/resource/messages-ecj/NonNullPlain.java.messages
@@ -1 +1 @@
-7:116 @NonNull is meaningless on a primitive. \ No newline at end of file
+7 @NonNull is meaningless on a primitive. \ No newline at end of file
diff --git a/test/transform/resource/messages-ecj/SetterAlreadyExists.java.messages b/test/transform/resource/messages-ecj/SetterAlreadyExists.java.messages
index 5fc0a365..4b1e209b 100644
--- a/test/transform/resource/messages-ecj/SetterAlreadyExists.java.messages
+++ b/test/transform/resource/messages-ecj/SetterAlreadyExists.java.messages
@@ -1,7 +1,7 @@
-2:17 Not generating setFoo(): A method with that name already exists
-8:96 Not generating setFoo(): A method with that name already exists
-14:174 Not generating setFoo(): A method with that name already exists
-20:252 Not generating setFoo(): A method with that name already exists
-38:480 Not generating setFoo(): A method with that name already exists
-44:570 Not generating setFoo(): A method with that name already exists (setIsFoo)
-50:653 Not generating setFoo(): A method with that name already exists
+2 Not generating setFoo(): A method with that name already exists
+8 Not generating setFoo(): A method with that name already exists
+14 Not generating setFoo(): A method with that name already exists
+20 Not generating setFoo(): A method with that name already exists
+38 Not generating setFoo(): A method with that name already exists
+44 Not generating setFoo(): A method with that name already exists (setIsFoo)
+50 Not generating setFoo(): A method with that name already exists
diff --git a/test/transform/resource/messages-ecj/SetterOnMethod.java.messages b/test/transform/resource/messages-ecj/SetterOnMethod.java.messages
index ecfa3f69..8e7ff7f8 100644
--- a/test/transform/resource/messages-ecj/SetterOnMethod.java.messages
+++ b/test/transform/resource/messages-ecj/SetterOnMethod.java.messages
@@ -1,2 +1,2 @@
-6:0 'onMethod' is not supported for @Setter on a type.
-11:0 'onMethod' is not supported for @Setter on a type. \ No newline at end of file
+6 'onMethod' is not supported for @Setter on a type.
+11 'onMethod' is not supported for @Setter on a type. \ No newline at end of file
diff --git a/test/transform/resource/messages-ecj/SetterOnParam.java.messages b/test/transform/resource/messages-ecj/SetterOnParam.java.messages
index 7d0c4a1e..dbab4caa 100644
--- a/test/transform/resource/messages-ecj/SetterOnParam.java.messages
+++ b/test/transform/resource/messages-ecj/SetterOnParam.java.messages
@@ -1,2 +1,2 @@
-6:0 'onParam' is not supported for @Setter on a type.
-11:0 'onParam' is not supported for @Setter on a type. \ No newline at end of file
+6 'onParam' is not supported for @Setter on a type.
+11 'onParam' is not supported for @Setter on a type. \ No newline at end of file
diff --git a/test/transform/resource/messages-ecj/SimpleTypeResolution.java.messages b/test/transform/resource/messages-ecj/SimpleTypeResolution.java.messages
index eb33b0df..87edc6c2 100644
--- a/test/transform/resource/messages-ecj/SimpleTypeResolution.java.messages
+++ b/test/transform/resource/messages-ecj/SimpleTypeResolution.java.messages
@@ -1 +1 @@
-2:35 Getter cannot be resolved to a type
+2 Getter cannot be resolved to a type
diff --git a/test/transform/resource/messages-ecj/SynchronizedName.java.messages b/test/transform/resource/messages-ecj/SynchronizedName.java.messages
index 0ad3be0a..5322f9d2 100644
--- a/test/transform/resource/messages-ecj/SynchronizedName.java.messages
+++ b/test/transform/resource/messages-ecj/SynchronizedName.java.messages
@@ -1 +1 @@
-8:185 The static field SynchronizedName.READ should be accessed in a static way
+8 The static field SynchronizedName.READ should be accessed in a static way
diff --git a/test/transform/resource/messages-ecj/SynchronizedNameNoSuchField.java.messages b/test/transform/resource/messages-ecj/SynchronizedNameNoSuchField.java.messages
index b07f020c..ae351773 100644
--- a/test/transform/resource/messages-ecj/SynchronizedNameNoSuchField.java.messages
+++ b/test/transform/resource/messages-ecj/SynchronizedNameNoSuchField.java.messages
@@ -1 +1 @@
-5:120 The field write does not exist.
+5 The field write does not exist.
diff --git a/test/transform/resource/messages-ecj/SynchronizedNameStaticToInstanceRef.java.messages b/test/transform/resource/messages-ecj/SynchronizedNameStaticToInstanceRef.java.messages
index 834877ef..98b9c948 100644
--- a/test/transform/resource/messages-ecj/SynchronizedNameStaticToInstanceRef.java.messages
+++ b/test/transform/resource/messages-ecj/SynchronizedNameStaticToInstanceRef.java.messages
@@ -1 +1 @@
-5:127 Cannot make a static reference to the non-static field SynchronizedNameStaticToInstanceRef.read
+5 Cannot make a static reference to the non-static field SynchronizedNameStaticToInstanceRef.read
diff --git a/test/transform/resource/messages-ecj/ValErrors.java.messages b/test/transform/resource/messages-ecj/ValErrors.java.messages
index fda58094..6d53ddd6 100644
--- a/test/transform/resource/messages-ecj/ValErrors.java.messages
+++ b/test/transform/resource/messages-ecj/ValErrors.java.messages
@@ -1,2 +1,2 @@
-5:95 d cannot be resolved to a variable
-9:143 'val' is not compatible with array initializer expressions. Use the full form (new int[] { ... } instead of just { ... })
+5 d cannot be resolved to a variable
+9 'val' is not compatible with array initializer expressions. Use the full form (new int[] { ... } instead of just { ... })
diff --git a/test/transform/resource/messages-ecj/ValInBasicFor.java.messages b/test/transform/resource/messages-ecj/ValInBasicFor.java.messages
index 068d72b9..c75e20f2 100644
--- a/test/transform/resource/messages-ecj/ValInBasicFor.java.messages
+++ b/test/transform/resource/messages-ecj/ValInBasicFor.java.messages
@@ -1,4 +1,2 @@
-6:160 'val' is not allowed in old-style for loops
-6:171 Type mismatch: cannot convert from int to val
-6:174 'val' is not allowed in old-style for loops
-6:187 'val' is not allowed in old-style for loops
+6 'val' is not allowed in old-style for loops
+6 Type mismatch: cannot convert from int to val
diff --git a/test/transform/resource/messages-ecj/ValRawType.java.messages b/test/transform/resource/messages-ecj/ValRawType.java.messages
index b7669ede..2a1fbba6 100644
--- a/test/transform/resource/messages-ecj/ValRawType.java.messages
+++ b/test/transform/resource/messages-ecj/ValRawType.java.messages
@@ -1 +1 @@
-13:260 List is a raw type. References to generic type List<E> should be parameterized
+13 List is a raw type. References to generic type List<E> should be parameterized
diff --git a/test/transform/resource/messages-ecj/ValueExperimental.java.messages b/test/transform/resource/messages-ecj/ValueExperimental.java.messages
index db4520ca..e454a878 100644
--- a/test/transform/resource/messages-ecj/ValueExperimental.java.messages
+++ b/test/transform/resource/messages-ecj/ValueExperimental.java.messages
@@ -1 +1 @@
-1:7 The type Value is deprecated \ No newline at end of file
+1 The type Value is deprecated \ No newline at end of file
diff --git a/test/transform/resource/messages-ecj/WitherAlreadyExists.java.messages b/test/transform/resource/messages-ecj/WitherAlreadyExists.java.messages
index 87459eb2..d5e30e28 100644
--- a/test/transform/resource/messages-ecj/WitherAlreadyExists.java.messages
+++ b/test/transform/resource/messages-ecj/WitherAlreadyExists.java.messages
@@ -1,7 +1,7 @@
-2:17 Not generating withFoo(): A method with that name already exists
-12:141 Not generating withFoo(): A method with that name already exists
-22:264 Not generating withFoo(): A method with that name already exists
-32:386 Not generating withFoo(): A method with that name already exists
-62:746 Not generating withFoo(): A method with that name already exists
-72:880 Not generating withFoo(): A method with that name already exists (withIsFoo)
-82:1008 Not generating withFoo(): A method with that name already exists
+2 Not generating withFoo(): A method with that name already exists
+12 Not generating withFoo(): A method with that name already exists
+22 Not generating withFoo(): A method with that name already exists
+32 Not generating withFoo(): A method with that name already exists
+62 Not generating withFoo(): A method with that name already exists
+72 Not generating withFoo(): A method with that name already exists (withIsFoo)
+82 Not generating withFoo(): A method with that name already exists
diff --git a/test/transform/resource/messages-ecj/WitherOnStatic.java.messages b/test/transform/resource/messages-ecj/WitherOnStatic.java.messages
index 72e39f62..3af59fa1 100644
--- a/test/transform/resource/messages-ecj/WitherOnStatic.java.messages
+++ b/test/transform/resource/messages-ecj/WitherOnStatic.java.messages
@@ -1,2 +1,2 @@
-2:24 Not generating wither for this field: Withers cannot be generated for static fields.
-3:73 Not generating wither for this field: Withers cannot be generated for static fields.
+2 Not generating wither for this field: Withers cannot be generated for static fields.
+3 Not generating wither for this field: Withers cannot be generated for static fields.
diff --git a/test/transform/resource/messages-ecj/WitherWithDollar.java.messages b/test/transform/resource/messages-ecj/WitherWithDollar.java.messages
index 93203dbb..84603868 100644
--- a/test/transform/resource/messages-ecj/WitherWithDollar.java.messages
+++ b/test/transform/resource/messages-ecj/WitherWithDollar.java.messages
@@ -1 +1 @@
-2:26 Not generating wither for this field: Withers cannot be generated for fields starting with $.
+2 Not generating wither for this field: Withers cannot be generated for fields starting with $.
diff --git a/test/transform/resource/messages-idempotent/NonNullOnParameter.java.messages b/test/transform/resource/messages-idempotent/NonNullOnParameter.java.messages
index fd23a32a..57556bf3 100644
--- a/test/transform/resource/messages-idempotent/NonNullOnParameter.java.messages
+++ b/test/transform/resource/messages-idempotent/NonNullOnParameter.java.messages
@@ -1 +1 @@
-33:89 @NonNull is meaningless on a primitive. \ No newline at end of file
+33 @NonNull is meaningless on a primitive. \ No newline at end of file
diff --git a/test/transform/resource/messages-idempotent/NonNullOnParameterAbstract.java.messages b/test/transform/resource/messages-idempotent/NonNullOnParameterAbstract.java.messages
new file mode 100644
index 00000000..0d9fcfdc
--- /dev/null
+++ b/test/transform/resource/messages-idempotent/NonNullOnParameterAbstract.java.messages
@@ -0,0 +1 @@
+9 @NonNull is meaningless on a parameter of an abstract method. \ 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
index c48da311..1d8c4d9c 100644
--- a/test/transform/resource/messages-idempotent/NonNullPlain.java.messages
+++ b/test/transform/resource/messages-idempotent/NonNullPlain.java.messages
@@ -1,3 +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
+3 @NonNull is meaningless on a primitive.
+15 @NonNull is meaningless on a primitive.
+37 @NonNull is meaningless on a primitive. \ No newline at end of file
diff --git a/test/transform/resource/messages-idempotent/SimpleTypeResolution.java.messages b/test/transform/resource/messages-idempotent/SimpleTypeResolution.java.messages
index 7acd35ed..ec74f090 100644
--- a/test/transform/resource/messages-idempotent/SimpleTypeResolution.java.messages
+++ b/test/transform/resource/messages-idempotent/SimpleTypeResolution.java.messages
@@ -1 +1 @@
-2:10 cannot find symbol
+2 cannot find symbol
diff --git a/test/transform/resource/messages-idempotent/SynchronizedNameStaticToInstanceRef.java.messages b/test/transform/resource/messages-idempotent/SynchronizedNameStaticToInstanceRef.java.messages
index ed3eccb1..53b39d98 100644
--- a/test/transform/resource/messages-idempotent/SynchronizedNameStaticToInstanceRef.java.messages
+++ b/test/transform/resource/messages-idempotent/SynchronizedNameStaticToInstanceRef.java.messages
@@ -1 +1 @@
-5:66 non-static variable read cannot be referenced from a static context
+5 non-static variable read cannot be referenced from a static context
diff --git a/test/transform/resource/messages-idempotent/ValErrors.java.messages b/test/transform/resource/messages-idempotent/ValErrors.java.messages
index 9bee37d4..c2432c6a 100644
--- a/test/transform/resource/messages-idempotent/ValErrors.java.messages
+++ b/test/transform/resource/messages-idempotent/ValErrors.java.messages
@@ -1,3 +1,3 @@
-3:44 cannot find symbol
-6:17 cannot find symbol
-6:25 illegal initializer for <none>
+3 cannot find symbol
+6 cannot find symbol
+6 illegal initializer for <none>
diff --git a/test/transform/resource/messages-idempotent/ValInBasicFor.java.messages b/test/transform/resource/messages-idempotent/ValInBasicFor.java.messages
index fb675485..67842eb9 100644
--- a/test/transform/resource/messages-idempotent/ValInBasicFor.java.messages
+++ b/test/transform/resource/messages-idempotent/ValInBasicFor.java.messages
@@ -1 +1 @@
-5:53 'val' is not allowed in old-style for loops
+5 'val' is not allowed in old-style for loops