From 4a34ed75b49f259823739df5691f1d81f37c12ca Mon Sep 17 00:00:00 2001 From: Jan Rieke Date: Fri, 13 Dec 2019 23:32:16 +0100 Subject: avoid more name clashes for builder type param; fixes #2297 --- .../after-delombok/SuperBuilderNameClashes.java | 126 +++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 test/transform/resource/after-delombok/SuperBuilderNameClashes.java (limited to 'test/transform/resource/after-delombok') diff --git a/test/transform/resource/after-delombok/SuperBuilderNameClashes.java b/test/transform/resource/after-delombok/SuperBuilderNameClashes.java new file mode 100644 index 00000000..a33fd6b4 --- /dev/null +++ b/test/transform/resource/after-delombok/SuperBuilderNameClashes.java @@ -0,0 +1,126 @@ +public class SuperBuilderNameClashes { + public static class GenericsClash { + @java.lang.SuppressWarnings("all") + public static abstract class GenericsClashBuilder, B2 extends GenericsClashBuilder> { + @java.lang.SuppressWarnings("all") + protected abstract B2 self(); + @java.lang.SuppressWarnings("all") + public abstract C3 build(); + @java.lang.Override + @java.lang.SuppressWarnings("all") + public java.lang.String toString() { + return "SuperBuilderNameClashes.GenericsClash.GenericsClashBuilder()"; + } + } + @java.lang.SuppressWarnings("all") + private static final class GenericsClashBuilderImpl extends GenericsClashBuilder, GenericsClashBuilderImpl> { + @java.lang.SuppressWarnings("all") + private GenericsClashBuilderImpl() { + } + @java.lang.Override + @java.lang.SuppressWarnings("all") + protected GenericsClashBuilderImpl self() { + return this; + } + @java.lang.Override + @java.lang.SuppressWarnings("all") + public GenericsClash build() { + return new GenericsClash(this); + } + } + @java.lang.SuppressWarnings("all") + protected GenericsClash(final GenericsClashBuilder b) { + } + @java.lang.SuppressWarnings("all") + public static GenericsClashBuilder builder() { + return new GenericsClashBuilderImpl(); + } + } + public static class B { + @java.lang.SuppressWarnings("all") + public static abstract class BBuilder> { + @java.lang.SuppressWarnings("all") + protected abstract B2 self(); + @java.lang.SuppressWarnings("all") + public abstract C build(); + @java.lang.Override + @java.lang.SuppressWarnings("all") + public java.lang.String toString() { + return "SuperBuilderNameClashes.B.BBuilder()"; + } + } + @java.lang.SuppressWarnings("all") + private static final class BBuilderImpl extends BBuilder { + @java.lang.SuppressWarnings("all") + private BBuilderImpl() { + } + @java.lang.Override + @java.lang.SuppressWarnings("all") + protected BBuilderImpl self() { + return this; + } + @java.lang.Override + @java.lang.SuppressWarnings("all") + public B build() { + return new B(this); + } + } + @java.lang.SuppressWarnings("all") + protected B(final BBuilder b) { + } + @java.lang.SuppressWarnings("all") + public static BBuilder builder() { + return new BBuilderImpl(); + } + } + public static class C2 { + } + public static class C { + C2 c2; + @java.lang.SuppressWarnings("all") + public static abstract class CBuilder> { + @java.lang.SuppressWarnings("all") + private C2 c2; + @java.lang.SuppressWarnings("all") + protected abstract B self(); + @java.lang.SuppressWarnings("all") + public abstract C3 build(); + @java.lang.SuppressWarnings("all") + public B c2(final C2 c2) { + this.c2 = c2; + return self(); + } + @java.lang.Override + @java.lang.SuppressWarnings("all") + public java.lang.String toString() { + return "SuperBuilderNameClashes.C.CBuilder(c2=" + this.c2 + ")"; + } + } + @java.lang.SuppressWarnings("all") + private static final class CBuilderImpl extends CBuilder { + @java.lang.SuppressWarnings("all") + private CBuilderImpl() { + } + + @java.lang.Override + @java.lang.SuppressWarnings("all") + protected CBuilderImpl self() { + return this; + } + + @java.lang.Override + @java.lang.SuppressWarnings("all") + public C build() { + return new C(this); + } + } + @java.lang.SuppressWarnings("all") + protected C(final CBuilder b) { + this.c2 = b.c2; + } + @java.lang.SuppressWarnings("all") + public static CBuilder builder() { + return new CBuilderImpl(); + } + } +} -- cgit