From 6b0b1a6a7ba73a2c43bb8ab413375505d61aacc6 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Thu, 29 Mar 2018 03:36:29 +0200 Subject: [builderParentClass] test cases --- .../resource/before/BuilderWithInherit.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 test/transform/resource/before/BuilderWithInherit.java (limited to 'test/transform/resource') diff --git a/test/transform/resource/before/BuilderWithInherit.java b/test/transform/resource/before/BuilderWithInherit.java new file mode 100644 index 00000000..dcc7b5ad --- /dev/null +++ b/test/transform/resource/before/BuilderWithInherit.java @@ -0,0 +1,20 @@ +import lombok.Builder; +import lombok.Singular; +import java.util.List; + +public class BuilderWithInherit { + @Builder(extensible = true) + public static class Parent { + int field1; + @Singular List items; + } + + @Builder(inherit = true) + public static class Child extends Parent { + double field3; + } + + public static void test() { + Child x = Child.builder().field3(0.0).field1(5).item("").build(); + } +} -- cgit From 3eea3b958946dd813197f00a1292b7a72380878a Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Wed, 4 Apr 2018 23:26:01 +0200 Subject: introduction of `@SuperBuilder` and a testcase. --- .../resource/after-delombok/SuperBuilderBasic.java | 112 +++++++++++++++++++++ .../resource/before/BuilderWithInherit.java | 20 ---- .../resource/before/SuperBuilderBasic.java | 20 ++++ 3 files changed, 132 insertions(+), 20 deletions(-) create mode 100644 test/transform/resource/after-delombok/SuperBuilderBasic.java delete mode 100644 test/transform/resource/before/BuilderWithInherit.java create mode 100644 test/transform/resource/before/SuperBuilderBasic.java (limited to 'test/transform/resource') diff --git a/test/transform/resource/after-delombok/SuperBuilderBasic.java b/test/transform/resource/after-delombok/SuperBuilderBasic.java new file mode 100644 index 00000000..ffb56e0e --- /dev/null +++ b/test/transform/resource/after-delombok/SuperBuilderBasic.java @@ -0,0 +1,112 @@ +import java.util.List; + +public class SuperBuilderBasic { + public static class Parent { + int field1; + 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; + } + private static class ParentBuilderImpl extends ParentBuilder { + @Override + public Parent build() { + return new Parent(this); + } + + @Override + public ParentBuilderImpl self() { + return this; + } + } + public abstract static class ParentBuilder> { + @java.lang.SuppressWarnings("all") + private int field1; + @java.lang.SuppressWarnings("all") + private java.util.ArrayList items; + @java.lang.SuppressWarnings("all") + ParentBuilder() { + } + @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.SuppressWarnings("all") + protected abstract B self(); + @java.lang.SuppressWarnings("all") + public abstract C build(); + } + public static ParentBuilder builder() { + return new ParentBuilderImpl(); + } + } + public static class Child extends Parent { + double field3; + protected Child(ChildBuilder b) { + super(b); + this.field3 = b.field3; + } + private static class ChildBuilderImpl extends ChildBuilder { + @Override + public Child build() { + return new Child(this); + } + + @Override + public ChildBuilderImpl self() { + return this; + } + } + public abstract static class ChildBuilder> extends Parent.ParentBuilder { + @java.lang.SuppressWarnings("all") + private double field3; + @java.lang.SuppressWarnings("all") + ChildBuilder() { + } + @java.lang.SuppressWarnings("all") + public B field3(final double field3) { + this.field3 = field3; + return self(); + } + @java.lang.SuppressWarnings("all") + protected abstract B self(); + @java.lang.SuppressWarnings("all") + public abstract C build(); + } + 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/before/BuilderWithInherit.java b/test/transform/resource/before/BuilderWithInherit.java deleted file mode 100644 index dcc7b5ad..00000000 --- a/test/transform/resource/before/BuilderWithInherit.java +++ /dev/null @@ -1,20 +0,0 @@ -import lombok.Builder; -import lombok.Singular; -import java.util.List; - -public class BuilderWithInherit { - @Builder(extensible = true) - public static class Parent { - int field1; - @Singular List items; - } - - @Builder(inherit = true) - public static class Child extends Parent { - double field3; - } - - public static void test() { - Child x = Child.builder().field3(0.0).field1(5).item("").build(); - } -} diff --git a/test/transform/resource/before/SuperBuilderBasic.java b/test/transform/resource/before/SuperBuilderBasic.java new file mode 100644 index 00000000..bf3eea64 --- /dev/null +++ b/test/transform/resource/before/SuperBuilderBasic.java @@ -0,0 +1,20 @@ +import lombok.experimental.SuperBuilder; +import lombok.Singular; +import java.util.List; + +public class SuperBuilderBasic { + @SuperBuilder + public static class Parent { + int field1; + @Singular List items; + } + + @SuperBuilder + public static class Child extends Parent { + double field3; + } + + public static void test() { + Child x = Child.builder().field3(0.0).field1(5).item("").build(); + } +} -- cgit From 6dd21ad7e04cec9405fd798e236808ed4acac954 Mon Sep 17 00:00:00 2001 From: Jan Rieke Date: Sat, 14 Apr 2018 20:13:59 +0200 Subject: adjusted expected result of test case --- .../resource/after-delombok/SuperBuilderBasic.java | 278 ++++++++++++--------- 1 file changed, 166 insertions(+), 112 deletions(-) (limited to 'test/transform/resource') diff --git a/test/transform/resource/after-delombok/SuperBuilderBasic.java b/test/transform/resource/after-delombok/SuperBuilderBasic.java index ffb56e0e..ed1f9bdc 100644 --- a/test/transform/resource/after-delombok/SuperBuilderBasic.java +++ b/test/transform/resource/after-delombok/SuperBuilderBasic.java @@ -1,112 +1,166 @@ -import java.util.List; - -public class SuperBuilderBasic { - public static class Parent { - int field1; - 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; - } - private static class ParentBuilderImpl extends ParentBuilder { - @Override - public Parent build() { - return new Parent(this); - } - - @Override - public ParentBuilderImpl self() { - return this; - } - } - public abstract static class ParentBuilder> { - @java.lang.SuppressWarnings("all") - private int field1; - @java.lang.SuppressWarnings("all") - private java.util.ArrayList items; - @java.lang.SuppressWarnings("all") - ParentBuilder() { - } - @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.SuppressWarnings("all") - protected abstract B self(); - @java.lang.SuppressWarnings("all") - public abstract C build(); - } - public static ParentBuilder builder() { - return new ParentBuilderImpl(); - } - } - public static class Child extends Parent { - double field3; - protected Child(ChildBuilder b) { - super(b); - this.field3 = b.field3; - } - private static class ChildBuilderImpl extends ChildBuilder { - @Override - public Child build() { - return new Child(this); - } - - @Override - public ChildBuilderImpl self() { - return this; - } - } - public abstract static class ChildBuilder> extends Parent.ParentBuilder { - @java.lang.SuppressWarnings("all") - private double field3; - @java.lang.SuppressWarnings("all") - ChildBuilder() { - } - @java.lang.SuppressWarnings("all") - public B field3(final double field3) { - this.field3 = field3; - return self(); - } - @java.lang.SuppressWarnings("all") - protected abstract B self(); - @java.lang.SuppressWarnings("all") - public abstract C build(); - } - public static ChildBuilder builder() { - return new ChildBuilderImpl(); - } - } - public static void test() { - Child x = Child.builder().field3(0.0).field1(5).item("").build(); - } -} +import java.util.List; + +public class SuperBuilderBasic { + public static class Parent { + int 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> { + @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 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(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(); + } +} -- cgit From 9df65559122a572e7ee0ea355f05d2f9a934c7e5 Mon Sep 17 00:00:00 2001 From: Jan Rieke Date: Sun, 15 Apr 2018 23:06:19 +0200 Subject: added SuperBuilder with generics test case --- .../after-delombok/SuperBuilderWithGenerics.java | 166 +++++++++++++++++++++ .../resource/before/SuperBuilderWithGenerics.java | 20 +++ 2 files changed, 186 insertions(+) create mode 100644 test/transform/resource/after-delombok/SuperBuilderWithGenerics.java create mode 100644 test/transform/resource/before/SuperBuilderWithGenerics.java (limited to 'test/transform/resource') diff --git a/test/transform/resource/after-delombok/SuperBuilderWithGenerics.java b/test/transform/resource/after-delombok/SuperBuilderWithGenerics.java new file mode 100644 index 00000000..bfd6e4b7 --- /dev/null +++ b/test/transform/resource/after-delombok/SuperBuilderWithGenerics.java @@ -0,0 +1,166 @@ +import java.util.List; + +public class SuperBuilderWithGenerics { + public static 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(); + } + } + + + 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(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(); + } +} diff --git a/test/transform/resource/before/SuperBuilderWithGenerics.java b/test/transform/resource/before/SuperBuilderWithGenerics.java new file mode 100644 index 00000000..7b8d459f --- /dev/null +++ b/test/transform/resource/before/SuperBuilderWithGenerics.java @@ -0,0 +1,20 @@ +import lombok.experimental.SuperBuilder; +import lombok.Singular; +import java.util.List; + +public class SuperBuilderWithGenerics { + @SuperBuilder + public static class Parent { + A field1; + @Singular List items; + } + + @SuperBuilder + public static class Child extends Parent { + double field3; + } + + public static void test() { + Child x = Child.builder().field3(0.0).field1(5).item("").build(); + } +} -- cgit From 4f5d5b108dada037137c209e3b8a3b86af8643ae Mon Sep 17 00:00:00 2001 From: Jan Rieke Date: Fri, 27 Apr 2018 13:36:08 +0200 Subject: fixed javac tests (toString calls super now) --- test/transform/resource/after-delombok/SuperBuilderBasic.java | 5 +++-- .../resource/after-delombok/SuperBuilderWithGenerics.java | 5 +++-- test/transform/resource/before/SuperBuilderBasic.java | 8 +++----- test/transform/resource/before/SuperBuilderWithGenerics.java | 8 +++----- 4 files changed, 12 insertions(+), 14 deletions(-) (limited to 'test/transform/resource') diff --git a/test/transform/resource/after-delombok/SuperBuilderBasic.java b/test/transform/resource/after-delombok/SuperBuilderBasic.java index ed1f9bdc..da745b58 100644 --- a/test/transform/resource/after-delombok/SuperBuilderBasic.java +++ b/test/transform/resource/after-delombok/SuperBuilderBasic.java @@ -1,6 +1,7 @@ import java.util.List; public class SuperBuilderBasic { + @lombok.experimental.SuperBuilder public static class Parent { int field1; List items; @@ -97,7 +98,7 @@ public class SuperBuilderBasic { } } - + @lombok.experimental.SuperBuilder public static class Child extends Parent { double field3; @@ -130,7 +131,7 @@ public class SuperBuilderBasic { @java.lang.Override @java.lang.SuppressWarnings("all") public java.lang.String toString() { - return "SuperBuilderBasic.Child.ChildBuilder(field3=" + this.field3 + ")"; + return "SuperBuilderBasic.Child.ChildBuilder(super=" + super.toString() + ", field3=" + this.field3 + ")"; } } diff --git a/test/transform/resource/after-delombok/SuperBuilderWithGenerics.java b/test/transform/resource/after-delombok/SuperBuilderWithGenerics.java index bfd6e4b7..ff080f6c 100644 --- a/test/transform/resource/after-delombok/SuperBuilderWithGenerics.java +++ b/test/transform/resource/after-delombok/SuperBuilderWithGenerics.java @@ -1,6 +1,7 @@ import java.util.List; public class SuperBuilderWithGenerics { + @lombok.experimental.SuperBuilder public static class Parent { A field1; List items; @@ -97,7 +98,7 @@ public class SuperBuilderWithGenerics { } } - + @lombok.experimental.SuperBuilder public static class Child extends Parent { double field3; @@ -130,7 +131,7 @@ public class SuperBuilderWithGenerics { @java.lang.Override @java.lang.SuppressWarnings("all") public java.lang.String toString() { - return "SuperBuilderWithGenerics.Child.ChildBuilder(field3=" + this.field3 + ")"; + return "SuperBuilderWithGenerics.Child.ChildBuilder(super=" + super.toString() + ", field3=" + this.field3 + ")"; } } diff --git a/test/transform/resource/before/SuperBuilderBasic.java b/test/transform/resource/before/SuperBuilderBasic.java index bf3eea64..f4e8c670 100644 --- a/test/transform/resource/before/SuperBuilderBasic.java +++ b/test/transform/resource/before/SuperBuilderBasic.java @@ -1,15 +1,13 @@ -import lombok.experimental.SuperBuilder; -import lombok.Singular; import java.util.List; public class SuperBuilderBasic { - @SuperBuilder + @lombok.experimental.SuperBuilder public static class Parent { int field1; - @Singular List items; + @lombok.Singular List items; } - @SuperBuilder + @lombok.experimental.SuperBuilder public static class Child extends Parent { double field3; } diff --git a/test/transform/resource/before/SuperBuilderWithGenerics.java b/test/transform/resource/before/SuperBuilderWithGenerics.java index 7b8d459f..c3cd4277 100644 --- a/test/transform/resource/before/SuperBuilderWithGenerics.java +++ b/test/transform/resource/before/SuperBuilderWithGenerics.java @@ -1,15 +1,13 @@ -import lombok.experimental.SuperBuilder; -import lombok.Singular; import java.util.List; public class SuperBuilderWithGenerics { - @SuperBuilder + @lombok.experimental.SuperBuilder public static class Parent { A field1; - @Singular List items; + @lombok.Singular List items; } - @SuperBuilder + @lombok.experimental.SuperBuilder public static class Child extends Parent { double field3; } -- cgit From 9f3e8509f7564b82eb13d3e4d7d0fc22a6d13cc3 Mon Sep 17 00:00:00 2001 From: Jan Rieke Date: Fri, 27 Apr 2018 16:07:41 +0200 Subject: no empty lines for expected test result --- .../resource/after-delombok/SuperBuilderBasic.java | 32 ---------------------- .../after-delombok/SuperBuilderWithGenerics.java | 32 ---------------------- 2 files changed, 64 deletions(-) (limited to 'test/transform/resource') diff --git a/test/transform/resource/after-delombok/SuperBuilderBasic.java b/test/transform/resource/after-delombok/SuperBuilderBasic.java index da745b58..acad9c03 100644 --- a/test/transform/resource/after-delombok/SuperBuilderBasic.java +++ b/test/transform/resource/after-delombok/SuperBuilderBasic.java @@ -1,11 +1,9 @@ import java.util.List; - public class SuperBuilderBasic { @lombok.experimental.SuperBuilder public static class Parent { int field1; List items; - @java.lang.SuppressWarnings("all") protected Parent(final ParentBuilder b) { this.field1 = b.field1; @@ -14,153 +12,123 @@ public class SuperBuilderBasic { 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(); } } - @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> 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-delombok/SuperBuilderWithGenerics.java b/test/transform/resource/after-delombok/SuperBuilderWithGenerics.java index ff080f6c..e7615c66 100644 --- a/test/transform/resource/after-delombok/SuperBuilderWithGenerics.java +++ b/test/transform/resource/after-delombok/SuperBuilderWithGenerics.java @@ -1,11 +1,9 @@ import java.util.List; - public class SuperBuilderWithGenerics { @lombok.experimental.SuperBuilder public static class Parent { A field1; List items; - @java.lang.SuppressWarnings("all") protected Parent(final ParentBuilder b) { this.field1 = b.field1; @@ -14,153 +12,123 @@ public class SuperBuilderWithGenerics { 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 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') 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') 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') 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') 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') 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') 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