From eec57b87509c0a2841878aecb0e8f8f0839fa30c Mon Sep 17 00:00:00 2001 From: Jan Rieke Date: Fri, 4 May 2018 18:22:32 +0200 Subject: added @SuperBuilder test results for ecj --- .../resource/after-ecj/SuperBuilderBasic.java | 164 ++++++++++++++++++++ .../after-ecj/SuperBuilderWithGenerics.java | 166 +++++++++++++++++++++ 2 files changed, 330 insertions(+) create mode 100644 test/transform/resource/after-ecj/SuperBuilderBasic.java create mode 100644 test/transform/resource/after-ecj/SuperBuilderWithGenerics.java (limited to 'test/transform/resource/after-ecj') diff --git a/test/transform/resource/after-ecj/SuperBuilderBasic.java b/test/transform/resource/after-ecj/SuperBuilderBasic.java new file mode 100644 index 00000000..cc86e05c --- /dev/null +++ b/test/transform/resource/after-ecj/SuperBuilderBasic.java @@ -0,0 +1,164 @@ +import java.util.List; + +public class SuperBuilderBasic { + public static @lombok.experimental.SuperBuilder class Parent { + int field1; + @lombok.Singular List items; + + protected Parent(final ParentBuilder b) { + this.field1 = b.field1; + java.util.List items; + switch (b.items == null ? 0 : b.items.size()) { + case 0: + items = java.util.Collections.emptyList(); + break; + + case 1: + items = java.util.Collections.singletonList(b.items.get(0)); + break; + + default: + items = java.util.Collections.unmodifiableList(new java.util.ArrayList(b.items)); + } + this.items = items; + } + + + @java.lang.SuppressWarnings("all") + public static abstract class ParentBuilder> { + @java.lang.SuppressWarnings("all") + private int field1; + @java.lang.SuppressWarnings("all") + private java.util.ArrayList items; + + @java.lang.SuppressWarnings("all") + protected abstract B self(); + + @java.lang.SuppressWarnings("all") + public abstract C build(); + + @java.lang.SuppressWarnings("all") + public B field1(final int field1) { + this.field1 = field1; + return self(); + } + + @java.lang.SuppressWarnings("all") + public B item(final String item) { + if (this.items == null) this.items = new java.util.ArrayList(); + this.items.add(item); + return self(); + } + + @java.lang.SuppressWarnings("all") + public B items(final java.util.Collection items) { + if (this.items == null) this.items = new java.util.ArrayList(); + this.items.addAll(items); + return self(); + } + + @java.lang.SuppressWarnings("all") + public B clearItems() { + if (this.items != null) this.items.clear(); + return self(); + } + + @java.lang.Override + @java.lang.SuppressWarnings("all") + public java.lang.String toString() { + return "SuperBuilderBasic.Parent.ParentBuilder(field1=" + this.field1 + ", items=" + this.items + ")"; + } + } + + + @java.lang.SuppressWarnings("all") + private static final class ParentBuilderImpl extends ParentBuilder { + @java.lang.SuppressWarnings("all") + private ParentBuilderImpl() { + } + + @java.lang.Override + @java.lang.SuppressWarnings("all") + protected ParentBuilderImpl self() { + return this; + } + + @java.lang.Override + @java.lang.SuppressWarnings("all") + public Parent build() { + return new Parent(this); + } + } + + @java.lang.SuppressWarnings("all") + public static ParentBuilder builder() { + return new ParentBuilderImpl(); + } + } + + public static @lombok.experimental.SuperBuilder class Child extends Parent { + double field3; + + @java.lang.SuppressWarnings("all") + protected Child(final ChildBuilder b) { + super(b); + this.field3 = b.field3; + } + + + @java.lang.SuppressWarnings("all") + public static abstract class ChildBuilder> extends Parent.ParentBuilder { + @java.lang.SuppressWarnings("all") + private double field3; + + @java.lang.Override + @java.lang.SuppressWarnings("all") + protected abstract B self(); + + @java.lang.Override + @java.lang.SuppressWarnings("all") + public abstract C build(); + + @java.lang.SuppressWarnings("all") + public B field3(final double field3) { + this.field3 = field3; + return self(); + } + + @java.lang.Override + @java.lang.SuppressWarnings("all") + public java.lang.String toString() { + return "SuperBuilderBasic.Child.ChildBuilder(super=" + super.toString() + ", field3=" + this.field3 + ")"; + } + } + + + @java.lang.SuppressWarnings("all") + private static final class ChildBuilderImpl extends ChildBuilder { + @java.lang.SuppressWarnings("all") + private ChildBuilderImpl() { + } + + @java.lang.Override + @java.lang.SuppressWarnings("all") + protected ChildBuilderImpl self() { + return this; + } + + @java.lang.Override + @java.lang.SuppressWarnings("all") + public Child build() { + return new Child(this); + } + } + + @java.lang.SuppressWarnings("all") + public static ChildBuilder builder() { + return new ChildBuilderImpl(); + } + } + + public static void test() { + Child x = Child.builder().field3(0.0).field1(5).item("").build(); + } +} diff --git a/test/transform/resource/after-ecj/SuperBuilderWithGenerics.java b/test/transform/resource/after-ecj/SuperBuilderWithGenerics.java new file mode 100644 index 00000000..9f71be5a --- /dev/null +++ b/test/transform/resource/after-ecj/SuperBuilderWithGenerics.java @@ -0,0 +1,166 @@ +import java.util.List; + +public class SuperBuilderWithGenerics { + public static @lombok.experimental.SuperBuilder class Parent { + A field1; + List items; + + @java.lang.SuppressWarnings("all") + protected Parent(final ParentBuilder b) { + this.field1 = b.field1; + java.util.List items; + switch (b.items == null ? 0 : b.items.size()) { + case 0: + items = java.util.Collections.emptyList(); + break; + + case 1: + items = java.util.Collections.singletonList(b.items.get(0)); + break; + + default: + items = java.util.Collections.unmodifiableList(new java.util.ArrayList(b.items)); + } + this.items = items; + } + + + @java.lang.SuppressWarnings("all") + public static abstract class ParentBuilder, B extends ParentBuilder> { + @java.lang.SuppressWarnings("all") + private A field1; + @java.lang.SuppressWarnings("all") + private java.util.ArrayList items; + + @java.lang.SuppressWarnings("all") + protected abstract B self(); + + @java.lang.SuppressWarnings("all") + public abstract C build(); + + @java.lang.SuppressWarnings("all") + public B field1(final A field1) { + this.field1 = field1; + return self(); + } + + @java.lang.SuppressWarnings("all") + public B item(final String item) { + if (this.items == null) this.items = new java.util.ArrayList(); + this.items.add(item); + return self(); + } + + @java.lang.SuppressWarnings("all") + public B items(final java.util.Collection items) { + if (this.items == null) this.items = new java.util.ArrayList(); + this.items.addAll(items); + return self(); + } + + @java.lang.SuppressWarnings("all") + public B clearItems() { + if (this.items != null) this.items.clear(); + return self(); + } + + @java.lang.Override + @java.lang.SuppressWarnings("all") + public java.lang.String toString() { + return "SuperBuilderWithGenerics.Parent.ParentBuilder(field1=" + this.field1 + ", items=" + this.items + ")"; + } + } + + + @java.lang.SuppressWarnings("all") + private static final class ParentBuilderImpl extends ParentBuilder, ParentBuilderImpl> { + @java.lang.SuppressWarnings("all") + private ParentBuilderImpl() { + } + + @java.lang.Override + @java.lang.SuppressWarnings("all") + protected ParentBuilderImpl self() { + return this; + } + + @java.lang.Override + @java.lang.SuppressWarnings("all") + public Parent build() { + return new Parent(this); + } + } + + @java.lang.SuppressWarnings("all") + public static ParentBuilder builder() { + return new ParentBuilderImpl(); + } + } + + @lombok.experimental.SuperBuilder + public static class Child extends Parent { + double field3; + + @java.lang.SuppressWarnings("all") + protected Child(final ChildBuilder b) { + super(b); + this.field3 = b.field3; + } + + + @java.lang.SuppressWarnings("all") + public static abstract class ChildBuilder, B extends ChildBuilder> extends Parent.ParentBuilder { + @java.lang.SuppressWarnings("all") + private double field3; + + @java.lang.Override + @java.lang.SuppressWarnings("all") + protected abstract B self(); + + @java.lang.Override + @java.lang.SuppressWarnings("all") + public abstract C build(); + + @java.lang.SuppressWarnings("all") + public B field3(final double field3) { + this.field3 = field3; + return self(); + } + + @java.lang.Override + @java.lang.SuppressWarnings("all") + public java.lang.String toString() { + return "SuperBuilderWithGenerics.Child.ChildBuilder(super=" + super.toString() + ", field3=" + this.field3 + ")"; + } + } + + + @java.lang.SuppressWarnings("all") + private static final class ChildBuilderImpl extends ChildBuilder, ChildBuilderImpl> { + @java.lang.SuppressWarnings("all") + private ChildBuilderImpl() { + } + + @java.lang.Override + @java.lang.SuppressWarnings("all") + protected ChildBuilderImpl self() { + return this; + } + + @java.lang.Override + @java.lang.SuppressWarnings("all") + public Child build() { + return new Child(this); + } + } + + @java.lang.SuppressWarnings("all") + public static ChildBuilder builder() { + return new ChildBuilderImpl(); + } + } + + public static void test() { + Child x = Child.builder().field3(0.0).field1(5).item("").build(); + } +} -- cgit From ee51d77dd664ec13d3d3748798bfc74531594171 Mon Sep 17 00:00:00 2001 From: Jan Rieke Date: Fri, 11 May 2018 14:41:38 +0200 Subject: ecj: type params for constructor, abstract builder class, self method --- .../resource/after-ecj/SuperBuilderBasic.java | 100 +++++++-------------- 1 file changed, 32 insertions(+), 68 deletions(-) (limited to 'test/transform/resource/after-ecj') diff --git a/test/transform/resource/after-ecj/SuperBuilderBasic.java b/test/transform/resource/after-ecj/SuperBuilderBasic.java index cc86e05c..cecf82f7 100644 --- a/test/transform/resource/after-ecj/SuperBuilderBasic.java +++ b/test/transform/resource/after-ecj/SuperBuilderBasic.java @@ -1,99 +1,63 @@ import java.util.List; - public class SuperBuilderBasic { public static @lombok.experimental.SuperBuilder class Parent { - int field1; - @lombok.Singular List items; - - protected Parent(final ParentBuilder b) { - this.field1 = b.field1; - java.util.List items; - switch (b.items == null ? 0 : b.items.size()) { - case 0: - items = java.util.Collections.emptyList(); - break; - - case 1: - items = java.util.Collections.singletonList(b.items.get(0)); - break; - - default: - items = java.util.Collections.unmodifiableList(new java.util.ArrayList(b.items)); - } - this.items = items; - } - - - @java.lang.SuppressWarnings("all") - public static abstract class ParentBuilder> { - @java.lang.SuppressWarnings("all") - private int field1; - @java.lang.SuppressWarnings("all") - private java.util.ArrayList items; - - @java.lang.SuppressWarnings("all") - protected abstract B self(); - - @java.lang.SuppressWarnings("all") - public abstract C build(); - - @java.lang.SuppressWarnings("all") - public B field1(final int field1) { + public static abstract @java.lang.SuppressWarnings("all") class ParentBuilder> { + private @java.lang.SuppressWarnings("all") int field1; + private @java.lang.SuppressWarnings("all") java.util.ArrayList items; + protected abstract @java.lang.SuppressWarnings("all") B self(); + public abstract @java.lang.SuppressWarnings("all") C build(); + public @java.lang.SuppressWarnings("all") B field1(final int field1) { this.field1 = field1; return self(); } - - @java.lang.SuppressWarnings("all") - public B item(final String item) { + public @java.lang.SuppressWarnings("all") B item(final String item) { if (this.items == null) this.items = new java.util.ArrayList(); this.items.add(item); return self(); } - - @java.lang.SuppressWarnings("all") - public B items(final java.util.Collection items) { + public @java.lang.SuppressWarnings("all") B items(final java.util.Collection items) { if (this.items == null) this.items = new java.util.ArrayList(); this.items.addAll(items); return self(); } - - @java.lang.SuppressWarnings("all") - public B clearItems() { + public @java.lang.SuppressWarnings("all") B clearItems() { if (this.items != null) this.items.clear(); return self(); } - - @java.lang.Override - @java.lang.SuppressWarnings("all") - public java.lang.String toString() { + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { return "SuperBuilderBasic.Parent.ParentBuilder(field1=" + this.field1 + ", items=" + this.items + ")"; } } - - - @java.lang.SuppressWarnings("all") - private static final class ParentBuilderImpl extends ParentBuilder { - @java.lang.SuppressWarnings("all") - private ParentBuilderImpl() { + private static final @java.lang.SuppressWarnings("all") class ParentBuilderImpl extends ParentBuilder { + private @java.lang.SuppressWarnings("all") ParentBuilderImpl() { } - - @java.lang.Override - @java.lang.SuppressWarnings("all") - protected ParentBuilderImpl self() { + protected @java.lang.Override @java.lang.SuppressWarnings("all") ParentBuilderImpl self() { return this; } - - @java.lang.Override - @java.lang.SuppressWarnings("all") - public Parent build() { + public @java.lang.Override @java.lang.SuppressWarnings("all") Parent build() { return new Parent(this); } } - - @java.lang.SuppressWarnings("all") - public static ParentBuilder builder() { + public @java.lang.SuppressWarnings("all") static ParentBuilder builder() { return new ParentBuilderImpl(); } + int field1; + @lombok.Singular List items; + protected @java.lang.SuppressWarnings("all") Parent(final ParentBuilder b) { + this.field1 = b.field1; + java.util.List items; + switch (b.items == null ? 0 : b.items.size()) { + case 0: + items = java.util.Collections.emptyList(); + break; + case 1: + items = java.util.Collections.singletonList(b.items.get(0)); + break; + default: + items = java.util.Collections.unmodifiableList(new java.util.ArrayList(b.items)); + } + this.items = items; + } } public static @lombok.experimental.SuperBuilder class Child extends Parent { -- cgit From fb401d4887895d1ebb8529d6323797f1bc8072a2 Mon Sep 17 00:00:00 2001 From: Jan Rieke Date: Fri, 11 May 2018 17:19:47 +0200 Subject: ecj: setter methods now return self() --- test/transform/resource/after-ecj/SuperBuilderBasic.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'test/transform/resource/after-ecj') diff --git a/test/transform/resource/after-ecj/SuperBuilderBasic.java b/test/transform/resource/after-ecj/SuperBuilderBasic.java index cecf82f7..7315760c 100644 --- a/test/transform/resource/after-ecj/SuperBuilderBasic.java +++ b/test/transform/resource/after-ecj/SuperBuilderBasic.java @@ -10,18 +10,21 @@ public class SuperBuilderBasic { this.field1 = field1; return self(); } - public @java.lang.SuppressWarnings("all") B item(final String item) { - if (this.items == null) this.items = new java.util.ArrayList(); + public @java.lang.SuppressWarnings("all") B item(String item) { + if ((this.items == null)) + this.items = new java.util.ArrayList(); this.items.add(item); return self(); } - public @java.lang.SuppressWarnings("all") B items(final java.util.Collection items) { - if (this.items == null) this.items = new java.util.ArrayList(); + public @java.lang.SuppressWarnings("all") B items(java.util.Collection items) { + if ((this.items == null)) + this.items = new java.util.ArrayList(); this.items.addAll(items); return self(); } public @java.lang.SuppressWarnings("all") B clearItems() { - if (this.items != null) this.items.clear(); + if ((this.items != null)) + this.items.clear(); return self(); } public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { -- cgit From 5d35fe3bfbd46de7410bca96e29731e8f5236618 Mon Sep 17 00:00:00 2001 From: Jan Rieke Date: Mon, 14 May 2018 17:59:45 +0200 Subject: ecj: method body for self(); type args for BuilderImpl extends clause --- .../resource/after-ecj/SuperBuilderBasic.java | 34 ++++++++++++---------- 1 file changed, 18 insertions(+), 16 deletions(-) (limited to 'test/transform/resource/after-ecj') diff --git a/test/transform/resource/after-ecj/SuperBuilderBasic.java b/test/transform/resource/after-ecj/SuperBuilderBasic.java index 7315760c..d293c8f8 100644 --- a/test/transform/resource/after-ecj/SuperBuilderBasic.java +++ b/test/transform/resource/after-ecj/SuperBuilderBasic.java @@ -12,27 +12,28 @@ public class SuperBuilderBasic { } public @java.lang.SuppressWarnings("all") B item(String item) { if ((this.items == null)) - this.items = new java.util.ArrayList(); + this.items = new java.util.ArrayList(); this.items.add(item); return self(); } public @java.lang.SuppressWarnings("all") B items(java.util.Collection items) { if ((this.items == null)) - this.items = new java.util.ArrayList(); + this.items = new java.util.ArrayList(); this.items.addAll(items); return self(); } public @java.lang.SuppressWarnings("all") B clearItems() { if ((this.items != null)) - this.items.clear(); + this.items.clear(); return self(); } public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { - return "SuperBuilderBasic.Parent.ParentBuilder(field1=" + this.field1 + ", items=" + this.items + ")"; + return (((("SuperBuilderBasic.Parent.ParentBuilder(field1=" + this.field1) + ", items=") + this.items) + ")"); } } private static final @java.lang.SuppressWarnings("all") class ParentBuilderImpl extends ParentBuilder { private @java.lang.SuppressWarnings("all") ParentBuilderImpl() { + super(); } protected @java.lang.Override @java.lang.SuppressWarnings("all") ParentBuilderImpl self() { return this; @@ -41,26 +42,27 @@ public class SuperBuilderBasic { return new Parent(this); } } - public @java.lang.SuppressWarnings("all") static ParentBuilder builder() { - return new ParentBuilderImpl(); - } int field1; @lombok.Singular List items; protected @java.lang.SuppressWarnings("all") Parent(final ParentBuilder b) { + super(); this.field1 = b.field1; java.util.List items; - switch (b.items == null ? 0 : b.items.size()) { - case 0: - items = java.util.Collections.emptyList(); - break; - case 1: - items = java.util.Collections.singletonList(b.items.get(0)); - break; - default: - items = java.util.Collections.unmodifiableList(new java.util.ArrayList(b.items)); + switch (((b.items == null) ? 0 : b.items.size())) { + case 0 : + items = java.util.Collections.emptyList(); + break; + case 1 : + items = java.util.Collections.singletonList(b.items.get(0)); + break; + default : + items = java.util.Collections.unmodifiableList(new java.util.ArrayList(b.items)); } this.items = items; } + public static @java.lang.SuppressWarnings("all") ParentBuilder builder() { + return new ParentBuilderImpl(); + } } public static @lombok.experimental.SuperBuilder class Child extends Parent { -- cgit From 55976fec127e7674222f81e46532755081ffb454 Mon Sep 17 00:00:00 2001 From: Jan Rieke Date: Thu, 17 May 2018 20:36:40 +0200 Subject: ecj: remaining type args for non-generic class builders --- .../resource/after-ecj/SuperBuilderBasic.java | 71 +++++++--------------- 1 file changed, 22 insertions(+), 49 deletions(-) (limited to 'test/transform/resource/after-ecj') diff --git a/test/transform/resource/after-ecj/SuperBuilderBasic.java b/test/transform/resource/after-ecj/SuperBuilderBasic.java index d293c8f8..88ac7e70 100644 --- a/test/transform/resource/after-ecj/SuperBuilderBasic.java +++ b/test/transform/resource/after-ecj/SuperBuilderBasic.java @@ -61,72 +61,45 @@ public class SuperBuilderBasic { this.items = items; } public static @java.lang.SuppressWarnings("all") ParentBuilder builder() { - return new ParentBuilderImpl(); + return new ParentBuilderImpl(); } } - public static @lombok.experimental.SuperBuilder class Child extends Parent { - double field3; - - @java.lang.SuppressWarnings("all") - protected Child(final ChildBuilder b) { - super(b); - this.field3 = b.field3; - } - - - @java.lang.SuppressWarnings("all") - public static abstract class ChildBuilder> extends Parent.ParentBuilder { - @java.lang.SuppressWarnings("all") - private double field3; - - @java.lang.Override - @java.lang.SuppressWarnings("all") - protected abstract B self(); - - @java.lang.Override - @java.lang.SuppressWarnings("all") - public abstract C build(); - - @java.lang.SuppressWarnings("all") - public B field3(final double field3) { + public static abstract @java.lang.SuppressWarnings("all") class ChildBuilder> extends Parent.ParentBuilder { + private @java.lang.SuppressWarnings("all") double field3; + protected abstract @java.lang.Override @java.lang.SuppressWarnings("all") B self(); + public abstract @java.lang.Override @java.lang.SuppressWarnings("all") C build(); + public @java.lang.SuppressWarnings("all") B field3(final double field3) { this.field3 = field3; return self(); } - - @java.lang.Override - @java.lang.SuppressWarnings("all") - public java.lang.String toString() { - return "SuperBuilderBasic.Child.ChildBuilder(super=" + super.toString() + ", field3=" + this.field3 + ")"; + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { + return (((("SuperBuilderBasic.Child.ChildBuilder(super=" + super.toString()) + ", field3=") + this.field3) + ")"); } } - - - @java.lang.SuppressWarnings("all") - private static final class ChildBuilderImpl extends ChildBuilder { - @java.lang.SuppressWarnings("all") - private ChildBuilderImpl() { + private static final @java.lang.SuppressWarnings("all") class ChildBuilderImpl extends ChildBuilder { + private @java.lang.SuppressWarnings("all") ChildBuilderImpl() { + super(); } - - @java.lang.Override - @java.lang.SuppressWarnings("all") - protected ChildBuilderImpl self() { + protected @java.lang.Override @java.lang.SuppressWarnings("all") ChildBuilderImpl self() { return this; } - - @java.lang.Override - @java.lang.SuppressWarnings("all") - public Child build() { + public @java.lang.Override @java.lang.SuppressWarnings("all") Child build() { return new Child(this); } } - - @java.lang.SuppressWarnings("all") - public static ChildBuilder builder() { + double field3; + protected @java.lang.SuppressWarnings("all") Child(final ChildBuilder b) { + super(b); + this.field3 = b.field3; + } + public static @java.lang.SuppressWarnings("all") ChildBuilder builder() { return new ChildBuilderImpl(); } } - + public SuperBuilderBasic() { + super(); + } public static void test() { Child x = Child.builder().field3(0.0).field1(5).item("").build(); } -- cgit From 9ee2491427f1522a7689d1c28a816294bcff315b Mon Sep 17 00:00:00 2001 From: Jan Rieke Date: Thu, 17 May 2018 21:26:42 +0200 Subject: ecj: SuperBuilderBasic test passes (removed superconstructor calls) --- test/transform/resource/after-ecj/SuperBuilderBasic.java | 3 --- 1 file changed, 3 deletions(-) (limited to 'test/transform/resource/after-ecj') diff --git a/test/transform/resource/after-ecj/SuperBuilderBasic.java b/test/transform/resource/after-ecj/SuperBuilderBasic.java index 88ac7e70..fc5f045b 100644 --- a/test/transform/resource/after-ecj/SuperBuilderBasic.java +++ b/test/transform/resource/after-ecj/SuperBuilderBasic.java @@ -33,7 +33,6 @@ public class SuperBuilderBasic { } private static final @java.lang.SuppressWarnings("all") class ParentBuilderImpl extends ParentBuilder { private @java.lang.SuppressWarnings("all") ParentBuilderImpl() { - super(); } protected @java.lang.Override @java.lang.SuppressWarnings("all") ParentBuilderImpl self() { return this; @@ -45,7 +44,6 @@ public class SuperBuilderBasic { int field1; @lombok.Singular List items; protected @java.lang.SuppressWarnings("all") Parent(final ParentBuilder b) { - super(); this.field1 = b.field1; java.util.List items; switch (((b.items == null) ? 0 : b.items.size())) { @@ -79,7 +77,6 @@ public class SuperBuilderBasic { } private static final @java.lang.SuppressWarnings("all") class ChildBuilderImpl extends ChildBuilder { private @java.lang.SuppressWarnings("all") ChildBuilderImpl() { - super(); } protected @java.lang.Override @java.lang.SuppressWarnings("all") ChildBuilderImpl self() { return this; -- cgit From 61f0689f6bfb8de28c90eb786cd9e9e06a776287 Mon Sep 17 00:00:00 2001 From: Jan Rieke Date: Wed, 30 May 2018 11:52:42 +0200 Subject: ecj: copy type parameters to builder class --- .../after-ecj/SuperBuilderWithGenerics.java | 261 ++++++++------------- 1 file changed, 98 insertions(+), 163 deletions(-) (limited to 'test/transform/resource/after-ecj') diff --git a/test/transform/resource/after-ecj/SuperBuilderWithGenerics.java b/test/transform/resource/after-ecj/SuperBuilderWithGenerics.java index 9f71be5a..0ec8efe5 100644 --- a/test/transform/resource/after-ecj/SuperBuilderWithGenerics.java +++ b/test/transform/resource/after-ecj/SuperBuilderWithGenerics.java @@ -1,166 +1,101 @@ import java.util.List; - public class SuperBuilderWithGenerics { - public static @lombok.experimental.SuperBuilder class Parent { - A field1; - List items; - - @java.lang.SuppressWarnings("all") - protected Parent(final ParentBuilder b) { - this.field1 = b.field1; - java.util.List items; - switch (b.items == null ? 0 : b.items.size()) { - case 0: - items = java.util.Collections.emptyList(); - break; - - case 1: - items = java.util.Collections.singletonList(b.items.get(0)); - break; - - default: - items = java.util.Collections.unmodifiableList(new java.util.ArrayList(b.items)); - } - this.items = items; - } - - - @java.lang.SuppressWarnings("all") - public static abstract class ParentBuilder, B extends ParentBuilder> { - @java.lang.SuppressWarnings("all") - private A field1; - @java.lang.SuppressWarnings("all") - private java.util.ArrayList items; - - @java.lang.SuppressWarnings("all") - protected abstract B self(); - - @java.lang.SuppressWarnings("all") - public abstract C build(); - - @java.lang.SuppressWarnings("all") - public B field1(final A field1) { - this.field1 = field1; - return self(); - } - - @java.lang.SuppressWarnings("all") - public B item(final String item) { - if (this.items == null) this.items = new java.util.ArrayList(); - this.items.add(item); - return self(); - } - - @java.lang.SuppressWarnings("all") - public B items(final java.util.Collection items) { - if (this.items == null) this.items = new java.util.ArrayList(); - this.items.addAll(items); - return self(); - } - - @java.lang.SuppressWarnings("all") - public B clearItems() { - if (this.items != null) this.items.clear(); - return self(); - } - - @java.lang.Override - @java.lang.SuppressWarnings("all") - public java.lang.String toString() { - return "SuperBuilderWithGenerics.Parent.ParentBuilder(field1=" + this.field1 + ", items=" + this.items + ")"; - } - } - - - @java.lang.SuppressWarnings("all") - private static final class ParentBuilderImpl extends ParentBuilder, ParentBuilderImpl> { - @java.lang.SuppressWarnings("all") - private ParentBuilderImpl() { - } - - @java.lang.Override - @java.lang.SuppressWarnings("all") - protected ParentBuilderImpl self() { - return this; - } - - @java.lang.Override - @java.lang.SuppressWarnings("all") - public Parent build() { - return new Parent(this); - } - } - - @java.lang.SuppressWarnings("all") - public static ParentBuilder builder() { - return new ParentBuilderImpl(); - } - } - - @lombok.experimental.SuperBuilder - public static class Child extends Parent { - double field3; - - @java.lang.SuppressWarnings("all") - protected Child(final ChildBuilder b) { - super(b); - this.field3 = b.field3; - } - - - @java.lang.SuppressWarnings("all") - public static abstract class ChildBuilder, B extends ChildBuilder> extends Parent.ParentBuilder { - @java.lang.SuppressWarnings("all") - private double field3; - - @java.lang.Override - @java.lang.SuppressWarnings("all") - protected abstract B self(); - - @java.lang.Override - @java.lang.SuppressWarnings("all") - public abstract C build(); - - @java.lang.SuppressWarnings("all") - public B field3(final double field3) { - this.field3 = field3; - return self(); - } - - @java.lang.Override - @java.lang.SuppressWarnings("all") - public java.lang.String toString() { - return "SuperBuilderWithGenerics.Child.ChildBuilder(super=" + super.toString() + ", field3=" + this.field3 + ")"; - } - } - - - @java.lang.SuppressWarnings("all") - private static final class ChildBuilderImpl extends ChildBuilder, ChildBuilderImpl> { - @java.lang.SuppressWarnings("all") - private ChildBuilderImpl() { - } - - @java.lang.Override - @java.lang.SuppressWarnings("all") - protected ChildBuilderImpl self() { - return this; - } - - @java.lang.Override - @java.lang.SuppressWarnings("all") - public Child build() { - return new Child(this); - } - } - - @java.lang.SuppressWarnings("all") - public static ChildBuilder builder() { - return new ChildBuilderImpl(); - } - } - - public static void test() { - Child x = Child.builder().field3(0.0).field1(5).item("").build(); - } + public static @lombok.experimental.SuperBuilder class Parent { + public static abstract @java.lang.SuppressWarnings("all") class ParentBuilder, B extends ParentBuilder> { + private @java.lang.SuppressWarnings("all") A field1; + private @java.lang.SuppressWarnings("all") java.util.ArrayList items; + protected abstract @java.lang.SuppressWarnings("all") B self(); + public abstract @java.lang.SuppressWarnings("all") C build(); + public @java.lang.SuppressWarnings("all") B field1(final A field1) { + this.field1 = field1; + return self(); + } + public @java.lang.SuppressWarnings("all") B item(String item) { + if ((this.items == null)) + this.items = new java.util.ArrayList(); + this.items.add(item); + return self(); + } + public @java.lang.SuppressWarnings("all") B items(java.util.Collection items) { + if ((this.items == null)) + this.items = new java.util.ArrayList(); + this.items.addAll(items); + return self(); + } + public @java.lang.SuppressWarnings("all") B clearItems() { + if ((this.items != null)) + this.items.clear(); + return self(); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { + return (((("SuperBuilderWithGenerics.Parent.ParentBuilder(field1=" + this.field1) + ", items=") + this.items) + ")"); + } + } + private static final @java.lang.SuppressWarnings("all") class ParentBuilderImpl extends ParentBuilder, ParentBuilderImpl> { + private @java.lang.SuppressWarnings("all") ParentBuilderImpl() { + } + protected @java.lang.Override @java.lang.SuppressWarnings("all") ParentBuilderImpl self() { + return this; + } + public @java.lang.Override @java.lang.SuppressWarnings("all") Parent build() { + return new Parent(this); + } + } + A field1; + @lombok.Singular List items; + protected @java.lang.SuppressWarnings("all") Parent(final ParentBuilder b) { + this.field1 = b.field1; + java.util.List items; + switch (b.items == null ? 0 : b.items.size()) { + case 0: + items = java.util.Collections.emptyList(); + break; + case 1: + items = java.util.Collections.singletonList(b.items.get(0)); + break; + default: + items = java.util.Collections.unmodifiableList(new java.util.ArrayList(b.items)); + } + this.items = items; + } + public static @java.lang.SuppressWarnings("all") ParentBuilder builder() { + return new ParentBuilderImpl(); + } + } + @lombok.experimental.SuperBuilder + public static class Child extends Parent { + double field3; + protected @java.lang.SuppressWarnings("all") Child(final ChildBuilder b) { + super(b); + this.field3 = b.field3; + } + public static abstract class ChildBuilder, B extends ChildBuilder> extends Parent.ParentBuilder { + private @java.lang.SuppressWarnings("all") double field3; + protected @java.lang.Override @java.lang.SuppressWarnings("all") abstract B self(); + public @java.lang.Override @java.lang.SuppressWarnings("all") abstract C build(); + public @java.lang.SuppressWarnings("all") B field3(final double field3) { + this.field3 = field3; + return self(); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { + return "SuperBuilderWithGenerics.Child.ChildBuilder(super=" + super.toString() + ", field3=" + this.field3 + ")"; + } + } + private static final @java.lang.SuppressWarnings("all") class ChildBuilderImpl extends ChildBuilder, ChildBuilderImpl> { + private ChildBuilderImpl() { + } + protected @java.lang.Override @java.lang.SuppressWarnings("all") ChildBuilderImpl self() { + return this; + } + public @java.lang.Override @java.lang.SuppressWarnings("all") Child build() { + return new Child(this); + } + } + public static @java.lang.SuppressWarnings("all") ChildBuilder builder() { + return new ChildBuilderImpl(); + } + } + public static void test() { + Child x = Child.builder().field3(0.0).field1(5).item("").build(); + } } -- cgit From b2f44c326430fd2e46e2830af7bbaa010f571a44 Mon Sep 17 00:00:00 2001 From: Jan Rieke Date: Wed, 30 May 2018 13:10:34 +0200 Subject: ecj: type parameters for methods and constructor param --- .../after-ecj/SuperBuilderWithGenerics.java | 48 +++++++++++----------- 1 file changed, 25 insertions(+), 23 deletions(-) (limited to 'test/transform/resource/after-ecj') diff --git a/test/transform/resource/after-ecj/SuperBuilderWithGenerics.java b/test/transform/resource/after-ecj/SuperBuilderWithGenerics.java index 0ec8efe5..cb717bcf 100644 --- a/test/transform/resource/after-ecj/SuperBuilderWithGenerics.java +++ b/test/transform/resource/after-ecj/SuperBuilderWithGenerics.java @@ -46,43 +46,37 @@ public class SuperBuilderWithGenerics { protected @java.lang.SuppressWarnings("all") Parent(final ParentBuilder b) { this.field1 = b.field1; java.util.List items; - switch (b.items == null ? 0 : b.items.size()) { - case 0: - items = java.util.Collections.emptyList(); - break; - case 1: - items = java.util.Collections.singletonList(b.items.get(0)); - break; - default: - items = java.util.Collections.unmodifiableList(new java.util.ArrayList(b.items)); + switch (((b.items == null) ? 0 : b.items.size())) { + case 0 : + items = java.util.Collections.emptyList(); + break; + case 1 : + items = java.util.Collections.singletonList(b.items.get(0)); + break; + default : + items = java.util.Collections.unmodifiableList(new java.util.ArrayList(b.items)); } this.items = items; } - public static @java.lang.SuppressWarnings("all") ParentBuilder builder() { + public static @java.lang.SuppressWarnings("all") ParentBuilder builder() { return new ParentBuilderImpl(); } } - @lombok.experimental.SuperBuilder - public static class Child extends Parent { - double field3; - protected @java.lang.SuppressWarnings("all") Child(final ChildBuilder b) { - super(b); - this.field3 = b.field3; - } - public static abstract class ChildBuilder, B extends ChildBuilder> extends Parent.ParentBuilder { + public static @lombok.experimental.SuperBuilder class Child extends Parent { + public static abstract @java.lang.SuppressWarnings("all") class ChildBuilder, B extends ChildBuilder> extends Parent.ParentBuilder { private @java.lang.SuppressWarnings("all") double field3; - protected @java.lang.Override @java.lang.SuppressWarnings("all") abstract B self(); - public @java.lang.Override @java.lang.SuppressWarnings("all") abstract C build(); + protected abstract @java.lang.Override @java.lang.SuppressWarnings("all") B self(); + public abstract @java.lang.Override @java.lang.SuppressWarnings("all") C build(); public @java.lang.SuppressWarnings("all") B field3(final double field3) { this.field3 = field3; return self(); } public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { - return "SuperBuilderWithGenerics.Child.ChildBuilder(super=" + super.toString() + ", field3=" + this.field3 + ")"; + return (((("SuperBuilderWithGenerics.Child.ChildBuilder(super=" + super.toString()) + ", field3=") + this.field3) + ")"); } } private static final @java.lang.SuppressWarnings("all") class ChildBuilderImpl extends ChildBuilder, ChildBuilderImpl> { - private ChildBuilderImpl() { + private @java.lang.SuppressWarnings("all") ChildBuilderImpl() { } protected @java.lang.Override @java.lang.SuppressWarnings("all") ChildBuilderImpl self() { return this; @@ -91,10 +85,18 @@ public class SuperBuilderWithGenerics { return new Child(this); } } - public static @java.lang.SuppressWarnings("all") ChildBuilder builder() { + double field3; + protected @java.lang.SuppressWarnings("all") Child(final ChildBuilder b) { + super(b); + this.field3 = b.field3; + } + public static @java.lang.SuppressWarnings("all") ChildBuilder builder() { return new ChildBuilderImpl(); } } + public SuperBuilderWithGenerics() { + super(); + } public static void test() { Child x = Child.builder().field3(0.0).field1(5).item("").build(); } -- cgit From 1e87330f1825f1072fd2ce7eba15fb10e9e080e7 Mon Sep 17 00:00:00 2001 From: Jan Rieke Date: Wed, 30 May 2018 22:50:09 +0200 Subject: test case for custom builder method --- .../SuperBuilderWithCustomBuilderMethod.java | 103 +++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 test/transform/resource/after-ecj/SuperBuilderWithCustomBuilderMethod.java (limited to 'test/transform/resource/after-ecj') diff --git a/test/transform/resource/after-ecj/SuperBuilderWithCustomBuilderMethod.java b/test/transform/resource/after-ecj/SuperBuilderWithCustomBuilderMethod.java new file mode 100644 index 00000000..2f4048d6 --- /dev/null +++ b/test/transform/resource/after-ecj/SuperBuilderWithCustomBuilderMethod.java @@ -0,0 +1,103 @@ +import java.util.List; +public class SuperBuilderWithCustomBuilderMethod { + public static @lombok.experimental.SuperBuilder class Parent { + public static abstract @java.lang.SuppressWarnings("all") class ParentBuilder, B extends ParentBuilder> { + private @java.lang.SuppressWarnings("all") A field1; + private @java.lang.SuppressWarnings("all") java.util.ArrayList items; + protected abstract @java.lang.SuppressWarnings("all") B self(); + public abstract @java.lang.SuppressWarnings("all") C build(); + public @java.lang.SuppressWarnings("all") B field1(final A field1) { + this.field1 = field1; + return self(); + } + public @java.lang.SuppressWarnings("all") B item(String item) { + if ((this.items == null)) + this.items = new java.util.ArrayList(); + this.items.add(item); + return self(); + } + public @java.lang.SuppressWarnings("all") B items(java.util.Collection items) { + if ((this.items == null)) + this.items = new java.util.ArrayList(); + this.items.addAll(items); + return self(); + } + public @java.lang.SuppressWarnings("all") B clearItems() { + if ((this.items != null)) + this.items.clear(); + return self(); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { + return (((("SuperBuilderWithGenerics.Parent.ParentBuilder(field1=" + this.field1) + ", items=") + this.items) + ")"); + } + } + private static final @java.lang.SuppressWarnings("all") class ParentBuilderImpl extends ParentBuilder, ParentBuilderImpl> { + private @java.lang.SuppressWarnings("all") ParentBuilderImpl() { + } + protected @java.lang.Override @java.lang.SuppressWarnings("all") ParentBuilderImpl self() { + return this; + } + public @java.lang.Override @java.lang.SuppressWarnings("all") Parent build() { + return new Parent(this); + } + } + A field1; + @lombok.Singular List items; + protected @java.lang.SuppressWarnings("all") Parent(final ParentBuilder b) { + this.field1 = b.field1; + java.util.List items; + switch (((b.items == null) ? 0 : b.items.size())) { + case 0 : + items = java.util.Collections.emptyList(); + break; + case 1 : + items = java.util.Collections.singletonList(b.items.get(0)); + break; + default : + items = java.util.Collections.unmodifiableList(new java.util.ArrayList(b.items)); + } + this.items = items; + } + public static @java.lang.SuppressWarnings("all") ParentBuilder builder() { + return new ParentBuilderImpl(); + } + } + public static @lombok.experimental.SuperBuilder class Child extends Parent { + public static abstract @java.lang.SuppressWarnings("all") class ChildBuilder, B extends ChildBuilder> extends Parent.ParentBuilder { + private @java.lang.SuppressWarnings("all") double field3; + protected abstract @java.lang.Override @java.lang.SuppressWarnings("all") B self(); + public abstract @java.lang.Override @java.lang.SuppressWarnings("all") C build(); + public @java.lang.SuppressWarnings("all") B field3(final double field3) { + this.field3 = field3; + return self(); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { + return (((("SuperBuilderWithGenerics.Child.ChildBuilder(super=" + super.toString()) + ", field3=") + this.field3) + ")"); + } + } + private static final @java.lang.SuppressWarnings("all") class ChildBuilderImpl extends ChildBuilder, ChildBuilderImpl> { + private @java.lang.SuppressWarnings("all") ChildBuilderImpl() { + } + protected @java.lang.Override @java.lang.SuppressWarnings("all") ChildBuilderImpl self() { + return this; + } + public @java.lang.Override @java.lang.SuppressWarnings("all") Child build() { + return new Child(this); + } + } + double field3; + protected @java.lang.SuppressWarnings("all") Child(final ChildBuilder b) { + super(b); + this.field3 = b.field3; + } + public static @java.lang.SuppressWarnings("all") ChildBuilder builder() { + return new ChildBuilderImpl().item("default item"); + } + } + public SuperBuilderWithGenerics() { + super(); + } + public static void test() { + Child x = Child.builder().field3(0.0).field1(5).item("").build(); + } +} -- cgit From 65b248ec62ffe87d9f4fe234c47f786f420d58dc Mon Sep 17 00:00:00 2001 From: Jan Rieke Date: Thu, 31 May 2018 14:41:40 +0200 Subject: fixed expected test results --- .../after-ecj/SuperBuilderWithCustomBuilderMethod.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'test/transform/resource/after-ecj') diff --git a/test/transform/resource/after-ecj/SuperBuilderWithCustomBuilderMethod.java b/test/transform/resource/after-ecj/SuperBuilderWithCustomBuilderMethod.java index 2f4048d6..119fb5bb 100644 --- a/test/transform/resource/after-ecj/SuperBuilderWithCustomBuilderMethod.java +++ b/test/transform/resource/after-ecj/SuperBuilderWithCustomBuilderMethod.java @@ -28,7 +28,7 @@ public class SuperBuilderWithCustomBuilderMethod { return self(); } public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { - return (((("SuperBuilderWithGenerics.Parent.ParentBuilder(field1=" + this.field1) + ", items=") + this.items) + ")"); + return (((("SuperBuilderWithCustomBuilderMethod.Parent.ParentBuilder(field1=" + this.field1) + ", items=") + this.items) + ")"); } } private static final @java.lang.SuppressWarnings("all") class ParentBuilderImpl extends ParentBuilder, ParentBuilderImpl> { @@ -72,7 +72,7 @@ public class SuperBuilderWithCustomBuilderMethod { return self(); } public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { - return (((("SuperBuilderWithGenerics.Child.ChildBuilder(super=" + super.toString()) + ", field3=") + this.field3) + ")"); + return (((("SuperBuilderWithCustomBuilderMethod.Child.ChildBuilder(super=" + super.toString()) + ", field3=") + this.field3) + ")"); } } private static final @java.lang.SuppressWarnings("all") class ChildBuilderImpl extends ChildBuilder, ChildBuilderImpl> { @@ -86,15 +86,15 @@ public class SuperBuilderWithCustomBuilderMethod { } } double field3; + public static ChildBuilder builder() { + return new ChildBuilderImpl().item("default item"); + } protected @java.lang.SuppressWarnings("all") Child(final ChildBuilder b) { super(b); this.field3 = b.field3; } - public static @java.lang.SuppressWarnings("all") ChildBuilder builder() { - return new ChildBuilderImpl().item("default item"); - } } - public SuperBuilderWithGenerics() { + public SuperBuilderWithCustomBuilderMethod() { super(); } public static void test() { -- cgit From 7bd60ea6e68699b9b75f6fb4ce8c68abfa69f5de Mon Sep 17 00:00:00 2001 From: Jan Rieke Date: Thu, 31 May 2018 16:32:14 +0200 Subject: second generics test case --- .../after-ecj/SuperBuilderWithGenerics2.java | 103 +++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 test/transform/resource/after-ecj/SuperBuilderWithGenerics2.java (limited to 'test/transform/resource/after-ecj') diff --git a/test/transform/resource/after-ecj/SuperBuilderWithGenerics2.java b/test/transform/resource/after-ecj/SuperBuilderWithGenerics2.java new file mode 100644 index 00000000..74cf376e --- /dev/null +++ b/test/transform/resource/after-ecj/SuperBuilderWithGenerics2.java @@ -0,0 +1,103 @@ +import java.util.List; +public class SuperBuilderWithGenerics2 { + public static @lombok.experimental.SuperBuilder class Parent { + public static abstract @java.lang.SuppressWarnings("all") class ParentBuilder, B extends ParentBuilder> { + private @java.lang.SuppressWarnings("all") A field1; + private @java.lang.SuppressWarnings("all") java.util.ArrayList items; + protected abstract @java.lang.SuppressWarnings("all") B self(); + public abstract @java.lang.SuppressWarnings("all") C build(); + public @java.lang.SuppressWarnings("all") B field1(final A field1) { + this.field1 = field1; + return self(); + } + public @java.lang.SuppressWarnings("all") B item(String item) { + if ((this.items == null)) + this.items = new java.util.ArrayList(); + this.items.add(item); + return self(); + } + public @java.lang.SuppressWarnings("all") B items(java.util.Collection items) { + if ((this.items == null)) + this.items = new java.util.ArrayList(); + this.items.addAll(items); + return self(); + } + public @java.lang.SuppressWarnings("all") B clearItems() { + if ((this.items != null)) + this.items.clear(); + return self(); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { + return (((("SuperBuilderWithGenerics2.Parent.ParentBuilder(field1=" + this.field1) + ", items=") + this.items) + ")"); + } + } + private static final @java.lang.SuppressWarnings("all") class ParentBuilderImpl extends ParentBuilder, ParentBuilderImpl> { + private @java.lang.SuppressWarnings("all") ParentBuilderImpl() { + } + protected @java.lang.Override @java.lang.SuppressWarnings("all") ParentBuilderImpl self() { + return this; + } + public @java.lang.Override @java.lang.SuppressWarnings("all") Parent build() { + return new Parent(this); + } + } + A field1; + @lombok.Singular List items; + protected @java.lang.SuppressWarnings("all") Parent(final ParentBuilder b) { + this.field1 = b.field1; + java.util.List items; + switch (((b.items == null) ? 0 : b.items.size())) { + case 0 : + items = java.util.Collections.emptyList(); + break; + case 1 : + items = java.util.Collections.singletonList(b.items.get(0)); + break; + default : + items = java.util.Collections.unmodifiableList(new java.util.ArrayList(b.items)); + } + this.items = items; + } + public static @java.lang.SuppressWarnings("all") ParentBuilder builder() { + return new ParentBuilderImpl(); + } + } + public static @lombok.experimental.SuperBuilder(builderMethodName = "builder2") class Child extends Parent { + public static abstract @java.lang.SuppressWarnings("all") class ChildBuilder, B extends ChildBuilder> extends Parent.ParentBuilder { + private @java.lang.SuppressWarnings("all") A field3; + protected abstract @java.lang.Override @java.lang.SuppressWarnings("all") B self(); + public abstract @java.lang.Override @java.lang.SuppressWarnings("all") C build(); + public @java.lang.SuppressWarnings("all") B field3(final A field3) { + this.field3 = field3; + return self(); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { + return (((("SuperBuilderWithGenerics2.Child.ChildBuilder(super=" + super.toString()) + ", field3=") + this.field3) + ")"); + } + } + private static final @java.lang.SuppressWarnings("all") class ChildBuilderImpl extends ChildBuilder, ChildBuilderImpl> { + private @java.lang.SuppressWarnings("all") ChildBuilderImpl() { + } + protected @java.lang.Override @java.lang.SuppressWarnings("all") ChildBuilderImpl self() { + return this; + } + public @java.lang.Override @java.lang.SuppressWarnings("all") Child build() { + return new Child(this); + } + } + A field3; + protected @java.lang.SuppressWarnings("all") Child(final ChildBuilder b) { + super(b); + this.field3 = b.field3; + } + public static @java.lang.SuppressWarnings("all") ChildBuilder builder2() { + return new ChildBuilderImpl(); + } + } + public SuperBuilderWithGenerics2() { + super(); + } + public static void test() { + Child x = Child.builder2().field3(1).field1("value").item("").build(); + } +} -- cgit From 795e3c84875de0a01f4d5e1321312f592139c7aa Mon Sep 17 00:00:00 2001 From: Jan Rieke Date: Thu, 31 May 2018 16:40:08 +0200 Subject: Revert "ecj: SuperBuilderBasic test passes (removed superconstructor calls)" This reverts commit 9ee2491427f1522a7689d1c28a816294bcff315b. --- test/transform/resource/after-ecj/SuperBuilderBasic.java | 3 +++ 1 file changed, 3 insertions(+) (limited to 'test/transform/resource/after-ecj') diff --git a/test/transform/resource/after-ecj/SuperBuilderBasic.java b/test/transform/resource/after-ecj/SuperBuilderBasic.java index fc5f045b..88ac7e70 100644 --- a/test/transform/resource/after-ecj/SuperBuilderBasic.java +++ b/test/transform/resource/after-ecj/SuperBuilderBasic.java @@ -33,6 +33,7 @@ public class SuperBuilderBasic { } private static final @java.lang.SuppressWarnings("all") class ParentBuilderImpl extends ParentBuilder { private @java.lang.SuppressWarnings("all") ParentBuilderImpl() { + super(); } protected @java.lang.Override @java.lang.SuppressWarnings("all") ParentBuilderImpl self() { return this; @@ -44,6 +45,7 @@ public class SuperBuilderBasic { int field1; @lombok.Singular List items; protected @java.lang.SuppressWarnings("all") Parent(final ParentBuilder b) { + super(); this.field1 = b.field1; java.util.List items; switch (((b.items == null) ? 0 : b.items.size())) { @@ -77,6 +79,7 @@ public class SuperBuilderBasic { } private static final @java.lang.SuppressWarnings("all") class ChildBuilderImpl extends ChildBuilder { private @java.lang.SuppressWarnings("all") ChildBuilderImpl() { + super(); } protected @java.lang.Override @java.lang.SuppressWarnings("all") ChildBuilderImpl self() { return this; -- cgit From 32bed51fede1eebef2006d54b3e364de22ae9ac0 Mon Sep 17 00:00:00 2001 From: Jan Rieke Date: Thu, 31 May 2018 18:01:43 +0200 Subject: ecj: generate default constructor for builder classes --- test/transform/resource/after-ecj/SuperBuilderBasic.java | 10 ++++++++-- .../after-ecj/SuperBuilderWithCustomBuilderMethod.java | 13 +++++++++++-- .../resource/after-ecj/SuperBuilderWithGenerics.java | 13 +++++++++++-- .../resource/after-ecj/SuperBuilderWithGenerics2.java | 13 +++++++++++-- 4 files changed, 41 insertions(+), 8 deletions(-) (limited to 'test/transform/resource/after-ecj') diff --git a/test/transform/resource/after-ecj/SuperBuilderBasic.java b/test/transform/resource/after-ecj/SuperBuilderBasic.java index 88ac7e70..11fd8498 100644 --- a/test/transform/resource/after-ecj/SuperBuilderBasic.java +++ b/test/transform/resource/after-ecj/SuperBuilderBasic.java @@ -4,6 +4,9 @@ public class SuperBuilderBasic { public static abstract @java.lang.SuppressWarnings("all") class ParentBuilder> { private @java.lang.SuppressWarnings("all") int field1; private @java.lang.SuppressWarnings("all") java.util.ArrayList items; + public ParentBuilder() { + super(); + } protected abstract @java.lang.SuppressWarnings("all") B self(); public abstract @java.lang.SuppressWarnings("all") C build(); public @java.lang.SuppressWarnings("all") B field1(final int field1) { @@ -32,7 +35,7 @@ public class SuperBuilderBasic { } } private static final @java.lang.SuppressWarnings("all") class ParentBuilderImpl extends ParentBuilder { - private @java.lang.SuppressWarnings("all") ParentBuilderImpl() { + private ParentBuilderImpl() { super(); } protected @java.lang.Override @java.lang.SuppressWarnings("all") ParentBuilderImpl self() { @@ -67,6 +70,9 @@ public class SuperBuilderBasic { public static @lombok.experimental.SuperBuilder class Child extends Parent { public static abstract @java.lang.SuppressWarnings("all") class ChildBuilder> extends Parent.ParentBuilder { private @java.lang.SuppressWarnings("all") double field3; + public ChildBuilder() { + super(); + } protected abstract @java.lang.Override @java.lang.SuppressWarnings("all") B self(); public abstract @java.lang.Override @java.lang.SuppressWarnings("all") C build(); public @java.lang.SuppressWarnings("all") B field3(final double field3) { @@ -78,7 +84,7 @@ public class SuperBuilderBasic { } } private static final @java.lang.SuppressWarnings("all") class ChildBuilderImpl extends ChildBuilder { - private @java.lang.SuppressWarnings("all") ChildBuilderImpl() { + private ChildBuilderImpl() { super(); } protected @java.lang.Override @java.lang.SuppressWarnings("all") ChildBuilderImpl self() { diff --git a/test/transform/resource/after-ecj/SuperBuilderWithCustomBuilderMethod.java b/test/transform/resource/after-ecj/SuperBuilderWithCustomBuilderMethod.java index 119fb5bb..fe4938bf 100644 --- a/test/transform/resource/after-ecj/SuperBuilderWithCustomBuilderMethod.java +++ b/test/transform/resource/after-ecj/SuperBuilderWithCustomBuilderMethod.java @@ -4,6 +4,9 @@ public class SuperBuilderWithCustomBuilderMethod { public static abstract @java.lang.SuppressWarnings("all") class ParentBuilder, B extends ParentBuilder> { private @java.lang.SuppressWarnings("all") A field1; private @java.lang.SuppressWarnings("all") java.util.ArrayList items; + public ParentBuilder() { + super(); + } protected abstract @java.lang.SuppressWarnings("all") B self(); public abstract @java.lang.SuppressWarnings("all") C build(); public @java.lang.SuppressWarnings("all") B field1(final A field1) { @@ -32,7 +35,8 @@ public class SuperBuilderWithCustomBuilderMethod { } } private static final @java.lang.SuppressWarnings("all") class ParentBuilderImpl extends ParentBuilder, ParentBuilderImpl> { - private @java.lang.SuppressWarnings("all") ParentBuilderImpl() { + private ParentBuilderImpl() { + super(); } protected @java.lang.Override @java.lang.SuppressWarnings("all") ParentBuilderImpl self() { return this; @@ -44,6 +48,7 @@ public class SuperBuilderWithCustomBuilderMethod { A field1; @lombok.Singular List items; protected @java.lang.SuppressWarnings("all") Parent(final ParentBuilder b) { + super(); this.field1 = b.field1; java.util.List items; switch (((b.items == null) ? 0 : b.items.size())) { @@ -65,6 +70,9 @@ public class SuperBuilderWithCustomBuilderMethod { public static @lombok.experimental.SuperBuilder class Child extends Parent { public static abstract @java.lang.SuppressWarnings("all") class ChildBuilder, B extends ChildBuilder> extends Parent.ParentBuilder { private @java.lang.SuppressWarnings("all") double field3; + public ChildBuilder() { + super(); + } protected abstract @java.lang.Override @java.lang.SuppressWarnings("all") B self(); public abstract @java.lang.Override @java.lang.SuppressWarnings("all") C build(); public @java.lang.SuppressWarning