[Lombok K1] Support @Singular annotation

^KT-46959
This commit is contained in:
Dmitriy Novozhilov
2022-08-05 16:51:33 +03:00
parent b311f0b862
commit b32f9dcac2
12 changed files with 374 additions and 3 deletions
@@ -0,0 +1,50 @@
// FIR_IDENTICAL
// WITH_STDLIB
// FULL_JDK
// FILE: User.java
import lombok.Builder;
import lombok.Data;
import lombok.Singular;
@Builder
@Data
public class User {
@Singular private java.util.List<String> names;
}
// FILE: UserWithoutNull.java
import lombok.Builder;
import lombok.Data;
import lombok.Singular;
@Builder
@Data
public class UserWithoutNull {
@Singular(ignoreNullCollections = false) private java.util.List<String> names;
}
// FILE: UserWithNull.java
import lombok.Builder;
import lombok.Data;
import lombok.Singular;
@Builder
@Data
public class UserWithNull {
@Singular(ignoreNullCollections = true) private java.util.List<String> names;
}
// FILE: test.kt
fun test() {
User.builder()
.name("User")
.name(<!NULL_FOR_NONNULL_TYPE!>null<!>) // error
UserWithoutNull.builder()
.name("User")
.name(<!NULL_FOR_NONNULL_TYPE!>null<!>) // error
UserWithNull.builder()
.name("User")
.name(null) // ok
}