mirror of
https://github.com/tiennm99/lombok.git
synced 2026-10-19 00:15:04 +00:00
SuperBuilder javac fix for nested generic types; fixes #2359
This commit is contained in:
1 parent
d1c81abc13
commit
0ab433b41a
4 files changed
+99
-6
No files matched your search
@@ -0,0 +1,41 @@
|
||||
public class SuperBuilderNestedGenericTypes {
|
||||
public static abstract class Generic<T extends Generic<?>> {
|
||||
@java.lang.SuppressWarnings("all")
|
||||
public static abstract class GenericBuilder<T extends Generic<?>, C extends SuperBuilderNestedGenericTypes.Generic<T>, B extends SuperBuilderNestedGenericTypes.Generic.GenericBuilder<T, C, B>> {
|
||||
@java.lang.SuppressWarnings("all")
|
||||
protected abstract B self();
|
||||
@java.lang.SuppressWarnings("all")
|
||||
public abstract C build();
|
||||
@java.lang.Override
|
||||
@java.lang.SuppressWarnings("all")
|
||||
public java.lang.String toString() {
|
||||
return "SuperBuilderNestedGenericTypes.Generic.GenericBuilder()";
|
||||
}
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
protected Generic(final SuperBuilderNestedGenericTypes.Generic.GenericBuilder<T, ?, ?> b) {
|
||||
}
|
||||
}
|
||||
public static abstract class NestedGeneric<T extends OtherGeneric<?>> extends Generic<NestedGeneric<? extends OtherGeneric<?>>> {
|
||||
@java.lang.SuppressWarnings("all")
|
||||
public static abstract class NestedGenericBuilder<T extends OtherGeneric<?>, C extends SuperBuilderNestedGenericTypes.NestedGeneric<T>, B extends SuperBuilderNestedGenericTypes.NestedGeneric.NestedGenericBuilder<T, C, B>> extends Generic.GenericBuilder<NestedGeneric<? extends OtherGeneric<?>>, C, B> {
|
||||
@java.lang.Override
|
||||
@java.lang.SuppressWarnings("all")
|
||||
protected abstract B 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 "SuperBuilderNestedGenericTypes.NestedGeneric.NestedGenericBuilder(super=" + super.toString() + ")";
|
||||
}
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
protected NestedGeneric(final SuperBuilderNestedGenericTypes.NestedGeneric.NestedGenericBuilder<T, ?, ?> b) {
|
||||
super(b);
|
||||
}
|
||||
}
|
||||
public interface OtherGeneric<T> {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
public class SuperBuilderNestedGenericTypes {
|
||||
public static abstract @lombok.experimental.SuperBuilder class Generic<T extends Generic<?>> {
|
||||
public static abstract @java.lang.SuppressWarnings("all") class GenericBuilder<T extends Generic<?>, C extends SuperBuilderNestedGenericTypes.Generic<T>, B extends SuperBuilderNestedGenericTypes.Generic.GenericBuilder<T, C, B>> {
|
||||
public GenericBuilder() {
|
||||
super();
|
||||
}
|
||||
protected abstract @java.lang.SuppressWarnings("all") B self();
|
||||
public abstract @java.lang.SuppressWarnings("all") C build();
|
||||
public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
|
||||
return "SuperBuilderNestedGenericTypes.Generic.GenericBuilder()";
|
||||
}
|
||||
}
|
||||
protected @java.lang.SuppressWarnings("all") Generic(final SuperBuilderNestedGenericTypes.Generic.GenericBuilder<T, ?, ?> b) {
|
||||
super();
|
||||
}
|
||||
}
|
||||
public static abstract @lombok.experimental.SuperBuilder class NestedGeneric<T extends OtherGeneric<?>> extends Generic<NestedGeneric<? extends OtherGeneric<?>>> {
|
||||
public static abstract @java.lang.SuppressWarnings("all") class NestedGenericBuilder<T extends OtherGeneric<?>, C extends SuperBuilderNestedGenericTypes.NestedGeneric<T>, B extends SuperBuilderNestedGenericTypes.NestedGeneric.NestedGenericBuilder<T, C, B>> extends Generic.GenericBuilder<NestedGeneric<? extends OtherGeneric<?>>, C, B> {
|
||||
public NestedGenericBuilder() {
|
||||
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.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
|
||||
return (("SuperBuilderNestedGenericTypes.NestedGeneric.NestedGenericBuilder(super=" + super.toString()) + ")");
|
||||
}
|
||||
}
|
||||
protected @java.lang.SuppressWarnings("all") NestedGeneric(final SuperBuilderNestedGenericTypes.NestedGeneric.NestedGenericBuilder<T, ?, ?> b) {
|
||||
super(b);
|
||||
}
|
||||
}
|
||||
public interface OtherGeneric<T> {
|
||||
}
|
||||
public SuperBuilderNestedGenericTypes() {
|
||||
super();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
public class SuperBuilderNestedGenericTypes {
|
||||
@lombok.experimental.SuperBuilder
|
||||
public static abstract class Generic<T extends Generic<?>> {
|
||||
}
|
||||
|
||||
@lombok.experimental.SuperBuilder
|
||||
public static abstract class NestedGeneric<T extends OtherGeneric<?>> extends Generic<NestedGeneric<? extends OtherGeneric<?>>> {
|
||||
}
|
||||
|
||||
public interface OtherGeneric<T> {
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user