From 06119a467078245e4f24ebc04ea199487a0f256f Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Fri, 9 Sep 2022 12:42:55 +0300 Subject: [PATCH] [Lombok] Fix support of Iterable field marked with @Singular ^KT-53647 Fixed --- .../jetbrains/kotlin/lombok/utils/LombokNames.kt | 2 +- plugins/lombok/testData/box/builderSingular.kt | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/plugins/lombok/lombok.common/src/org/jetbrains/kotlin/lombok/utils/LombokNames.kt b/plugins/lombok/lombok.common/src/org/jetbrains/kotlin/lombok/utils/LombokNames.kt index 437beedb8a1..4cd30035d91 100644 --- a/plugins/lombok/lombok.common/src/org/jetbrains/kotlin/lombok/utils/LombokNames.kt +++ b/plugins/lombok/lombok.common/src/org/jetbrains/kotlin/lombok/utils/LombokNames.kt @@ -56,7 +56,7 @@ object LombokNames { ).map { FqName(it) }.toSet() private val SUPPORTED_JAVA_COLLECTIONS = setOf( - "java.util.Iterable", + "java.lang.Iterable", "java.util.Collection", "java.util.List", "java.util.Set", diff --git a/plugins/lombok/testData/box/builderSingular.kt b/plugins/lombok/testData/box/builderSingular.kt index 535c7dd8851..d87d0434ad9 100644 --- a/plugins/lombok/testData/box/builderSingular.kt +++ b/plugins/lombok/testData/box/builderSingular.kt @@ -21,6 +21,7 @@ import lombok.Singular; @Data public class Other { @Singular("singleSome") private java.util.List some; + @Singular private java.lang.Iterable names; } // FILE: test.kt @@ -35,16 +36,24 @@ fun box(): String { val user = userBuilder.build() - val outer = Other.builder() + val other = Other.builder() .withSingleSome(1) .withSome(listOf(2, 3)) + .withName("John") + .withNames(setOf("Peter")) .build() val expectedNumbers = mapOf("1" to 1, "2" to 2, "3" to 3) val expectedStatuses = listOf("hello", "world", "!") val expectedSome = listOf(1, 2, 3) + val expectedNames = listOf("John", "Peter") - return if (user.numbers == expectedNumbers && user.statuses == expectedStatuses && outer.some == expectedSome) { + return if ( + user.numbers == expectedNumbers && + user.statuses == expectedStatuses && + other.some == expectedSome && + other.names == expectedNames + ) { "OK" } else { "Error: $user"