From b0c5d26d925742b6618401dd7c3435baee42322b Mon Sep 17 00:00:00 2001 From: "Denis.Zharkov" Date: Tue, 16 May 2023 12:36:03 +0200 Subject: [PATCH] Add new JDK-21 List methods to HIDDEN_METHOD_SIGNATURES Tests are on the way waiting for Build agents with EA version (KT-58716 for tracking) ^KT-58371 Fixed --- .../AdditionalBuiltInsMembersSignatureListsTest.kt | 10 ++++++++++ .../kotlin/builtins/jvm/JvmBuiltInsSignatures.kt | 14 ++++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/compiler/tests-java8/tests/org/jetbrains/kotlin/serialization/builtins/AdditionalBuiltInsMembersSignatureListsTest.kt b/compiler/tests-java8/tests/org/jetbrains/kotlin/serialization/builtins/AdditionalBuiltInsMembersSignatureListsTest.kt index 91bac3a6304..a5280274916 100644 --- a/compiler/tests-java8/tests/org/jetbrains/kotlin/serialization/builtins/AdditionalBuiltInsMembersSignatureListsTest.kt +++ b/compiler/tests-java8/tests/org/jetbrains/kotlin/serialization/builtins/AdditionalBuiltInsMembersSignatureListsTest.kt @@ -78,5 +78,15 @@ class AdditionalBuiltInsMembersSignatureListsTest : KotlinTestWithEnvironment() private val LATE_JDK_SIGNATURES = mapOf( "java/lang/String" to setOf("isBlank()Z", "lines()Ljava/util/stream/Stream;", "repeat(I)Ljava/lang/String;"), "java/lang/CharSequence" to setOf("isEmpty()Z"), + "java/util/List" to setOf( + // From JDK 21 + "addFirst(Ljava/lang/Object;)V", + "addLast(Ljava/lang/Object;)V", + "getFirst()Ljava/lang/Object;", + "getLast()Ljava/lang/Object;", + "removeFirst()Ljava/lang/Object;", + "removeLast()Ljava/lang/Object;", + "reversed()Ljava/util/List;", + ) ) } diff --git a/core/compiler.common.jvm/src/org/jetbrains/kotlin/builtins/jvm/JvmBuiltInsSignatures.kt b/core/compiler.common.jvm/src/org/jetbrains/kotlin/builtins/jvm/JvmBuiltInsSignatures.kt index d0ce29847ba..fb4cce70563 100644 --- a/core/compiler.common.jvm/src/org/jetbrains/kotlin/builtins/jvm/JvmBuiltInsSignatures.kt +++ b/core/compiler.common.jvm/src/org/jetbrains/kotlin/builtins/jvm/JvmBuiltInsSignatures.kt @@ -11,7 +11,6 @@ import org.jetbrains.kotlin.load.kotlin.signatures import org.jetbrains.kotlin.name.FqNameUnsafe import org.jetbrains.kotlin.resolve.jvm.JvmPrimitiveType import java.io.Serializable -import java.util.* object JvmBuiltInsSignatures { val DROP_LIST_METHOD_SIGNATURES: Set = @@ -24,7 +23,18 @@ object JvmBuiltInsSignatures { signatures { buildPrimitiveValueMethodsSet() + - inJavaUtil("List", "sort(Ljava/util/Comparator;)V") + + inJavaUtil( + "List", + "sort(Ljava/util/Comparator;)V", + // From JDK 21 + "addFirst(Ljava/lang/Object;)V", + "addLast(Ljava/lang/Object;)V", + "getFirst()Ljava/lang/Object;", + "getLast()Ljava/lang/Object;", + "removeFirst()Ljava/lang/Object;", + "removeLast()Ljava/lang/Object;", + "reversed()Ljava/util/List;", + ) + inJavaLang( "String",