From dd4b1abc6a7a85fbad045556717a2cb0ba3dbebd Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Mon, 15 Jan 2024 18:44:03 +0100 Subject: [PATCH] Fix multiple allocations of empty `PersistentMap` in `PersistentSetMultimap` The `persistentMapOf` overload without arguments should be used there. The needed overload is not available in the version of `kotlinx.immmutable 0.3.2`, so the library is updated to the latest version. This commit also removes the dependency on the `kotlinx-collections-immutable-metadata` as it's not published anymore for new versions of `kotlinx-collections-immutable`. ^KT-64987 fixed --- build.gradle.kts | 10 ---------- gradle/verification-metadata.xml | 14 ++++---------- gradle/versions.properties | 4 ++-- prepare/compiler/compiler.pro | 1 + 4 files changed, 7 insertions(+), 22 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index b078451d7af..e26edb76cf8 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1104,16 +1104,6 @@ plugins.withType(org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin: } } -dependencies { - // Drop when KT-61766 fixed - add( - configurations.implicitDependencies.name, - "org.jetbrains.kotlinx:kotlinx-collections-immutable-metadata:${rootProject.extra["versions.kotlinx-collections-immutable"]}" - ) { - isTransitive = false - } -} - afterEvaluate { if (cacheRedirectorEnabled) { rootProject.plugins.withType(org.jetbrains.kotlin.gradle.targets.js.yarn.YarnPlugin::class.java) { diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 25217414b74..e4eb7bb765c 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -4128,16 +4128,10 @@ - - - - - - - - - - + + + + diff --git a/gradle/versions.properties b/gradle/versions.properties index b1ec9a80e97..0df47cf0f93 100644 --- a/gradle/versions.properties +++ b/gradle/versions.properties @@ -35,8 +35,8 @@ versions.jline=3.24.1 versions.jsr305=1.3.9 # kotlin-reflect has version which is bundled in minimally supported IDEA versions.kotlin-reflect=1.6.10 -versions.kotlinx-collections-immutable-jvm=0.3.1 -versions.kotlinx-collections-immutable=0.3.1 +versions.kotlinx-collections-immutable-jvm=0.3.7 +versions.kotlinx-collections-immutable=0.3.7 # Version of the coroutines should be aligned with the oldest supported IntelliJ IDEA versions.kotlinx-coroutines-core-jvm=1.5.0 diff --git a/prepare/compiler/compiler.pro b/prepare/compiler/compiler.pro index 4ad8dc3c3f7..7df1d7cb851 100644 --- a/prepare/compiler/compiler.pro +++ b/prepare/compiler/compiler.pro @@ -317,6 +317,7 @@ } -keepclassmembers class kotlinx.collections.immutable.ExtensionsKt { kotlinx.collections.immutable.PersistentMap toPersistentHashMap(java.util.Map); + kotlinx.collections.immutable.PersistentMap persistentHashMapOf(kotlin.Pair[]); kotlinx.collections.immutable.PersistentSet persistentHashSetOf(java.lang.Object[]); } -keepclassmembers class com.intellij.lang.jvm.JvmParameter {