Files
kotlin-fork/plugins/lombok/testData/box/allArgsConstructorStatic.kt
Brian Norman be728d4291 [Lombok] Constructor can have only non-static fields
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
2024-01-12 14:55:24 +00:00

41 lines
1.0 KiB
Kotlin
Vendored

// FILE: ConstructorExample.java
import lombok.*;
@AllArgsConstructor(staticName = "of")
public class ConstructorExample {
// Part of constructor because not final.
@Getter @Setter private int age = 10;
// Part of constructor because not initialized.
@Getter(AccessLevel.PROTECTED) private String name;
// Part of constructor because not initialized.
private boolean otherField;
// Not part of constructor because final and initialized.
@Getter private final String result = "OK";
// Not part of constructor because static.
private static String constant;
public ConstructorExample(String arg) {
}
static void javaUsage() {
ConstructorExample existing = new ConstructorExample("existing");
ConstructorExample generated = ConstructorExample.of(45, "234", false);
}
}
// FILE: test.kt
fun box(): String {
val existing: ConstructorExample = ConstructorExample("existing")
val generated: ConstructorExample = ConstructorExample.of(45, "234", false)
return generated.getResult()
}