From 850c3eaf07cd4beb2276b5e10296132b6ed3d7a6 Mon Sep 17 00:00:00 2001 From: peichhorn Date: Wed, 1 Jun 2011 02:44:53 +0200 Subject: Added a test infrastructure that simulates eclipse with diet-parse, type-binding and so forth. Similar to eclipse, the test needs to be executed with lombok as vm-agent. @Delegate runs with this setup, sadly val does not, at least for now. And as expected the tests shows that @Synchronized and @SneakyThrows are currently broken for eclipse but not for ecj. --- .../after-eclipse/ClassNamedAfterGetter.java | 9 + .../resource/after-eclipse/CleanupName.java | 33 ++++ .../resource/after-eclipse/CleanupPlain.java | 35 ++++ .../after-eclipse/CommentsInterspersed.java | 12 ++ .../resource/after-eclipse/Constructors.java | 56 ++++++ .../resource/after-eclipse/DataExtended.java | 36 ++++ .../resource/after-eclipse/DataIgnore.java | 35 ++++ .../resource/after-eclipse/DataOnEnum.java | 16 ++ .../resource/after-eclipse/DataOnLocalClass.java | 134 +++++++++++++ .../resource/after-eclipse/DataPlain.java | 208 +++++++++++++++++++++ .../resource/after-eclipse/DataWithGetter.java | 54 ++++++ .../resource/after-eclipse/DataWithGetterNone.java | 45 +++++ .../after-eclipse/DelegateTypesAndExcludes.java | 36 ++++ .../resource/after-eclipse/GetterAccessLevel.java | 43 +++++ .../after-eclipse/GetterAlreadyExists.java | 192 +++++++++++++++++++ .../resource/after-eclipse/GetterBoolean.java | 38 ++++ .../resource/after-eclipse/GetterLazy.java | 27 +++ .../after-eclipse/GetterLazyEahcToString.java | 53 ++++++ .../resource/after-eclipse/GetterLazyInvalid.java | 40 ++++ .../resource/after-eclipse/GetterLazyNative.java | 158 ++++++++++++++++ .../resource/after-eclipse/GetterOnClass.java | 68 +++++++ .../resource/after-eclipse/GetterOnMethod.java | 40 ++++ .../resource/after-eclipse/GetterOnStatic.java | 15 ++ .../resource/after-eclipse/GetterPlain.java | 14 ++ .../resource/after-eclipse/GetterWithDollar.java | 22 +++ .../resource/after-eclipse/LoggerCommons.java | 17 ++ .../resource/after-eclipse/LoggerJul.java | 17 ++ .../resource/after-eclipse/LoggerLog4j.java | 17 ++ .../resource/after-eclipse/LoggerSlf4j.java | 30 +++ .../after-eclipse/LoggerSlf4jAlreadyExists.java | 6 + .../after-eclipse/LoggerSlf4jOnNonType.java | 7 + .../resource/after-eclipse/LoggerSlf4jTypes.java | 31 +++ .../after-eclipse/LoggerSlf4jWithPackage.java | 1 + .../resource/after-eclipse/MultiFieldGetter.java | 28 +++ .../resource/after-eclipse/NonNullPlain.java | 21 +++ .../resource/after-eclipse/SetterAccessLevel.java | 26 +++ .../after-eclipse/SetterAlreadyExists.java | 72 +++++++ .../resource/after-eclipse/SetterOnClass.java | 69 +++++++ .../resource/after-eclipse/SetterOnMethod.java | 40 ++++ .../resource/after-eclipse/SetterOnParam.java | 40 ++++ .../after-eclipse/SetterOnParamAndOnMethod.java | 9 + .../resource/after-eclipse/SetterOnStatic.java | 15 ++ .../resource/after-eclipse/SetterPlain.java | 14 ++ .../resource/after-eclipse/SetterWithDollar.java | 22 +++ .../after-eclipse/SneakyThrowsMultiple.java | 63 +++++++ .../resource/after-eclipse/SneakyThrowsPlain.java | 24 +++ .../resource/after-eclipse/SneakyThrowsSingle.java | 35 ++++ .../resource/after-eclipse/SynchronizedName.java | 36 ++++ .../resource/after-eclipse/SynchronizedPlain.java | 39 ++++ .../resource/after-eclipse/ToStringInner.java | 43 +++++ .../resource/after-eclipse/ToStringPlain.java | 21 +++ .../resource/after-eclipse/ValComplex.java | 1 + .../resource/after-eclipse/ValErrors.java | 1 + .../transform/resource/after-eclipse/ValInFor.java | 1 + .../resource/after-eclipse/ValLessSimple.java | 1 + .../resource/after-eclipse/ValSimple.java | 1 + .../resource/after-eclipse/ValWeirdTypes.java | 1 + 57 files changed, 2168 insertions(+) create mode 100644 test/transform/resource/after-eclipse/ClassNamedAfterGetter.java create mode 100644 test/transform/resource/after-eclipse/CleanupName.java create mode 100644 test/transform/resource/after-eclipse/CleanupPlain.java create mode 100644 test/transform/resource/after-eclipse/CommentsInterspersed.java create mode 100644 test/transform/resource/after-eclipse/Constructors.java create mode 100644 test/transform/resource/after-eclipse/DataExtended.java create mode 100644 test/transform/resource/after-eclipse/DataIgnore.java create mode 100644 test/transform/resource/after-eclipse/DataOnEnum.java create mode 100644 test/transform/resource/after-eclipse/DataOnLocalClass.java create mode 100644 test/transform/resource/after-eclipse/DataPlain.java create mode 100644 test/transform/resource/after-eclipse/DataWithGetter.java create mode 100644 test/transform/resource/after-eclipse/DataWithGetterNone.java create mode 100644 test/transform/resource/after-eclipse/DelegateTypesAndExcludes.java create mode 100644 test/transform/resource/after-eclipse/GetterAccessLevel.java create mode 100644 test/transform/resource/after-eclipse/GetterAlreadyExists.java create mode 100644 test/transform/resource/after-eclipse/GetterBoolean.java create mode 100644 test/transform/resource/after-eclipse/GetterLazy.java create mode 100644 test/transform/resource/after-eclipse/GetterLazyEahcToString.java create mode 100644 test/transform/resource/after-eclipse/GetterLazyInvalid.java create mode 100644 test/transform/resource/after-eclipse/GetterLazyNative.java create mode 100644 test/transform/resource/after-eclipse/GetterOnClass.java create mode 100644 test/transform/resource/after-eclipse/GetterOnMethod.java create mode 100644 test/transform/resource/after-eclipse/GetterOnStatic.java create mode 100644 test/transform/resource/after-eclipse/GetterPlain.java create mode 100644 test/transform/resource/after-eclipse/GetterWithDollar.java create mode 100644 test/transform/resource/after-eclipse/LoggerCommons.java create mode 100644 test/transform/resource/after-eclipse/LoggerJul.java create mode 100644 test/transform/resource/after-eclipse/LoggerLog4j.java create mode 100644 test/transform/resource/after-eclipse/LoggerSlf4j.java create mode 100644 test/transform/resource/after-eclipse/LoggerSlf4jAlreadyExists.java create mode 100644 test/transform/resource/after-eclipse/LoggerSlf4jOnNonType.java create mode 100644 test/transform/resource/after-eclipse/LoggerSlf4jTypes.java create mode 100644 test/transform/resource/after-eclipse/LoggerSlf4jWithPackage.java create mode 100644 test/transform/resource/after-eclipse/MultiFieldGetter.java create mode 100644 test/transform/resource/after-eclipse/NonNullPlain.java create mode 100644 test/transform/resource/after-eclipse/SetterAccessLevel.java create mode 100644 test/transform/resource/after-eclipse/SetterAlreadyExists.java create mode 100644 test/transform/resource/after-eclipse/SetterOnClass.java create mode 100644 test/transform/resource/after-eclipse/SetterOnMethod.java create mode 100644 test/transform/resource/after-eclipse/SetterOnParam.java create mode 100644 test/transform/resource/after-eclipse/SetterOnParamAndOnMethod.java create mode 100644 test/transform/resource/after-eclipse/SetterOnStatic.java create mode 100644 test/transform/resource/after-eclipse/SetterPlain.java create mode 100644 test/transform/resource/after-eclipse/SetterWithDollar.java create mode 100644 test/transform/resource/after-eclipse/SneakyThrowsMultiple.java create mode 100644 test/transform/resource/after-eclipse/SneakyThrowsPlain.java create mode 100644 test/transform/resource/after-eclipse/SneakyThrowsSingle.java create mode 100644 test/transform/resource/after-eclipse/SynchronizedName.java create mode 100644 test/transform/resource/after-eclipse/SynchronizedPlain.java create mode 100644 test/transform/resource/after-eclipse/ToStringInner.java create mode 100644 test/transform/resource/after-eclipse/ToStringPlain.java create mode 100644 test/transform/resource/after-eclipse/ValComplex.java create mode 100644 test/transform/resource/after-eclipse/ValErrors.java create mode 100644 test/transform/resource/after-eclipse/ValInFor.java create mode 100644 test/transform/resource/after-eclipse/ValLessSimple.java create mode 100644 test/transform/resource/after-eclipse/ValSimple.java create mode 100644 test/transform/resource/after-eclipse/ValWeirdTypes.java (limited to 'test/transform/resource/after-eclipse') diff --git a/test/transform/resource/after-eclipse/ClassNamedAfterGetter.java b/test/transform/resource/after-eclipse/ClassNamedAfterGetter.java new file mode 100644 index 00000000..fb9df0ea --- /dev/null +++ b/test/transform/resource/after-eclipse/ClassNamedAfterGetter.java @@ -0,0 +1,9 @@ +class GetFoo { + private @lombok.Getter int foo; + public @java.lang.SuppressWarnings("all") int getFoo() { + return this.foo; + } + GetFoo() { + super(); + } +} diff --git a/test/transform/resource/after-eclipse/CleanupName.java b/test/transform/resource/after-eclipse/CleanupName.java new file mode 100644 index 00000000..f3f725f2 --- /dev/null +++ b/test/transform/resource/after-eclipse/CleanupName.java @@ -0,0 +1,33 @@ +class CleanupName { + CleanupName() { + super(); + } + void test() { + @lombok.Cleanup("toString") Object o = "Hello World!"; + try + { + System.out.println(o); + } + finally + { + if ((java.util.Collections.singletonList(o).get(0) != null)) + { + o.toString(); + } + } + } + void test2() { + @lombok.Cleanup(value = "toString") Object o = "Hello World too!"; + try + { + System.out.println(o); + } + finally + { + if ((java.util.Collections.singletonList(o).get(0) != null)) + { + o.toString(); + } + } + } +} \ No newline at end of file diff --git a/test/transform/resource/after-eclipse/CleanupPlain.java b/test/transform/resource/after-eclipse/CleanupPlain.java new file mode 100644 index 00000000..a9b9eceb --- /dev/null +++ b/test/transform/resource/after-eclipse/CleanupPlain.java @@ -0,0 +1,35 @@ +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 + { + if ((java.util.Collections.singletonList(out).get(0) != null)) + { + out.close(); + } + } + } + finally + { + if ((java.util.Collections.singletonList(in).get(0) != null)) + { + in.close(); + } + } + } +} \ No newline at end of file diff --git a/test/transform/resource/after-eclipse/CommentsInterspersed.java b/test/transform/resource/after-eclipse/CommentsInterspersed.java new file mode 100644 index 00000000..60c69aed --- /dev/null +++ b/test/transform/resource/after-eclipse/CommentsInterspersed.java @@ -0,0 +1,12 @@ +import lombok.Getter; +public class CommentsInterspersed { + private int x; + private @Getter String test = "foo"; + public @java.lang.SuppressWarnings("all") String getTest() { + return this.test; + } + public CommentsInterspersed() { + super(); + } + public native void gwtTest(); +} diff --git a/test/transform/resource/after-eclipse/Constructors.java b/test/transform/resource/after-eclipse/Constructors.java new file mode 100644 index 00000000..e4fba7ff --- /dev/null +++ b/test/transform/resource/after-eclipse/Constructors.java @@ -0,0 +1,56 @@ +@lombok.RequiredArgsConstructor class RequiredArgsConstructor1 { + final int x; + String name; + public @java.beans.ConstructorProperties({"x"}) @java.lang.SuppressWarnings("all") RequiredArgsConstructor1(final int x) { + super(); + this.x = x; + } +} + +@lombok.RequiredArgsConstructor(access = lombok.AccessLevel.PROTECTED) class RequiredArgsConstructorAccess { + final int x; + String name; + protected @java.beans.ConstructorProperties({"x"}) @java.lang.SuppressWarnings("all") RequiredArgsConstructorAccess(final int x) { + super(); + this.x = x; + } +} + +@lombok.RequiredArgsConstructor(staticName = "staticname") class RequiredArgsConstructorStaticName { + final int x; + String name; + private @java.lang.SuppressWarnings("all") RequiredArgsConstructorStaticName(final int x) { + super(); + this.x = x; + } + public static @java.lang.SuppressWarnings("all") RequiredArgsConstructorStaticName staticname(final int x) { + return new RequiredArgsConstructorStaticName(x); + } +} + +@lombok.RequiredArgsConstructor() class RequiredArgsConstructorWithAnnotations { + final int x; + String name; + public @Deprecated @java.beans.ConstructorProperties({"x"}) @java.lang.SuppressWarnings("all") RequiredArgsConstructorWithAnnotations(final int x) { + super(); + this.x = x; + } +} + +@lombok.AllArgsConstructor class AllArgsConstructor1 { + final int x; + String name; + public @java.beans.ConstructorProperties({"x", "name"}) @java.lang.SuppressWarnings("all") AllArgsConstructor1(final int x, final String name) { + super(); + this.x = x; + this.name = name; + } +} + +@lombok.NoArgsConstructor class NoArgsConstructor1 { + final int x; + String name; + public @java.lang.SuppressWarnings("all") NoArgsConstructor1() { + super(); + } +} \ No newline at end of file diff --git a/test/transform/resource/after-eclipse/DataExtended.java b/test/transform/resource/after-eclipse/DataExtended.java new file mode 100644 index 00000000..924fe8da --- /dev/null +++ b/test/transform/resource/after-eclipse/DataExtended.java @@ -0,0 +1,36 @@ +@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 instanceof DataExtended))) + return false; + final DataExtended other = (DataExtended) o; + if ((! other.canEqual((java.lang.Object) this))) + return false; + if ((this.getX() != other.getX())) + return false; + return true; + } + public @java.lang.SuppressWarnings("all") boolean canEqual(final java.lang.Object other) { + return (other instanceof DataExtended); + } + 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-eclipse/DataIgnore.java b/test/transform/resource/after-eclipse/DataIgnore.java new file mode 100644 index 00000000..fb700ee2 --- /dev/null +++ b/test/transform/resource/after-eclipse/DataIgnore.java @@ -0,0 +1,35 @@ +@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 instanceof DataIgnore))) + return false; + final DataIgnore other = (DataIgnore) o; + if ((! other.canEqual((java.lang.Object) this))) + return false; + if ((this.getX() != other.getX())) + return false; + return true; + } + public @java.lang.SuppressWarnings("all") boolean canEqual(final java.lang.Object other) { + return (other instanceof DataIgnore); + } + 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-eclipse/DataOnEnum.java b/test/transform/resource/after-eclipse/DataOnEnum.java new file mode 100644 index 00000000..8bab5925 --- /dev/null +++ b/test/transform/resource/after-eclipse/DataOnEnum.java @@ -0,0 +1,16 @@ +public @lombok.Getter @lombok.ToString @lombok.RequiredArgsConstructor enum DataOnEnum { + A("hello"), + private final String someField; + () { + } + private @java.lang.SuppressWarnings("all") DataOnEnum(final String someField) { + super(); + this.someField = someField; + } + public @java.lang.SuppressWarnings("all") String getSomeField() { + return this.someField; + } + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { + return (("DataOnEnum(someField=" + this.getSomeField()) + ")"); + } +} \ No newline at end of file diff --git a/test/transform/resource/after-eclipse/DataOnLocalClass.java b/test/transform/resource/after-eclipse/DataOnLocalClass.java new file mode 100644 index 00000000..6c85fae7 --- /dev/null +++ b/test/transform/resource/after-eclipse/DataOnLocalClass.java @@ -0,0 +1,134 @@ +import lombok.Data; +class DataOnLocalClass1 { + DataOnLocalClass1() { + super(); + } + public static void main(String[] args) { + @Data class Local { + final int x; + String name; + public @java.lang.SuppressWarnings("all") Local(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 instanceof Local))) + return false; + final Local other = (Local) o; + if ((! other.canEqual((java.lang.Object) this))) + return false; + if ((this.getX() != other.getX())) + return false; + if (((this.getName() == null) ? (other.getName() != null) : (! this.getName().equals((java.lang.Object) other.getName())))) + return false; + return true; + } + public @java.lang.SuppressWarnings("all") boolean canEqual(final java.lang.Object other) { + return (other instanceof Local); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() { + final int PRIME = 31; + int result = 1; + result = ((result * PRIME) + this.getX()); + result = ((result * PRIME) + ((this.getName() == null) ? 0 : this.getName().hashCode())); + return result; + } + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { + return (((("Local(x=" + this.getX()) + ", name=") + this.getName()) + ")"); + } + } + } +} +class DataOnLocalClass2 { + { + @Data class Local { + @Data class InnerLocal { + @lombok.NonNull String name; + public @java.lang.SuppressWarnings("all") InnerLocal(final @lombok.NonNull String name) { + super(); + if ((name == null)) + throw new java.lang.NullPointerException("name"); + this.name = name; + } + public @lombok.NonNull @java.lang.SuppressWarnings("all") String getName() { + return this.name; + } + public @java.lang.SuppressWarnings("all") void setName(final @lombok.NonNull String name) { + if ((name == null)) + throw new java.lang.NullPointerException("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 instanceof InnerLocal))) + return false; + final InnerLocal other = (InnerLocal) o; + if ((! other.canEqual((java.lang.Object) this))) + return false; + if (((this.getName() == null) ? (other.getName() != null) : (! this.getName().equals((java.lang.Object) other.getName())))) + return false; + return true; + } + public @java.lang.SuppressWarnings("all") boolean canEqual(final java.lang.Object other) { + return (other instanceof InnerLocal); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() { + final int PRIME = 31; + int result = 1; + result = ((result * PRIME) + ((this.getName() == null) ? 0 : this.getName().hashCode())); + return result; + } + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { + return (("Local.InnerLocal(name=" + this.getName()) + ")"); + } + } + final int x; + public @java.lang.SuppressWarnings("all") Local(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 instanceof Local))) + return false; + final Local other = (Local) o; + if ((! other.canEqual((java.lang.Object) this))) + return false; + if ((this.getX() != other.getX())) + return false; + return true; + } + public @java.lang.SuppressWarnings("all") boolean canEqual(final java.lang.Object other) { + return (other instanceof Local); + } + 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 (("Local(x=" + this.getX()) + ")"); + } + } + } + DataOnLocalClass2() { + super(); + } +} \ No newline at end of file diff --git a/test/transform/resource/after-eclipse/DataPlain.java b/test/transform/resource/after-eclipse/DataPlain.java new file mode 100644 index 00000000..0edf164b --- /dev/null +++ b/test/transform/resource/after-eclipse/DataPlain.java @@ -0,0 +1,208 @@ +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 instanceof Data1))) + return false; + final Data1 other = (Data1) o; + if ((! other.canEqual((java.lang.Object) this))) + return false; + if ((this.getX() != other.getX())) + return false; + if (((this.getName() == null) ? (other.getName() != null) : (! this.getName().equals((java.lang.Object) other.getName())))) + return false; + return true; + } + public @java.lang.SuppressWarnings("all") boolean canEqual(final java.lang.Object other) { + return (other instanceof Data1); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() { + final int PRIME = 31; + int result = 1; + result = ((result * PRIME) + this.getX()); + result = ((result * PRIME) + ((this.getName() == null) ? 0 : this.getName().hashCode())); + return result; + } + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { + return (((("Data1(x=" + this.getX()) + ", name=") + this.getName()) + ")"); + } +} +@Data class Data2 { + final int x; + String name; + public @java.beans.ConstructorProperties({"x"}) @java.lang.SuppressWarnings("all") Data2(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 instanceof Data2))) + return false; + final Data2 other = (Data2) o; + if ((! other.canEqual((java.lang.Object) this))) + return false; + if ((this.getX() != other.getX())) + return false; + if (((this.getName() == null) ? (other.getName() != null) : (! this.getName().equals((java.lang.Object) other.getName())))) + return false; + return true; + } + public @java.lang.SuppressWarnings("all") boolean canEqual(final java.lang.Object other) { + return (other instanceof Data2); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() { + final int PRIME = 31; + int result = 1; + result = ((result * PRIME) + this.getX()); + result = ((result * PRIME) + ((this.getName() == null) ? 0 : this.getName().hashCode())); + return result; + } + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { + return (((("Data2(x=" + this.getX()) + ", name=") + this.getName()) + ")"); + } +} +final @Data class Data3 { + final int x; + String name; + public @java.beans.ConstructorProperties({"x"}) @java.lang.SuppressWarnings("all") Data3(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 instanceof Data3))) + return false; + final Data3 other = (Data3) o; + if ((this.getX() != other.getX())) + return false; + if (((this.getName() == null) ? (other.getName() != null) : (! this.getName().equals((java.lang.Object) other.getName())))) + 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()); + result = ((result * PRIME) + ((this.getName() == null) ? 0 : this.getName().hashCode())); + return result; + } + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { + return (((("Data3(x=" + this.getX()) + ", name=") + this.getName()) + ")"); + } +} +final @Data @lombok.EqualsAndHashCode(callSuper = true) class Data4 extends java.util.Timer { + final int x; + public @java.lang.SuppressWarnings("all") int getX() { + return this.x; + } + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { + return (("Data4(x=" + this.getX()) + ")"); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") boolean equals(final java.lang.Object o) { + if ((o == this)) + return true; + if ((! (o instanceof Data4))) + return false; + final Data4 other = (Data4) o; + if ((! other.canEqual((java.lang.Object) this))) + return false; + if ((! super.equals(o))) + return false; + if ((this.getX() != other.getX())) + return false; + return true; + } + public @java.lang.SuppressWarnings("all") boolean canEqual(final java.lang.Object other) { + return (other instanceof Data4); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() { + final int PRIME = 31; + int result = 1; + result = ((result * PRIME) + super.hashCode()); + result = ((result * PRIME) + this.getX()); + return result; + } + Data4() { + super(); + } +} +@Data class Data5 { + public @java.lang.SuppressWarnings("all") Data5() { + super(); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") boolean equals(final java.lang.Object o) { + if ((o == this)) + return true; + if ((! (o instanceof Data5))) + return false; + final Data5 other = (Data5) o; + if ((! other.canEqual((java.lang.Object) this))) + return false; + return true; + } + public @java.lang.SuppressWarnings("all") boolean canEqual(final java.lang.Object other) { + return (other instanceof Data5); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() { + int result = 1; + return result; + } + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { + return "Data5()"; + } +} +final @Data class Data6 { + public @java.lang.SuppressWarnings("all") Data6() { + super(); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") boolean equals(final java.lang.Object o) { + if ((o == this)) + return true; + if ((! (o instanceof Data6))) + return false; + return true; + } + public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() { + int result = 1; + return result; + } + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { + return "Data6()"; + } +} \ No newline at end of file diff --git a/test/transform/resource/after-eclipse/DataWithGetter.java b/test/transform/resource/after-eclipse/DataWithGetter.java new file mode 100644 index 00000000..d409382d --- /dev/null +++ b/test/transform/resource/after-eclipse/DataWithGetter.java @@ -0,0 +1,54 @@ +@lombok.Data @lombok.Getter class DataWithGetter { + private int x; + private int y; + private final String z; + public @java.beans.ConstructorProperties({"z"}) @java.lang.SuppressWarnings("all") DataWithGetter(final String z) { + super(); + this.z = z; + } + public @java.lang.SuppressWarnings("all") void setX(final int x) { + this.x = x; + } + public @java.lang.SuppressWarnings("all") void setY(final int y) { + this.y = y; + } + public @java.lang.Override @java.lang.SuppressWarnings("all") boolean equals(final java.lang.Object o) { + if ((o == this)) + return true; + if ((! (o instanceof DataWithGetter))) + return false; + final DataWithGetter other = (DataWithGetter) o; + if ((! other.canEqual((java.lang.Object) this))) + return false; + if ((this.getX() != other.getX())) + return false; + if ((this.getY() != other.getY())) + return false; + if (((this.getZ() == null) ? (other.getZ() != null) : (! this.getZ().equals((java.lang.Object) other.getZ())))) + return false; + return true; + } + public @java.lang.SuppressWarnings("all") boolean canEqual(final java.lang.Object other) { + return (other instanceof DataWithGetter); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() { + final int PRIME = 31; + int result = 1; + result = ((result * PRIME) + this.getX()); + result = ((result * PRIME) + this.getY()); + result = ((result * PRIME) + ((this.getZ() == null) ? 0 : this.getZ().hashCode())); + return result; + } + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { + return (((((("DataWithGetter(x=" + this.getX()) + ", y=") + this.getY()) + ", z=") + this.getZ()) + ")"); + } + public @java.lang.SuppressWarnings("all") int getX() { + return this.x; + } + public @java.lang.SuppressWarnings("all") int getY() { + return this.y; + } + public @java.lang.SuppressWarnings("all") String getZ() { + return this.z; + } +} \ No newline at end of file diff --git a/test/transform/resource/after-eclipse/DataWithGetterNone.java b/test/transform/resource/after-eclipse/DataWithGetterNone.java new file mode 100644 index 00000000..2380865b --- /dev/null +++ b/test/transform/resource/after-eclipse/DataWithGetterNone.java @@ -0,0 +1,45 @@ +@lombok.Data @lombok.Getter(lombok.AccessLevel.NONE) class DataWithGetterNone { + private int x; + private int y; + private final String z; + public @java.beans.ConstructorProperties({"z"}) @java.lang.SuppressWarnings("all") DataWithGetterNone(final String z) { + super(); + this.z = z; + } + public @java.lang.SuppressWarnings("all") void setX(final int x) { + this.x = x; + } + public @java.lang.SuppressWarnings("all") void setY(final int y) { + this.y = y; + } + public @java.lang.Override @java.lang.SuppressWarnings("all") boolean equals(final java.lang.Object o) { + if ((o == this)) + return true; + if ((! (o instanceof DataWithGetterNone))) + return false; + final DataWithGetterNone other = (DataWithGetterNone) o; + if ((! other.canEqual((java.lang.Object) this))) + return false; + if ((this.x != other.x)) + return false; + if ((this.y != other.y)) + return false; + if (((this.z == null) ? (other.z != null) : (! this.z.equals((java.lang.Object) other.z)))) + return false; + return true; + } + public @java.lang.SuppressWarnings("all") boolean canEqual(final java.lang.Object other) { + return (other instanceof DataWithGetterNone); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() { + final int PRIME = 31; + int result = 1; + result = ((result * PRIME) + this.x); + result = ((result * PRIME) + this.y); + result = ((result * PRIME) + ((this.z == null) ? 0 : this.z.hashCode())); + return result; + } + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { + return (((((("DataWithGetterNone(x=" + this.x) + ", y=") + this.y) + ", z=") + this.z) + ")"); + } +} \ No newline at end of file diff --git a/test/transform/resource/after-eclipse/DelegateTypesAndExcludes.java b/test/transform/resource/after-eclipse/DelegateTypesAndExcludes.java new file mode 100644 index 00000000..821c0851 --- /dev/null +++ b/test/transform/resource/after-eclipse/DelegateTypesAndExcludes.java @@ -0,0 +1,36 @@ +import lombok.Delegate; +class DelegatePlain { + private static class FooImpl implements Foo { + private FooImpl() { + super(); + } + public void foo() { + } + public void bar(java.util.ArrayList list) { + } + } + private static class BarImpl implements Bar { + private BarImpl() { + super(); + } + public void bar(java.util.ArrayList list) { + } + } + private static interface Foo extends Bar { + void foo(); + } + private static interface Bar { + void bar(java.util.ArrayList list); + } + private final @Delegate(types = Bar.class) BarImpl bar = new BarImpl(); + private final @Delegate(types = Foo.class,excludes = Bar.class) FooImpl foo = new FooImpl(); + public @java.lang.SuppressWarnings("all") void bar(final java.util.ArrayList list) { + this.bar.bar(list); + } + public @java.lang.SuppressWarnings("all") void foo() { + this.foo.foo(); + } + DelegatePlain() { + super(); + } +} \ No newline at end of file diff --git a/test/transform/resource/after-eclipse/GetterAccessLevel.java b/test/transform/resource/after-eclipse/GetterAccessLevel.java new file mode 100644 index 00000000..f0de95e7 --- /dev/null +++ b/test/transform/resource/after-eclipse/GetterAccessLevel.java @@ -0,0 +1,43 @@ +class GetterAccessLevel { + @lombok.Getter(lombok.AccessLevel.NONE) boolean isNone; + @lombok.Getter(lombok.AccessLevel.PRIVATE) boolean isPrivate; + @lombok.Getter(lombok.AccessLevel.PACKAGE) boolean isPackage; + @lombok.Getter(lombok.AccessLevel.PROTECTED) boolean isProtected; + @lombok.Getter(lombok.AccessLevel.PUBLIC) boolean isPublic; + @lombok.Getter(lombok.AccessLevel.NONE) String noneString; + @lombok.Getter(lombok.AccessLevel.PRIVATE) String privateString; + @lombok.Getter(lombok.AccessLevel.PACKAGE) String packageString; + @lombok.Getter(lombok.AccessLevel.PROTECTED) String protectedString; + @lombok.Getter(lombok.AccessLevel.PUBLIC) String publicString; + @lombok.Getter(value = lombok.AccessLevel.PUBLIC) String value; + private @java.lang.SuppressWarnings("all") boolean isPrivate() { + return this.isPrivate; + } + @java.lang.SuppressWarnings("all") boolean isPackage() { + return this.isPackage; + } + protected @java.lang.SuppressWarnings("all") boolean isProtected() { + return this.isProtected; + } + public @java.lang.SuppressWarnings("all") boolean isPublic() { + return this.isPublic; + } + private @java.lang.SuppressWarnings("all") String getPrivateString() { + return this.privateString; + } + @java.lang.SuppressWarnings("all") String getPackageString() { + return this.packageString; + } + protected @java.lang.SuppressWarnings("all") String getProtectedString() { + return this.protectedString; + } + public @java.lang.SuppressWarnings("all") String getPublicString() { + return this.publicString; + } + public @java.lang.SuppressWarnings("all") String getValue() { + return this.value; + } + GetterAccessLevel() { + super(); + } +} diff --git a/test/transform/resource/after-eclipse/GetterAlreadyExists.java b/test/transform/resource/after-eclipse/GetterAlreadyExists.java new file mode 100644 index 00000000..257457bb --- /dev/null +++ b/test/transform/resource/after-eclipse/GetterAlreadyExists.java @@ -0,0 +1,192 @@ +class Getter1 { + @lombok.Getter boolean foo; + public @java.lang.SuppressWarnings("all") boolean isFoo() { + return this.foo; + } + Getter1() { + super(); + } + boolean hasFoo() { + return true; + } +} +class Getter2 { + @lombok.Getter boolean foo; + Getter2() { + super(); + } + boolean isFoo() { + return true; + } +} +class Getter3 { + @lombok.Getter boolean foo; + Getter3() { + super(); + } + boolean getFoo() { + return true; + } +} +class Getter4 { + @lombok.Getter String foo; + public @java.lang.SuppressWarnings("all") String getFoo() { + return this.foo; + } + Getter4() { + super(); + } + String hasFoo() { + return null; + } +} +class Getter5 { + @lombok.Getter String foo; + public @java.lang.SuppressWarnings("all") String getFoo() { + return this.foo; + } + Getter5() { + super(); + } + String isFoo() { + return null; + } +} +class Getter6 { + @lombok.Getter String foo; + Getter6() { + super(); + } + String getFoo() { + return null; + } +} +class Getter7 { + @lombok.Getter String foo; + public @java.lang.SuppressWarnings("all") String getFoo() { + return this.foo; + } + Getter7() { + super(); + } + boolean hasFoo() { + return false; + } +} +class Getter8 { + @lombok.Getter String foo; + public @java.lang.SuppressWarnings("all") String getFoo() { + return this.foo; + } + Getter8() { + super(); + } + boolean isFoo() { + return false; + } +} +class Getter9 { + @lombok.Getter String foo; + Getter9() { + super(); + } + boolean getFoo() { + return false; + } +} +class Getter10 { + @lombok.Getter boolean foo; + public @java.lang.SuppressWarnings("all") boolean isFoo() { + return this.foo; + } + Getter10() { + super(); + } + static boolean hasFoo() { + return false; + } +} +class Getter11 { + @lombok.Getter boolean foo; + Getter11() { + super(); + } + static boolean isFoo() { + return false; + } +} +class Getter12 { + @lombok.Getter boolean foo; + Getter12() { + super(); + } + static boolean getFoo() { + return false; + } +} +class Getter13 { + @lombok.Getter String foo; + public @java.lang.SuppressWarnings("all") String getFoo() { + return this.foo; + } + Getter13() { + super(); + } + static boolean hasFoo() { + return false; + } +} +class Getter14 { + @lombok.Getter String foo; + public @java.lang.SuppressWarnings("all") String getFoo() { + return this.foo; + } + Getter14() { + super(); + } + static boolean isFoo() { + return false; + } +} +class Getter15 { + @lombok.Getter String foo; + Getter15() { + super(); + } + static boolean getFoo() { + return false; + } +} +class Getter16 { + @lombok.Getter String foo; + public @java.lang.SuppressWarnings("all") String getFoo() { + return this.foo; + } + Getter16() { + super(); + } + static String hasFoo() { + return false; + } +} +class Getter17 { + @lombok.Getter String foo; + public @java.lang.SuppressWarnings("all") String getFoo() { + return this.foo; + } + Getter17() { + super(); + } + static String isFoo() { + return false; + } +} +class Getter18 { + @lombok.Getter String foo; + Getter18() { + super(); + } + static String getFoo() { + return false; + } +} diff --git a/test/transform/resource/after-eclipse/GetterBoolean.java b/test/transform/resource/after-eclipse/GetterBoolean.java new file mode 100644 index 00000000..121af119 --- /dev/null +++ b/test/transform/resource/after-eclipse/GetterBoolean.java @@ -0,0 +1,38 @@ +class Getter { + @lombok.Getter boolean foo; + @lombok.Getter boolean isBar; + @lombok.Getter boolean hasBaz; + public @java.lang.SuppressWarnings("all") boolean isFoo() { + return this.foo; + } + public @java.lang.SuppressWarnings("all") boolean isBar() { + return this.isBar; + } + public @java.lang.SuppressWarnings("all") boolean isHasBaz() { + return this.hasBaz; + } + Getter() { + super(); + } +} +class MoreGetter { + @lombok.Getter boolean foo; + public @java.lang.SuppressWarnings("all") boolean isFoo() { + return this.foo; + } + MoreGetter() { + super(); + } + boolean hasFoo() { + return true; + } +} +class YetMoreGetter { + @lombok.Getter boolean foo; + YetMoreGetter() { + super(); + } + boolean getFoo() { + return true; + } +} \ No newline at end of file diff --git a/test/transform/resource/after-eclipse/GetterLazy.java b/test/transform/resource/after-eclipse/GetterLazy.java new file mode 100644 index 00000000..669a9a81 --- /dev/null +++ b/test/transform/resource/after-eclipse/GetterLazy.java @@ -0,0 +1,27 @@ +class GetterLazy { + static class ValueType { + ValueType() { + super(); + } + } + private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference> fieldName = new java.util.concurrent.atomic.AtomicReference>(); + public @java.lang.SuppressWarnings("all") ValueType getFieldName() { + java.util.concurrent.atomic.AtomicReference value = this.fieldName.get(); + if ((value == null)) + { + synchronized (this.fieldName) + { + value = this.fieldName.get(); + if ((value == null)) + { + value = new java.util.concurrent.atomic.AtomicReference(new ValueType()); + this.fieldName.set(value); + } + } + } + return value.get(); + } + GetterLazy() { + super(); + } +} diff --git a/test/transform/resource/after-eclipse/GetterLazyEahcToString.java b/test/transform/resource/after-eclipse/GetterLazyEahcToString.java new file mode 100644 index 00000000..dc732861 --- /dev/null +++ b/test/transform/resource/after-eclipse/GetterLazyEahcToString.java @@ -0,0 +1,53 @@ +@lombok.EqualsAndHashCode(doNotUseGetters = true) @lombok.ToString(doNotUseGetters = true) class GetterLazyEahcToString { + private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference> value = new java.util.concurrent.atomic.AtomicReference>(); + private final @lombok.Getter String value2 = ""; + public @java.lang.SuppressWarnings("all") String getValue() { + java.util.concurrent.atomic.AtomicReference value = this.value.get(); + if ((value == null)) + { + synchronized (this.value) + { + value = this.value.get(); + if ((value == null)) + { + value = new java.util.concurrent.atomic.AtomicReference(""); + this.value.set(value); + } + } + } + return value.get(); + } + public @java.lang.SuppressWarnings("all") String getValue2() { + return this.value2; + } + public @java.lang.Override @java.lang.SuppressWarnings("all") boolean equals(final java.lang.Object o) { + if ((o == this)) + return true; + if ((! (o instanceof GetterLazyEahcToString))) + return false; + final GetterLazyEahcToString other = (GetterLazyEahcToString) o; + if ((! other.canEqual((java.lang.Object) this))) + return false; + if (((this.getValue() == null) ? (other.getValue() != null) : (! this.getValue().equals((java.lang.Object) other.getValue())))) + return false; + if (((this.value2 == null) ? (other.value2 != null) : (! this.value2.equals((java.lang.Object) other.value2)))) + return false; + return true; + } + public @java.lang.SuppressWarnings("all") boolean canEqual(final java.lang.Object other) { + return (other instanceof GetterLazyEahcToString); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() { + final int PRIME = 31; + int result = 1; + result = ((result * PRIME) + ((this.getValue() == null) ? 0 : this.getValue().hashCode())); + result = ((result * PRIME) + ((this.value2 == null) ? 0 : this.value2.hashCode())); + return result; + } + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { + return (((("GetterLazyEahcToString(value=" + this.getValue()) + ", value2=") + this.value2) + ")"); + } + GetterLazyEahcToString() { + super(); + } +} \ No newline at end of file diff --git a/test/transform/resource/after-eclipse/GetterLazyInvalid.java b/test/transform/resource/after-eclipse/GetterLazyInvalid.java new file mode 100644 index 00000000..eaa22d71 --- /dev/null +++ b/test/transform/resource/after-eclipse/GetterLazyInvalid.java @@ -0,0 +1,40 @@ +class GetterLazyInvalidNotFinal { + private @lombok.Getter(lazy = true) String fieldName = ""; + GetterLazyInvalidNotFinal() { + super(); + } +} +class GetterLazyInvalidNotPrivate { + final @lombok.Getter(lazy = true) String fieldName = ""; + GetterLazyInvalidNotPrivate() { + super(); + } +} +class GetterLazyInvalidNotPrivateFinal { + @lombok.Getter(lazy = true) String fieldName = ""; + GetterLazyInvalidNotPrivateFinal() { + super(); + } +} +class GetterLazyInvalidNone { + private final @lombok.Getter(lazy = true,value = lombok.AccessLevel.NONE) String fieldName = ""; + GetterLazyInvalidNone() { + super(); + } +} +@lombok.Getter(lazy = true) class GetterLazyInvalidClass { + private final String fieldName = ""; + public @java.lang.SuppressWarnings("all") String getFieldName() { + return this.fieldName; + } + GetterLazyInvalidClass() { + super(); + } +} +class GetterLazyInvalidNoInit { + private final @lombok.Getter(lazy = true) String fieldName; + GetterLazyInvalidNoInit() { + super(); + this.fieldName = "foo"; + } +} \ No newline at end of file diff --git a/test/transform/resource/after-eclipse/GetterLazyNative.java b/test/transform/resource/after-eclipse/GetterLazyNative.java new file mode 100644 index 00000000..6c90a101 --- /dev/null +++ b/test/transform/resource/after-eclipse/GetterLazyNative.java @@ -0,0 +1,158 @@ +class GetterLazyNative { + private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference> booleanField = new java.util.concurrent.atomic.AtomicReference>(); + private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference> byteField = new java.util.concurrent.atomic.AtomicReference>(); + private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference> shortField = new java.util.concurrent.atomic.AtomicReference>(); + private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference> intField = new java.util.concurrent.atomic.AtomicReference>(); + private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference> longField = new java.util.concurrent.atomic.AtomicReference>(); + private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference> floatField = new java.util.concurrent.atomic.AtomicReference>(); + private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference> doubleField = new java.util.concurrent.atomic.AtomicReference>(); + private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference> charField = new java.util.concurrent.atomic.AtomicReference>(); + private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference> intArrayField = new java.util.concurrent.atomic.AtomicReference>(); + public @java.lang.SuppressWarnings("all") boolean isBooleanField() { + java.util.concurrent.atomic.AtomicReference value = this.booleanField.get(); + if ((value == null)) + { + synchronized (this.booleanField) + { + value = this.booleanField.get(); + if ((value == null)) + { + value = new java.util.concurrent.atomic.AtomicReference(true); + this.booleanField.set(value); + } + } + } + return value.get(); + } + public @java.lang.SuppressWarnings("all") byte getByteField() { + java.util.concurrent.atomic.AtomicReference value = this.byteField.get(); + if ((value == null)) + { + synchronized (this.byteField) + { + value = this.byteField.get(); + if ((value == null)) + { + value = new java.util.concurrent.atomic.AtomicReference(1); + this.byteField.set(value); + } + } + } + return value.get(); + } + public @java.lang.SuppressWarnings("all") short getShortField() { + java.util.concurrent.atomic.AtomicReference value = this.shortField.get(); + if ((value == null)) + { + synchronized (this.shortField) + { + value = this.shortField.get(); + if ((value == null)) + { + value = new java.util.concurrent.atomic.AtomicReference(1); + this.shortField.set(value); + } + } + } + return value.get(); + } + public @java.lang.SuppressWarnings("all") int getIntField() { + java.util.concurrent.atomic.AtomicReference value = this.intField.get(); + if ((value == null)) + { + synchronized (this.intField) + { + value = this.intField.get(); + if ((value == null)) + { + value = new java.util.concurrent.atomic.AtomicReference(1); + this.intField.set(value); + } + } + } + return value.get(); + } + public @java.lang.SuppressWarnings("all") long getLongField() { + java.util.concurrent.atomic.AtomicReference value = this.longField.get(); + if ((value == null)) + { + synchronized (this.longField) + { + value = this.longField.get(); + if ((value == null)) + { + value = new java.util.concurrent.atomic.AtomicReference(1); + this.longField.set(value); + } + } + } + return value.get(); + } + public @java.lang.SuppressWarnings("all") float getFloatField() { + java.util.concurrent.atomic.AtomicReference value = this.floatField.get(); + if ((value == null)) + { + synchronized (this.floatField) + { + value = this.floatField.get(); + if ((value == null)) + { + value = new java.util.concurrent.atomic.AtomicReference(1.0f); + this.floatField.set(value); + } + } + } + return value.get(); + } + public @java.lang.SuppressWarnings("all") double getDoubleField() { + java.util.concurrent.atomic.AtomicReference value = this.doubleField.get(); + if ((value == null)) + { + synchronized (this.doubleField) + { + value = this.doubleField.get(); + if ((value == null)) + { + value = new java.util.concurrent.atomic.AtomicReference(1.0); + this.doubleField.set(value); + } + } + } + return value.get(); + } + public @java.lang.SuppressWarnings("all") char getCharField() { + java.util.concurrent.atomic.AtomicReference value = this.charField.get(); + if ((value == null)) + { + synchronized (this.charField) + { + value = this.charField.get(); + if ((value == null)) + { + value = new java.util.concurrent.atomic.AtomicReference('1'); + this.charField.set(value); + } + } + } + return value.get(); + } + public @java.lang.SuppressWarnings("all") int[] getIntArrayField() { + java.util.concurrent.atomic.AtomicReference value = this.intArrayField.get(); + if ((value == null)) + { + synchronized (this.intArrayField) + { + value = this.intArrayField.get(); + if ((value == null)) + { + value = new java.util.concurrent.atomic.AtomicReference(new int[]{1}); + this.intArrayField.set(value); + } + } + } + return value.get(); + } + GetterLazyNative() { + super(); + } +} \ No newline at end of file diff --git a/test/transform/resource/after-eclipse/GetterOnClass.java b/test/transform/resource/after-eclipse/GetterOnClass.java new file mode 100644 index 00000000..421aa150 --- /dev/null +++ b/test/transform/resource/after-eclipse/GetterOnClass.java @@ -0,0 +1,68 @@ +@lombok.Getter class GetterOnClass1 { + @lombok.Getter(lombok.AccessLevel.NONE) boolean isNone; + boolean isPublic; + public @java.lang.SuppressWarnings("all") boolean isPublic() { + return this.isPublic; + } + GetterOnClass1() { + super(); + } + +} +@lombok.Getter(lombok.AccessLevel.PROTECTED) class GetterOnClass2 { + @lombok.Getter(lombok.AccessLevel.NONE) boolean isNone; + boolean isProtected; + @lombok.Getter(lombok.AccessLevel.PACKAGE) boolean isPackage; + @java.lang.SuppressWarnings("all") boolean isPackage() { + return this.isPackage; + } + protected @java.lang.SuppressWarnings("all") boolean isProtected() { + return this.isProtected; + } + GetterOnClass2() { + super(); + } +} +@lombok.Getter(lombok.AccessLevel.PACKAGE) class GetterOnClass3 { + @lombok.Getter(lombok.AccessLevel.NONE) boolean isNone; + boolean isPackage; + @java.lang.SuppressWarnings("all") boolean isPackage() { + return this.isPackage; + } + GetterOnClass3() { + super(); + } +} +@lombok.Getter(lombok.AccessLevel.PRIVATE) class GetterOnClass4 { + @lombok.Getter(lombok.AccessLevel.NONE) boolean isNone; + boolean isPrivate; + private @java.lang.SuppressWarnings("all") boolean isPrivate() { + return this.isPrivate; + } + GetterOnClass4() { + super(); + } +} +@lombok.Getter(lombok.AccessLevel.PUBLIC) class GetterOnClass5 { + @lombok.Getter(lombok.AccessLevel.NONE) boolean isNone; + boolean isPublic; + public @java.lang.SuppressWarnings("all") boolean isPublic() { + return this.isPublic; + } + GetterOnClass5() { + super(); + } +} +@lombok.Getter class GetterOnClass6 { + String couldBeNull; + @lombok.NonNull String nonNull; + public @java.lang.SuppressWarnings("all") String getCouldBeNull() { + return this.couldBeNull; + } + public @lombok.NonNull @java.lang.SuppressWarnings("all") String getNonNull() { + return this.nonNull; + } + GetterOnClass6() { + super(); + } +} \ No newline at end of file diff --git a/test/transform/resource/after-eclipse/GetterOnMethod.java b/test/transform/resource/after-eclipse/GetterOnMethod.java new file mode 100644 index 00000000..d7be009b --- /dev/null +++ b/test/transform/resource/after-eclipse/GetterOnMethod.java @@ -0,0 +1,40 @@ +import lombok.Getter; +class GetterOnMethod { + @lombok.Getter() int i; + @lombok.Getter() int j; + public @Deprecated @java.lang.SuppressWarnings("all") int getI() { + return this.i; + } + public @java.lang.Deprecated @java.lang.SuppressWarnings("all") int getJ() { + return this.j; + } + GetterOnMethod() { + super(); + } +} +@lombok.Getter() class GetterOnClassOnMethod { + int i; + int j; + public @java.lang.SuppressWarnings("all") int getI() { + return this.i; + } + public @java.lang.SuppressWarnings("all") int getJ() { + return this.j; + } + GetterOnClassOnMethod() { + super(); + } +} +@lombok.Getter() class GetterOnClassAndOnAField { + int i; + @lombok.Getter() int j; + public @java.lang.Deprecated @java.lang.SuppressWarnings("all") int getJ() { + return this.j; + } + public @java.lang.SuppressWarnings("all") int getI() { + return this.i; + } + GetterOnClassAndOnAField() { + super(); + } +} diff --git a/test/transform/resource/after-eclipse/GetterOnStatic.java b/test/transform/resource/after-eclipse/GetterOnStatic.java new file mode 100644 index 00000000..538f25cb --- /dev/null +++ b/test/transform/resource/after-eclipse/GetterOnStatic.java @@ -0,0 +1,15 @@ +class Getter { + static @lombok.Getter boolean foo; + static @lombok.Getter int bar; + () { + } + public static @java.lang.SuppressWarnings("all") boolean isFoo() { + return Getter.foo; + } + public static @java.lang.SuppressWarnings("all") int getBar() { + return Getter.bar; + } + Getter() { + super(); + } +} diff --git a/test/transform/resource/after-eclipse/GetterPlain.java b/test/transform/resource/after-eclipse/GetterPlain.java new file mode 100644 index 00000000..cd096ca3 --- /dev/null +++ b/test/transform/resource/after-eclipse/GetterPlain.java @@ -0,0 +1,14 @@ +import lombok.Getter; +class GetterPlain { + @lombok.Getter int i; + @Getter int foo; + public @java.lang.SuppressWarnings("all") int getI() { + return this.i; + } + public @java.lang.SuppressWarnings("all") int getFoo() { + return this.foo; + } + GetterPlain() { + super(); + } +} \ No newline at end of file diff --git a/test/transform/resource/after-eclipse/GetterWithDollar.java b/test/transform/resource/after-eclipse/GetterWithDollar.java new file mode 100644 index 00000000..b102ba66 --- /dev/null +++ b/test/transform/resource/after-eclipse/GetterWithDollar.java @@ -0,0 +1,22 @@ +class GetterWithDollar1 { + @lombok.Getter int $i; + public @java.lang.SuppressWarnings("all") int get$i() { + return this.$i; + } + GetterWithDollar1() { + super(); + } +} +class GetterWithDollar2 { + @lombok.Getter int $i; + @lombok.Getter int i; + public @java.lang.SuppressWarnings("all") int get$i() { + return this.$i; + } + public @java.lang.SuppressWarnings("all") int getI() { + return this.i; + } + GetterWithDollar2() { + super(); + } +} diff --git a/test/transform/resource/after-eclipse/LoggerCommons.java b/test/transform/resource/after-eclipse/LoggerCommons.java new file mode 100644 index 00000000..d63bb9c1 --- /dev/null +++ b/test/transform/resource/after-eclipse/LoggerCommons.java @@ -0,0 +1,17 @@ +import lombok.extern.apachecommons.CommonsLog; +@lombok.extern.apachecommons.CommonsLog class LoggerCommons { + private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommons.class); + () { + } + LoggerCommons() { + super(); + } +} +@CommonsLog class LoggerCommonsWithImport { + private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsWithImport.class); + () { + } + LoggerCommonsWithImport() { + super(); + } +} \ No newline at end of file diff --git a/test/transform/resource/after-eclipse/LoggerJul.java b/test/transform/resource/after-eclipse/LoggerJul.java new file mode 100644 index 00000000..c98dfe27 --- /dev/null +++ b/test/transform/resource/after-eclipse/LoggerJul.java @@ -0,0 +1,17 @@ +import lombok.extern.java.Log; +@lombok.extern.java.Log class LoggerJul { + private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJul.class.getName()); + () { + } + LoggerJul() { + super(); + } +} +@Log class LoggerJulWithImport { + private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJulWithImport.class.getName()); + () { + } + LoggerJulWithImport() { + super(); + } +} \ No newline at end of file diff --git a/test/transform/resource/after-eclipse/LoggerLog4j.java b/test/transform/resource/after-eclipse/LoggerLog4j.java new file mode 100644 index 00000000..6814be7b --- /dev/null +++ b/test/transform/resource/after-eclipse/LoggerLog4j.java @@ -0,0 +1,17 @@ +import lombok.extern.log4j.Log4j; +@lombok.extern.log4j.Log4j class LoggerLog4j { + private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4j.class); + () { + } + LoggerLog4j() { + super(); + } +} +@Log4j class LoggerLog4jWithImport { + private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4jWithImport.class); + () { + } + LoggerLog4jWithImport() { + super(); + } +} \ No newline at end of file diff --git a/test/transform/resource/after-eclipse/LoggerSlf4j.java b/test/transform/resource/after-eclipse/LoggerSlf4j.java new file mode 100644 index 00000000..1ccf5c9e --