blob: e13a70784c5f8dbddb41334c68788bf1bf7616a2 [file]
// FIR_IDENTICAL
// FILE: Base.java
import lombok.Data;
import lombok.experimental.SuperBuilder;
@Data
@SuperBuilder(
builderMethodName = "createBuilderBase",
buildMethodName = "execute",
toBuilder = true,
setterPrefix = "setBase"
)
public class Base {
private String x;
}
// FILE: Impl.java
import lombok.Data;
import lombok.experimental.SuperBuilder;
@Data
@SuperBuilder(
builderMethodName = "createBuilderImpl",
buildMethodName = "execute",
toBuilder = true,
setterPrefix = "setImpl"
)
public class Impl extends Base {
private int y;
}
// FILE: test.kt
fun test() {
val base = Base.createBuilderBase().setBaseX("base").execute()
val impl = Impl.createBuilderImpl().setBaseX("impl").setImplY(1).execute()
val baseBuilder: Base.BaseBuilder<*, *> = base.toBuilder()
val implBuilder: Impl.ImplBuilder<*, *> = impl.toBuilder()
val baseBuilder2: Base.BaseBuilder<*, *> = baseBuilder.setBaseX("base2")
val implBuilder2: Impl.ImplBuilder<*, *> = implBuilder.setBaseX("base3")
val implBuilder3: Impl.ImplBuilder<*, *> = implBuilder2.setImplY(2)
}