be728d4291
When using the AllArgsConstructor annotation (directly or via meta-annotation), only fields that are not static should be added as arguments. Previously, all fields were being included regardless of static-ness, which is not consistent with the behavior of Lombok. ^KT-54025 Fixed
45 lines
940 B
Kotlin
Vendored
45 lines
940 B
Kotlin
Vendored
// FILE: ConstructorExample.java
|
|
|
|
import lombok.*;
|
|
|
|
@RequiredArgsConstructor
|
|
public class ConstructorExample {
|
|
|
|
//not required
|
|
@Getter @Setter private int age;
|
|
|
|
//required final
|
|
@Getter @Setter private final String foo;
|
|
|
|
//not required final, because has initializer
|
|
@Getter @Setter private final int bar = 234;
|
|
|
|
//not required
|
|
@Getter(AccessLevel.PROTECTED) private String name;
|
|
|
|
//required by annotation
|
|
@NonNull
|
|
private boolean otherField;
|
|
|
|
//not required by annotation, because has initializer
|
|
@NonNull
|
|
private Long zzzz = 23L;
|
|
|
|
// Not required by annotation because static.
|
|
private static String constant;
|
|
|
|
static void javaUsage() {
|
|
ConstructorExample generated = new ConstructorExample("foo", true);
|
|
}
|
|
}
|
|
|
|
|
|
// FILE: test.kt
|
|
|
|
fun box(): String {
|
|
val generated = ConstructorExample("foo", true)
|
|
assertEquals(generated.foo, "foo")
|
|
return "OK"
|
|
}
|
|
|