Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2355 from janrieke/superBuilderAvoidMoreNameClashes
Avoid more name clashes for SuperBuilder
- Loading branch information
Showing
6 changed files
with
309 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
126 changes: 126 additions & 0 deletions
126
test/transform/resource/after-delombok/SuperBuilderNameClashes.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,126 @@ | ||
public class SuperBuilderNameClashes { | ||
public static class GenericsClash<B, C, C2> { | ||
@java.lang.SuppressWarnings("all") | ||
public static abstract class GenericsClashBuilder<B, C, C2, C3 extends GenericsClash<B, C, C2>, B2 extends GenericsClashBuilder<B, C, C2, C3, B2>> { | ||
@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<B, C, C2> extends GenericsClashBuilder<B, C, C2, GenericsClash<B, C, C2>, GenericsClashBuilderImpl<B, C, C2>> { | ||
@java.lang.SuppressWarnings("all") | ||
private GenericsClashBuilderImpl() { | ||
} | ||
@java.lang.Override | ||
@java.lang.SuppressWarnings("all") | ||
protected GenericsClashBuilderImpl<B, C, C2> self() { | ||
return this; | ||
} | ||
@java.lang.Override | ||
@java.lang.SuppressWarnings("all") | ||
public GenericsClash<B, C, C2> build() { | ||
return new GenericsClash<B, C, C2>(this); | ||
} | ||
} | ||
@java.lang.SuppressWarnings("all") | ||
protected GenericsClash(final GenericsClashBuilder<B, C, C2, ?, ?> b) { | ||
} | ||
@java.lang.SuppressWarnings("all") | ||
public static <B, C, C2> GenericsClashBuilder<B, C, C2, ?, ?> builder() { | ||
return new GenericsClashBuilderImpl<B, C, C2>(); | ||
} | ||
} | ||
public static class B { | ||
@java.lang.SuppressWarnings("all") | ||
public static abstract class BBuilder<C extends B, B2 extends BBuilder<C, B2>> { | ||
@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<B, BBuilderImpl> { | ||
@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<C3 extends C, B extends CBuilder<C3, B>> { | ||
@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<C, CBuilderImpl> { | ||
@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(); | ||
} | ||
} | ||
} |
104 changes: 104 additions & 0 deletions
104
test/transform/resource/after-ecj/SuperBuilderNameClashes.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
public class SuperBuilderNameClashes { | ||
public static @lombok.experimental.SuperBuilder class GenericsClash<B, C, C2> { | ||
public static abstract @java.lang.SuppressWarnings("all") class GenericsClashBuilder<B, C, C2, C3 extends GenericsClash<B, C, C2>, B2 extends GenericsClashBuilder<B, C, C2, C3, B2>> { | ||
public GenericsClashBuilder() { | ||
super(); | ||
} | ||
protected abstract @java.lang.SuppressWarnings("all") B2 self(); | ||
public abstract @java.lang.SuppressWarnings("all") C3 build(); | ||
public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { | ||
return "SuperBuilderNameClashes.GenericsClash.GenericsClashBuilder()"; | ||
} | ||
} | ||
private static final @java.lang.SuppressWarnings("all") class GenericsClashBuilderImpl<B, C, C2> extends GenericsClashBuilder<B, C, C2, GenericsClash<B, C, C2>, GenericsClashBuilderImpl<B, C, C2>> { | ||
private GenericsClashBuilderImpl() { | ||
super(); | ||
} | ||
protected @java.lang.Override @java.lang.SuppressWarnings("all") GenericsClashBuilderImpl<B, C, C2> self() { | ||
return this; | ||
} | ||
public @java.lang.Override @java.lang.SuppressWarnings("all") GenericsClash<B, C, C2> build() { | ||
return new GenericsClash<B, C, C2>(this); | ||
} | ||
} | ||
protected @java.lang.SuppressWarnings("all") GenericsClash(final GenericsClashBuilder<B, C, C2, ?, ?> b) { | ||
super(); | ||
} | ||
public static @java.lang.SuppressWarnings("all") <B, C, C2>GenericsClashBuilder<B, C, C2, ?, ?> builder() { | ||
return new GenericsClashBuilderImpl<B, C, C2>(); | ||
} | ||
} | ||
public static @lombok.experimental.SuperBuilder class B { | ||
public static abstract @java.lang.SuppressWarnings("all") class BBuilder<C extends B, B2 extends BBuilder<C, B2>> { | ||
public BBuilder() { | ||
super(); | ||
} | ||
protected abstract @java.lang.SuppressWarnings("all") B2 self(); | ||
public abstract @java.lang.SuppressWarnings("all") C build(); | ||
public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { | ||
return "SuperBuilderNameClashes.B.BBuilder()"; | ||
} | ||
} | ||
private static final @java.lang.SuppressWarnings("all") class BBuilderImpl extends BBuilder<B, BBuilderImpl> { | ||
private BBuilderImpl() { | ||
super(); | ||
} | ||
protected @java.lang.Override @java.lang.SuppressWarnings("all") BBuilderImpl self() { | ||
return this; | ||
} | ||
public @java.lang.Override @java.lang.SuppressWarnings("all") B build() { | ||
return new B(this); | ||
} | ||
} | ||
protected @java.lang.SuppressWarnings("all") B(final BBuilder<?, ?> b) { | ||
super(); | ||
} | ||
public static @java.lang.SuppressWarnings("all") BBuilder<?, ?> builder() { | ||
return new BBuilderImpl(); | ||
} | ||
} | ||
public static class C2 { | ||
public C2() { | ||
super(); | ||
} | ||
} | ||
public static @lombok.experimental.SuperBuilder class C { | ||
public static abstract @java.lang.SuppressWarnings("all") class CBuilder<C3 extends C, B extends CBuilder<C3, B>> { | ||
private @java.lang.SuppressWarnings("all") C2 c2; | ||
public CBuilder() { | ||
super(); | ||
} | ||
protected abstract @java.lang.SuppressWarnings("all") B self(); | ||
public abstract @java.lang.SuppressWarnings("all") C3 build(); | ||
public @java.lang.SuppressWarnings("all") B c2(final C2 c2) { | ||
this.c2 = c2; | ||
return self(); | ||
} | ||
public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { | ||
return (("SuperBuilderNameClashes.C.CBuilder(c2=" + this.c2) + ")"); | ||
} | ||
} | ||
private static final @java.lang.SuppressWarnings("all") class CBuilderImpl extends CBuilder<C, CBuilderImpl> { | ||
private CBuilderImpl() { | ||
super(); | ||
} | ||
protected @java.lang.Override @java.lang.SuppressWarnings("all") CBuilderImpl self() { | ||
return this; | ||
} | ||
public @java.lang.Override @java.lang.SuppressWarnings("all") C build() { | ||
return new C(this); | ||
} | ||
} | ||
C2 c2; | ||
protected @java.lang.SuppressWarnings("all") C(final CBuilder<?, ?> b) { | ||
super(); | ||
this.c2 = b.c2; | ||
} | ||
public static @java.lang.SuppressWarnings("all") CBuilder<?, ?> builder() { | ||
return new CBuilderImpl(); | ||
} | ||
} | ||
public SuperBuilderNameClashes() { | ||
super(); | ||
} | ||
} |
17 changes: 17 additions & 0 deletions
17
test/transform/resource/before/SuperBuilderNameClashes.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
public class SuperBuilderNameClashes { | ||
@lombok.experimental.SuperBuilder | ||
public static class GenericsClash<B, C, C2> { | ||
} | ||
|
||
@lombok.experimental.SuperBuilder | ||
public static class B { | ||
} | ||
|
||
public static class C2 { | ||
} | ||
|
||
@lombok.experimental.SuperBuilder | ||
public static class C { | ||
C2 c2; | ||
} | ||
} |
3 changes: 3 additions & 0 deletions
3
test/transform/resource/messages-ecj/SuperBuilderNameClashes.java.messages
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
3 WARNING The type parameter B is hiding the type SuperBuilderNameClashes.B | ||
3 WARNING The type parameter C is hiding the type SuperBuilderNameClashes.C | ||
3 WARNING The type parameter C2 is hiding the type SuperBuilderNameClashes.C2 |