[Lombok K1] Support @Builder annotation
^KT-46959
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
// FIR_IDENTICAL
|
||||
// FILE: User.java
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
@Builder(
|
||||
builderClassName = "SpecialUserBuilder",
|
||||
buildMethodName = "execute",
|
||||
builderMethodName = "createBuilder",
|
||||
toBuilder = true,
|
||||
access = AccessLevel.PACKAGE,
|
||||
setterPrefix = "set"
|
||||
)
|
||||
@Data
|
||||
public class User {
|
||||
@Builder.Default private int created = 0;
|
||||
private String name;
|
||||
private int age;
|
||||
}
|
||||
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
fun test() {
|
||||
val userBuilder: User.SpecialUserBuilder = User.createBuilder()
|
||||
val user = userBuilder
|
||||
.setCreated(10)
|
||||
.setName("John")
|
||||
.setAge(42)
|
||||
.execute()
|
||||
}
|
||||
|
||||
fun testToBuilder(user: User) {
|
||||
val userBuilder: User.SpecialUserBuilder = user.toBuilder()
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package
|
||||
|
||||
public fun </*0*/ T> assertEquals(/*0*/ a: T, /*1*/ b: T): kotlin.Unit
|
||||
public fun test(): kotlin.Unit
|
||||
public fun testToBuilder(/*0*/ user: User): kotlin.Unit
|
||||
|
||||
@lombok.Builder(access = AccessLevel.PACKAGE, buildMethodName = "execute", builderClassName = "SpecialUserBuilder", builderMethodName = "createBuilder", setterPrefix = "set", toBuilder = true) @lombok.Data public open class User {
|
||||
public constructor User()
|
||||
private final var age: kotlin.Int
|
||||
@lombok.Builder.Default private final var created: kotlin.Int
|
||||
private final var name: kotlin.String!
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open /*synthesized*/ fun getAge(): kotlin.Int
|
||||
public open /*synthesized*/ fun getCreated(): kotlin.Int
|
||||
public open /*synthesized*/ fun getName(): kotlin.String!
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open /*synthesized*/ fun setAge(/*0*/ age: kotlin.Int): kotlin.Unit
|
||||
public open /*synthesized*/ fun setCreated(/*0*/ created: kotlin.Int): kotlin.Unit
|
||||
public open /*synthesized*/ fun setName(/*0*/ name: kotlin.String!): kotlin.Unit
|
||||
public/*package*/ final /*synthesized*/ fun toBuilder(): User.SpecialUserBuilder
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
|
||||
// Static members
|
||||
public/*package*/ final /*synthesized*/ fun createBuilder(): User.SpecialUserBuilder
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
// FILE: User.java
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
@Builder
|
||||
@Data
|
||||
public class User {
|
||||
private String name;
|
||||
}
|
||||
|
||||
|
||||
// FILE: test.kt
|
||||
fun test() {
|
||||
val userBuilder: User.SpecialUserBuilder = User.builder()
|
||||
}
|
||||
|
||||
// FILE: lombok.config
|
||||
lombok.builder.className=Special*Builder
|
||||
@@ -0,0 +1,17 @@
|
||||
package
|
||||
|
||||
public fun </*0*/ T> assertEquals(/*0*/ a: T, /*1*/ b: T): kotlin.Unit
|
||||
public fun test(): kotlin.Unit
|
||||
|
||||
@lombok.Builder @lombok.Data public open class User {
|
||||
public constructor User()
|
||||
private final var name: kotlin.String!
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open /*synthesized*/ fun getName(): kotlin.String!
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open /*synthesized*/ fun setName(/*0*/ name: kotlin.String!): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
|
||||
// Static members
|
||||
public final /*synthesized*/ fun builder(): User.SpecialUserBuilder
|
||||
}
|
||||
Reference in New Issue
Block a user