1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
|
public class SuperBuilderNameClashes {
public static class GenericsClash<B, C, C2> {
@java.lang.SuppressWarnings("all")
public static abstract class GenericsClashBuilder<B, C, C2, C3 extends SuperBuilderNameClashes.GenericsClash<B, C, C2>, B2 extends SuperBuilderNameClashes.GenericsClash.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 SuperBuilderNameClashes.GenericsClash.GenericsClashBuilder<B, C, C2, SuperBuilderNameClashes.GenericsClash<B, C, C2>, SuperBuilderNameClashes.GenericsClash.GenericsClashBuilderImpl<B, C, C2>> {
@java.lang.SuppressWarnings("all")
private GenericsClashBuilderImpl() {
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
protected SuperBuilderNameClashes.GenericsClash.GenericsClashBuilderImpl<B, C, C2> self() {
return this;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
public SuperBuilderNameClashes.GenericsClash<B, C, C2> build() {
return new SuperBuilderNameClashes.GenericsClash<B, C, C2>(this);
}
}
@java.lang.SuppressWarnings("all")
protected GenericsClash(final SuperBuilderNameClashes.GenericsClash.GenericsClashBuilder<B, C, C2, ?, ?> b) {
}
@java.lang.SuppressWarnings("all")
public static <B, C, C2> SuperBuilderNameClashes.GenericsClash.GenericsClashBuilder<B, C, C2, ?, ?> builder() {
return new SuperBuilderNameClashes.GenericsClash.GenericsClashBuilderImpl<B, C, C2>();
}
}
public static class B {
@java.lang.SuppressWarnings("all")
public static abstract class BBuilder<C extends SuperBuilderNameClashes.B, B2 extends SuperBuilderNameClashes.B.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 SuperBuilderNameClashes.B.BBuilder<SuperBuilderNameClashes.B, SuperBuilderNameClashes.B.BBuilderImpl> {
@java.lang.SuppressWarnings("all")
private BBuilderImpl() {
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
protected SuperBuilderNameClashes.B.BBuilderImpl self() {
return this;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
public SuperBuilderNameClashes.B build() {
return new SuperBuilderNameClashes.B(this);
}
}
@java.lang.SuppressWarnings("all")
protected B(final SuperBuilderNameClashes.B.BBuilder<?, ?> b) {
}
@java.lang.SuppressWarnings("all")
public static SuperBuilderNameClashes.B.BBuilder<?, ?> builder() {
return new SuperBuilderNameClashes.B.BBuilderImpl();
}
}
public static class C2 {
}
public static class C {
C2 c2;
@java.lang.SuppressWarnings("all")
public static abstract class CBuilder<C3 extends SuperBuilderNameClashes.C, B extends SuperBuilderNameClashes.C.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();
/**
* @return {@code this}.
*/
@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 SuperBuilderNameClashes.C.CBuilder<SuperBuilderNameClashes.C, SuperBuilderNameClashes.C.CBuilderImpl> {
@java.lang.SuppressWarnings("all")
private CBuilderImpl() {
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
protected SuperBuilderNameClashes.C.CBuilderImpl self() {
return this;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
public SuperBuilderNameClashes.C build() {
return new SuperBuilderNameClashes.C(this);
}
}
@java.lang.SuppressWarnings("all")
protected C(final SuperBuilderNameClashes.C.CBuilder<?, ?> b) {
this.c2 = b.c2;
}
@java.lang.SuppressWarnings("all")
public static SuperBuilderNameClashes.C.CBuilder<?, ?> builder() {
return new SuperBuilderNameClashes.C.CBuilderImpl();
}
}
interface B2 {
interface B4<X> {
}
}
interface B3<Y> {
}
public static class ExtendsClauseCollision extends B implements B2.B4<Object>, B3<Object> {
@java.lang.SuppressWarnings("all")
public static abstract class ExtendsClauseCollisionBuilder<C extends SuperBuilderNameClashes.ExtendsClauseCollision, B4 extends SuperBuilderNameClashes.ExtendsClauseCollision.ExtendsClauseCollisionBuilder<C, B4>> extends B.BBuilder<C, B4> {
@java.lang.Override
@java.lang.SuppressWarnings("all")
protected abstract B4 self();
@java.lang.Override
@java.lang.SuppressWarnings("all")
public abstract C build();
@java.lang.Override
@java.lang.SuppressWarnings("all")
public java.lang.String toString() {
return "SuperBuilderNameClashes.ExtendsClauseCollision.ExtendsClauseCollisionBuilder(super=" + super.toString() + ")";
}
}
@java.lang.SuppressWarnings("all")
private static final class ExtendsClauseCollisionBuilderImpl extends SuperBuilderNameClashes.ExtendsClauseCollision.ExtendsClauseCollisionBuilder<SuperBuilderNameClashes.ExtendsClauseCollision, SuperBuilderNameClashes.ExtendsClauseCollision.ExtendsClauseCollisionBuilderImpl> {
@java.lang.SuppressWarnings("all")
private ExtendsClauseCollisionBuilderImpl() {
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
protected SuperBuilderNameClashes.ExtendsClauseCollision.ExtendsClauseCollisionBuilderImpl self() {
return this;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
public SuperBuilderNameClashes.ExtendsClauseCollision build() {
return new SuperBuilderNameClashes.ExtendsClauseCollision(this);
}
}
@java.lang.SuppressWarnings("all")
protected ExtendsClauseCollision(final SuperBuilderNameClashes.ExtendsClauseCollision.ExtendsClauseCollisionBuilder<?, ?> b) {
super(b);
}
@java.lang.SuppressWarnings("all")
public static SuperBuilderNameClashes.ExtendsClauseCollision.ExtendsClauseCollisionBuilder<?, ?> builder() {
return new SuperBuilderNameClashes.ExtendsClauseCollision.ExtendsClauseCollisionBuilderImpl();
}
}
}
|