mirror of
https://github.com/tiennm99/lombok.git
synced 2026-10-18 10:14:58 +00:00
Merge branch '4070-superbuilder-non-ascii'
This commit is contained in:
10 files changed
+499
-3
No files matched your search
@@ -6,6 +6,7 @@ Amine Touzani <ttzn.dev@gmail.com>
|
||||
Andre Brait <andrebrait@gmail.com>
|
||||
Anshuman Mishra <a.mishra@uber.com>
|
||||
Bulgakov Alexander <buls@yandex.ru>
|
||||
Burak KALAYCI <kalayciburak1996@gmail.com>
|
||||
Caleb Brinkman <floralvikings@gmail.com>
|
||||
Christian Nüssgens <christian@nuessgens.com>
|
||||
Christian Schlichtherle <christian-schlichtherle@users.noreply.github.com>
|
||||
|
||||
@@ -2,7 +2,7 @@ Lombok Changelog
|
||||
----------------
|
||||
|
||||
### v1.18.49 "Edgy Guinea Pig"
|
||||
* No changes since v1.18.48 yet.
|
||||
* BUGFIX: `@SuperBuilder` now works properly when your class names contain non-ASCII characters. [#3857](https://github.com/projectlombok/lombok/issues/4070)
|
||||
|
||||
### v1.18.48 (September 1st, 2026)
|
||||
* BREAKING CHANGE/BUGFIX: `@Builder(builderClassName = "Builder")` now generates an error, because the type names collide. [#3857](https://github.com/projectlombok/lombok/issues/3857) (found after release)
|
||||
|
||||
@@ -252,7 +252,7 @@ public class HandleConstructor {
|
||||
|
||||
ASTNode source = sourceNode.get();
|
||||
boolean staticConstrRequired = staticName != null && !staticName.equals("");
|
||||
|
||||
|
||||
if (skipIfConstructorExists != SkipIfConstructorExists.NO) {
|
||||
for (EclipseNode child : typeNode.down()) {
|
||||
if (child.getKind() == Kind.ANNOTATION) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2013-2025 The Project Lombok Authors.
|
||||
* Copyright (C) 2013-2026 The Project Lombok Authors.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
@@ -261,7 +261,15 @@ public class HandleSuperBuilder extends JavacAnnotationHandler<SuperBuilder> {
|
||||
String builderClassNameTemplate = BuilderJob.getBuilderClassNameTemplate(annotationNode, null);
|
||||
String superclassBuilderClassName = job.replaceBuilderClassName(superclassName.toString(), builderClassNameTemplate);
|
||||
superclassBuilderClass = parent.getTreeMaker().Select(cloneType(maker, (JCFieldAccess) extendsClause, annotationNode), parent.toName(superclassBuilderClassName));
|
||||
} else if (extendsClause instanceof JCIdent) {
|
||||
// Use the identifier Name, not Tree.toString(): javac pretty-prints non-ASCII
|
||||
// names as \\uXXXX escapes, which then become the builder type's simple name.
|
||||
Name superclassName = ((JCIdent) extendsClause).getName();
|
||||
String builderClassNameTemplate = BuilderJob.getBuilderClassNameTemplate(annotationNode, null);
|
||||
String superclassBuilderClassName = job.replaceBuilderClassName(superclassName.toString(), builderClassNameTemplate);
|
||||
superclassBuilderClass = chainDots(parent, superclassName.toString(), superclassBuilderClassName);
|
||||
} else if (extendsClause != null) {
|
||||
// This is dangerous; `toString()` breaks on non-ascii. We should optimally never get here. This fallback mechanism will remain (better than hardcrash; `toString()` is likely to work in _some_ cases).
|
||||
String builderClassNameTemplate = BuilderJob.getBuilderClassNameTemplate(annotationNode, null);
|
||||
String superclassBuilderClassName = job.replaceBuilderClassName(extendsClause.toString(), builderClassNameTemplate);
|
||||
superclassBuilderClass = chainDots(parent, extendsClause.toString(), superclassBuilderClassName);
|
||||
|
||||
@@ -0,0 +1,130 @@
|
||||
public class SuperBuilderNonAscii {
|
||||
public static class 부모 {
|
||||
Long a;
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public static abstract class 부모Builder<C extends SuperBuilderNonAscii.부모, B extends SuperBuilderNonAscii.부모.부모Builder<C, B>> {
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
private Long a;
|
||||
/**
|
||||
* @return {@code this}.
|
||||
*/
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public B a(final Long a) {
|
||||
this.a = a;
|
||||
return self();
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
protected abstract B self();
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public abstract C build();
|
||||
@java.lang.Override
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public java.lang.String toString() {
|
||||
return "SuperBuilderNonAscii.부모.부모Builder(a=" + this.a + ")";
|
||||
}
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
private static final class 부모BuilderImpl extends SuperBuilderNonAscii.부모.부모Builder<SuperBuilderNonAscii.부모, SuperBuilderNonAscii.부모.부모BuilderImpl> {
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
private 부모BuilderImpl() {
|
||||
}
|
||||
@java.lang.Override
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
protected SuperBuilderNonAscii.부모.부모BuilderImpl self() {
|
||||
return this;
|
||||
}
|
||||
@java.lang.Override
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public SuperBuilderNonAscii.부모 build() {
|
||||
return new SuperBuilderNonAscii.부모(this);
|
||||
}
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
protected 부모(final SuperBuilderNonAscii.부모.부모Builder<?, ?> b) {
|
||||
this.a = b.a;
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public static SuperBuilderNonAscii.부모.부모Builder<?, ?> builder() {
|
||||
return new SuperBuilderNonAscii.부모.부모BuilderImpl();
|
||||
}
|
||||
}
|
||||
public static class 자식 extends 부모 {
|
||||
String b;
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public static abstract class 자식Builder<C extends SuperBuilderNonAscii.자식, B extends SuperBuilderNonAscii.자식.자식Builder<C, B>> extends 부모.부모Builder<C, B> {
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
private String b;
|
||||
/**
|
||||
* @return {@code this}.
|
||||
*/
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public B b(final String b) {
|
||||
this.b = b;
|
||||
return self();
|
||||
}
|
||||
@java.lang.Override
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
protected abstract B self();
|
||||
@java.lang.Override
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public abstract C build();
|
||||
@java.lang.Override
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public java.lang.String toString() {
|
||||
return "SuperBuilderNonAscii.자식.자식Builder(super=" + super.toString() + ", b=" + this.b + ")";
|
||||
}
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
private static final class 자식BuilderImpl extends SuperBuilderNonAscii.자식.자식Builder<SuperBuilderNonAscii.자식, SuperBuilderNonAscii.자식.자식BuilderImpl> {
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
private 자식BuilderImpl() {
|
||||
}
|
||||
@java.lang.Override
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
protected SuperBuilderNonAscii.자식.자식BuilderImpl self() {
|
||||
return this;
|
||||
}
|
||||
@java.lang.Override
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public SuperBuilderNonAscii.자식 build() {
|
||||
return new SuperBuilderNonAscii.자식(this);
|
||||
}
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
protected 자식(final SuperBuilderNonAscii.자식.자식Builder<?, ?> b) {
|
||||
super(b);
|
||||
this.b = b.b;
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public static SuperBuilderNonAscii.자식.자식Builder<?, ?> builder() {
|
||||
return new SuperBuilderNonAscii.자식.자식BuilderImpl();
|
||||
}
|
||||
}
|
||||
public static void test() {
|
||||
자식 x = 자식.builder().b("").a(5L).build();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,144 @@
|
||||
public class SuperBuilderNonAsciiComplex {
|
||||
public static class 부모<T> {
|
||||
Long a;
|
||||
T z;
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public static abstract class 부모Builder<T, C extends SuperBuilderNonAsciiComplex.부모<T>, B extends SuperBuilderNonAsciiComplex.부모.부모Builder<T, C, B>> {
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
private Long a;
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
private T z;
|
||||
/**
|
||||
* @return {@code this}.
|
||||
*/
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public B a(final Long a) {
|
||||
this.a = a;
|
||||
return self();
|
||||
}
|
||||
/**
|
||||
* @return {@code this}.
|
||||
*/
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public B z(final T z) {
|
||||
this.z = z;
|
||||
return self();
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
protected abstract B self();
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public abstract C build();
|
||||
@java.lang.Override
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public java.lang.String toString() {
|
||||
return "SuperBuilderNonAsciiComplex.부모.부모Builder(a=" + this.a + ", z=" + this.z + ")";
|
||||
}
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
private static final class 부모BuilderImpl<T> extends SuperBuilderNonAsciiComplex.부모.부모Builder<T, SuperBuilderNonAsciiComplex.부모<T>, SuperBuilderNonAsciiComplex.부모.부모BuilderImpl<T>> {
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
private 부모BuilderImpl() {
|
||||
}
|
||||
@java.lang.Override
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
protected SuperBuilderNonAsciiComplex.부모.부모BuilderImpl<T> self() {
|
||||
return this;
|
||||
}
|
||||
@java.lang.Override
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public SuperBuilderNonAsciiComplex.부모<T> build() {
|
||||
return new SuperBuilderNonAsciiComplex.부모<T>(this);
|
||||
}
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
protected 부모(final SuperBuilderNonAsciiComplex.부모.부모Builder<T, ?, ?> b) {
|
||||
this.a = b.a;
|
||||
this.z = b.z;
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public static <T> SuperBuilderNonAsciiComplex.부모.부모Builder<T, ?, ?> builder() {
|
||||
return new SuperBuilderNonAsciiComplex.부모.부모BuilderImpl<T>();
|
||||
}
|
||||
}
|
||||
public static class 자식 extends SuperBuilderNonAsciiComplex.부모<String> {
|
||||
String b;
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public static abstract class 자식Builder<C extends SuperBuilderNonAsciiComplex.자식, B extends SuperBuilderNonAsciiComplex.자식.자식Builder<C, B>> extends SuperBuilderNonAsciiComplex.부모.부모Builder<String, C, B> {
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
private String b;
|
||||
/**
|
||||
* @return {@code this}.
|
||||
*/
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public B b(final String b) {
|
||||
this.b = b;
|
||||
return self();
|
||||
}
|
||||
@java.lang.Override
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
protected abstract B self();
|
||||
@java.lang.Override
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public abstract C build();
|
||||
@java.lang.Override
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public java.lang.String toString() {
|
||||
return "SuperBuilderNonAsciiComplex.자식.자식Builder(super=" + super.toString() + ", b=" + this.b + ")";
|
||||
}
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
private static final class 자식BuilderImpl extends SuperBuilderNonAsciiComplex.자식.자식Builder<SuperBuilderNonAsciiComplex.자식, SuperBuilderNonAsciiComplex.자식.자식BuilderImpl> {
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
private 자식BuilderImpl() {
|
||||
}
|
||||
@java.lang.Override
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
protected SuperBuilderNonAsciiComplex.자식.자식BuilderImpl self() {
|
||||
return this;
|
||||
}
|
||||
@java.lang.Override
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public SuperBuilderNonAsciiComplex.자식 build() {
|
||||
return new SuperBuilderNonAsciiComplex.자식(this);
|
||||
}
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
protected 자식(final SuperBuilderNonAsciiComplex.자식.자식Builder<?, ?> b) {
|
||||
super(b);
|
||||
this.b = b.b;
|
||||
}
|
||||
@java.lang.SuppressWarnings("all")
|
||||
@lombok.Generated
|
||||
public static SuperBuilderNonAsciiComplex.자식.자식Builder<?, ?> builder() {
|
||||
return new SuperBuilderNonAsciiComplex.자식.자식BuilderImpl();
|
||||
}
|
||||
}
|
||||
public static void test() {
|
||||
부모<String> x = 자식.builder().b("").a(5L).build();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
public class SuperBuilderNonAscii {
|
||||
public static @lombok.SuperBuilder class 부모 {
|
||||
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class 부모Builder<C extends SuperBuilderNonAscii.부모, B extends SuperBuilderNonAscii.부모.부모Builder<C, B>> {
|
||||
private @java.lang.SuppressWarnings("all") @lombok.Generated Long a;
|
||||
public 부모Builder() {
|
||||
super();
|
||||
}
|
||||
/**
|
||||
* @return {@code this}.
|
||||
*/
|
||||
public @java.lang.SuppressWarnings("all") @lombok.Generated B a(final Long a) {
|
||||
this.a = a;
|
||||
return self();
|
||||
}
|
||||
protected abstract @java.lang.SuppressWarnings("all") @lombok.Generated B self();
|
||||
public abstract @java.lang.SuppressWarnings("all") @lombok.Generated C build();
|
||||
public @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated java.lang.String toString() {
|
||||
return (("SuperBuilderNonAscii.부모.부모Builder(a=" + this.a) + ")");
|
||||
}
|
||||
}
|
||||
private static final @java.lang.SuppressWarnings("all") @lombok.Generated class 부모BuilderImpl extends SuperBuilderNonAscii.부모.부모Builder<SuperBuilderNonAscii.부모, SuperBuilderNonAscii.부모.부모BuilderImpl> {
|
||||
private 부모BuilderImpl() {
|
||||
super();
|
||||
}
|
||||
protected @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated SuperBuilderNonAscii.부모.부모BuilderImpl self() {
|
||||
return this;
|
||||
}
|
||||
public @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated SuperBuilderNonAscii.부모 build() {
|
||||
return new SuperBuilderNonAscii.부모(this);
|
||||
}
|
||||
}
|
||||
Long a;
|
||||
protected @java.lang.SuppressWarnings("all") @lombok.Generated 부모(final SuperBuilderNonAscii.부모.부모Builder<?, ?> b) {
|
||||
super();
|
||||
this.a = b.a;
|
||||
}
|
||||
public static @java.lang.SuppressWarnings("all") @lombok.Generated SuperBuilderNonAscii.부모.부모Builder<?, ?> builder() {
|
||||
return new SuperBuilderNonAscii.부모.부모BuilderImpl();
|
||||
}
|
||||
}
|
||||
public static @lombok.SuperBuilder class 자식 extends 부모 {
|
||||
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class 자식Builder<C extends SuperBuilderNonAscii.자식, B extends SuperBuilderNonAscii.자식.자식Builder<C, B>> extends 부모.부모Builder<C, B> {
|
||||
private @java.lang.SuppressWarnings("all") @lombok.Generated String b;
|
||||
public 자식Builder() {
|
||||
super();
|
||||
}
|
||||
/**
|
||||
* @return {@code this}.
|
||||
*/
|
||||
public @java.lang.SuppressWarnings("all") @lombok.Generated B b(final String b) {
|
||||
this.b = b;
|
||||
return self();
|
||||
}
|
||||
protected abstract @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated B self();
|
||||
public abstract @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated C build();
|
||||
public @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated java.lang.String toString() {
|
||||
return (((("SuperBuilderNonAscii.자식.자식Builder(super=" + super.toString()) + ", b=") + this.b) + ")");
|
||||
}
|
||||
}
|
||||
private static final @java.lang.SuppressWarnings("all") @lombok.Generated class 자식BuilderImpl extends SuperBuilderNonAscii.자식.자식Builder<SuperBuilderNonAscii.자식, SuperBuilderNonAscii.자식.자식BuilderImpl> {
|
||||
private 자식BuilderImpl() {
|
||||
super();
|
||||
}
|
||||
protected @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated SuperBuilderNonAscii.자식.자식BuilderImpl self() {
|
||||
return this;
|
||||
}
|
||||
public @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated SuperBuilderNonAscii.자식 build() {
|
||||
return new SuperBuilderNonAscii.자식(this);
|
||||
}
|
||||
}
|
||||
String b;
|
||||
protected @java.lang.SuppressWarnings("all") @lombok.Generated 자식(final SuperBuilderNonAscii.자식.자식Builder<?, ?> b) {
|
||||
super(b);
|
||||
this.b = b.b;
|
||||
}
|
||||
public static @java.lang.SuppressWarnings("all") @lombok.Generated SuperBuilderNonAscii.자식.자식Builder<?, ?> builder() {
|
||||
return new SuperBuilderNonAscii.자식.자식BuilderImpl();
|
||||
}
|
||||
}
|
||||
public SuperBuilderNonAscii() {
|
||||
super();
|
||||
}
|
||||
public static void test() {
|
||||
자식 x = 자식.builder().b("").a(5L).build();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
public class SuperBuilderNonAsciiComplex {
|
||||
public static @lombok.SuperBuilder class 부모<T> {
|
||||
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class 부모Builder<T, C extends SuperBuilderNonAsciiComplex.부모<T>, B extends SuperBuilderNonAsciiComplex.부모.부모Builder<T, C, B>> {
|
||||
private @java.lang.SuppressWarnings("all") @lombok.Generated Long a;
|
||||
private @java.lang.SuppressWarnings("all") @lombok.Generated T z;
|
||||
public 부모Builder() {
|
||||
super();
|
||||
}
|
||||
/**
|
||||
* @return {@code this}.
|
||||
*/
|
||||
public @java.lang.SuppressWarnings("all") @lombok.Generated B a(final Long a) {
|
||||
this.a = a;
|
||||
return self();
|
||||
}
|
||||
/**
|
||||
* @return {@code this}.
|
||||
*/
|
||||
public @java.lang.SuppressWarnings("all") @lombok.Generated B z(final T z) {
|
||||
this.z = z;
|
||||
return self();
|
||||
}
|
||||
protected abstract @java.lang.SuppressWarnings("all") @lombok.Generated B self();
|
||||
public abstract @java.lang.SuppressWarnings("all") @lombok.Generated C build();
|
||||
public @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated java.lang.String toString() {
|
||||
return (((("SuperBuilderNonAsciiComplex.부모.부모Builder(a=" + this.a) + ", z=") + this.z) + ")");
|
||||
}
|
||||
}
|
||||
private static final @java.lang.SuppressWarnings("all") @lombok.Generated class 부모BuilderImpl<T> extends SuperBuilderNonAsciiComplex.부모.부모Builder<T, SuperBuilderNonAsciiComplex.부모<T>, SuperBuilderNonAsciiComplex.부모.부모BuilderImpl<T>> {
|
||||
private 부모BuilderImpl() {
|
||||
super();
|
||||
}
|
||||
protected @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated SuperBuilderNonAsciiComplex.부모.부모BuilderImpl<T> self() {
|
||||
return this;
|
||||
}
|
||||
public @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated SuperBuilderNonAsciiComplex.부모<T> build() {
|
||||
return new SuperBuilderNonAsciiComplex.부모<T>(this);
|
||||
}
|
||||
}
|
||||
Long a;
|
||||
T z;
|
||||
protected @java.lang.SuppressWarnings("all") @lombok.Generated 부모(final SuperBuilderNonAsciiComplex.부모.부모Builder<T, ?, ?> b) {
|
||||
super();
|
||||
this.a = b.a;
|
||||
this.z = b.z;
|
||||
}
|
||||
public static @java.lang.SuppressWarnings("all") @lombok.Generated <T>SuperBuilderNonAsciiComplex.부모.부모Builder<T, ?, ?> builder() {
|
||||
return new SuperBuilderNonAsciiComplex.부모.부모BuilderImpl<T>();
|
||||
}
|
||||
}
|
||||
public static @lombok.SuperBuilder class 자식 extends SuperBuilderNonAsciiComplex.부모<String> {
|
||||
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class 자식Builder<C extends SuperBuilderNonAsciiComplex.자식, B extends SuperBuilderNonAsciiComplex.자식.자식Builder<C, B>> extends SuperBuilderNonAsciiComplex.부모.부모Builder<String, C, B> {
|
||||
private @java.lang.SuppressWarnings("all") @lombok.Generated String b;
|
||||
public 자식Builder() {
|
||||
super();
|
||||
}
|
||||
/**
|
||||
* @return {@code this}.
|
||||
*/
|
||||
public @java.lang.SuppressWarnings("all") @lombok.Generated B b(final String b) {
|
||||
this.b = b;
|
||||
return self();
|
||||
}
|
||||
protected abstract @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated B self();
|
||||
public abstract @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated C build();
|
||||
public @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated java.lang.String toString() {
|
||||
return (((("SuperBuilderNonAsciiComplex.자식.자식Builder(super=" + super.toString()) + ", b=") + this.b) + ")");
|
||||
}
|
||||
}
|
||||
private static final @java.lang.SuppressWarnings("all") @lombok.Generated class 자식BuilderImpl extends SuperBuilderNonAsciiComplex.자식.자식Builder<SuperBuilderNonAsciiComplex.자식, SuperBuilderNonAsciiComplex.자식.자식BuilderImpl> {
|
||||
private 자식BuilderImpl() {
|
||||
super();
|
||||
}
|
||||
protected @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated SuperBuilderNonAsciiComplex.자식.자식BuilderImpl self() {
|
||||
return this;
|
||||
}
|
||||
public @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated SuperBuilderNonAsciiComplex.자식 build() {
|
||||
return new SuperBuilderNonAsciiComplex.자식(this);
|
||||
}
|
||||
}
|
||||
String b;
|
||||
protected @java.lang.SuppressWarnings("all") @lombok.Generated 자식(final SuperBuilderNonAsciiComplex.자식.자식Builder<?, ?> b) {
|
||||
super(b);
|
||||
this.b = b.b;
|
||||
}
|
||||
public static @java.lang.SuppressWarnings("all") @lombok.Generated SuperBuilderNonAsciiComplex.자식.자식Builder<?, ?> builder() {
|
||||
return new SuperBuilderNonAsciiComplex.자식.자식BuilderImpl();
|
||||
}
|
||||
}
|
||||
public SuperBuilderNonAsciiComplex() {
|
||||
super();
|
||||
}
|
||||
public static void test() {
|
||||
부모<String> x = 자식.builder().b("").a(5L).build();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
public class SuperBuilderNonAscii {
|
||||
@lombok.SuperBuilder
|
||||
public static class 부모 {
|
||||
Long a;
|
||||
}
|
||||
|
||||
@lombok.SuperBuilder
|
||||
public static class 자식 extends 부모 {
|
||||
String b;
|
||||
}
|
||||
|
||||
public static void test() {
|
||||
자식 x = 자식.builder().b("").a(5L).build();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
public class SuperBuilderNonAsciiComplex {
|
||||
@lombok.SuperBuilder
|
||||
public static class 부모<T> {
|
||||
Long a;
|
||||
T z;
|
||||
}
|
||||
|
||||
@lombok.SuperBuilder
|
||||
public static class 자식 extends SuperBuilderNonAsciiComplex.부모<String> {
|
||||
String b;
|
||||
}
|
||||
|
||||
public static void test() {
|
||||
부모<String> x = 자식.builder().b("").a(5L).build();
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user