From 8ae19f5cd7ab6f5150d4ea0059943bc185bb1450 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Thu, 10 Dec 2020 17:48:05 +0100 Subject: [PATCH] Fix deprecated Interner/StringInterner usages after update to 202 --- .../jetbrains/kotlin/incremental/LookupStorage.kt | 7 +++---- .../kotlin/daemon/RemoteLookupTrackerClient.kt | 4 ++-- .../experimental/RemoteLookupTrackerClient.kt | 6 ++---- .../impl/classFiles/BinaryClassSignatureParser.kt | 5 ++--- .../org/jetbrains/kotlin/utils/platformUtils.kt | 11 +++++++++++ .../jetbrains/kotlin/utils/platformUtils.kt.201 | 12 ++++++++++++ .../descriptors/commonizer/utils/Interner.kt | 4 +--- .../descriptors/commonizer/utils/Interner.kt.201 | 14 ++++++++++++++ 8 files changed, 47 insertions(+), 16 deletions(-) create mode 100644 compiler/util/src/org/jetbrains/kotlin/utils/platformUtils.kt create mode 100644 compiler/util/src/org/jetbrains/kotlin/utils/platformUtils.kt.201 create mode 100644 native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/utils/Interner.kt.201 diff --git a/build-common/src/org/jetbrains/kotlin/incremental/LookupStorage.kt b/build-common/src/org/jetbrains/kotlin/incremental/LookupStorage.kt index 9105c7ff3ab..a54d678debc 100644 --- a/build-common/src/org/jetbrains/kotlin/incremental/LookupStorage.kt +++ b/build-common/src/org/jetbrains/kotlin/incremental/LookupStorage.kt @@ -17,19 +17,18 @@ package org.jetbrains.kotlin.incremental import com.intellij.util.containers.MultiMap -import com.intellij.util.containers.StringInterner import org.jetbrains.annotations.TestOnly import org.jetbrains.kotlin.incremental.components.LookupTracker import org.jetbrains.kotlin.incremental.components.Position import org.jetbrains.kotlin.incremental.components.ScopeKind import org.jetbrains.kotlin.incremental.storage.* import org.jetbrains.kotlin.utils.Printer +import org.jetbrains.kotlin.utils.createStringInterner import org.jetbrains.kotlin.utils.keysToMap import java.io.File import java.io.IOException import java.util.* - open class LookupStorage( targetDataDir: File, pathConverter: FileToPathConverter @@ -212,8 +211,8 @@ open class LookupStorage( class LookupTrackerImpl(private val delegate: LookupTracker) : LookupTracker { val lookups = MultiMap.createSet() - val pathInterner = StringInterner() - private val interner = StringInterner() + val pathInterner = createStringInterner() + private val interner = createStringInterner() override val requiresPosition: Boolean get() = delegate.requiresPosition diff --git a/compiler/daemon/src/org/jetbrains/kotlin/daemon/RemoteLookupTrackerClient.kt b/compiler/daemon/src/org/jetbrains/kotlin/daemon/RemoteLookupTrackerClient.kt index 4161b22ebb3..c26342a1330 100644 --- a/compiler/daemon/src/org/jetbrains/kotlin/daemon/RemoteLookupTrackerClient.kt +++ b/compiler/daemon/src/org/jetbrains/kotlin/daemon/RemoteLookupTrackerClient.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.daemon -import com.intellij.util.containers.StringInterner import gnu.trove.THashMap import gnu.trove.THashSet import org.jetbrains.kotlin.daemon.common.DummyProfiler @@ -26,6 +25,7 @@ import org.jetbrains.kotlin.incremental.components.LookupInfo import org.jetbrains.kotlin.incremental.components.LookupTracker import org.jetbrains.kotlin.incremental.components.Position import org.jetbrains.kotlin.incremental.components.ScopeKind +import org.jetbrains.kotlin.utils.createStringInterner class RemoteLookupTrackerClient( @Suppress("DEPRECATION") val facade: org.jetbrains.kotlin.daemon.common.CompilerCallbackServicesFacade, @@ -36,7 +36,7 @@ class RemoteLookupTrackerClient( // Map: FileName -> (ScopeFqName -> Set) private val lookups = THashMap>>() - private val interner = StringInterner() + private val interner = createStringInterner() override val requiresPosition: Boolean = profiler.withMeasure(this) { facade.lookupTracker_requiresPosition() } diff --git a/compiler/daemon/src/org/jetbrains/kotlin/daemon/experimental/RemoteLookupTrackerClient.kt b/compiler/daemon/src/org/jetbrains/kotlin/daemon/experimental/RemoteLookupTrackerClient.kt index 36a9bcf7d5d..34b97697a45 100644 --- a/compiler/daemon/src/org/jetbrains/kotlin/daemon/experimental/RemoteLookupTrackerClient.kt +++ b/compiler/daemon/src/org/jetbrains/kotlin/daemon/experimental/RemoteLookupTrackerClient.kt @@ -5,16 +5,14 @@ package org.jetbrains.kotlin.daemon.experimental -import com.intellij.util.containers.StringInterner import kotlinx.coroutines.runBlocking import org.jetbrains.kotlin.daemon.EventManager import org.jetbrains.kotlin.daemon.common.* -import org.jetbrains.kotlin.daemon.common.experimental.CompilerCallbackServicesFacadeClientSide import org.jetbrains.kotlin.incremental.components.LookupInfo import org.jetbrains.kotlin.incremental.components.LookupTracker import org.jetbrains.kotlin.incremental.components.Position import org.jetbrains.kotlin.incremental.components.ScopeKind - +import org.jetbrains.kotlin.utils.createStringInterner class RemoteLookupTrackerClient( val facade: CompilerCallbackServicesFacadeAsync, @@ -24,7 +22,7 @@ class RemoteLookupTrackerClient( private val isDoNothing = runBlocking { profiler.withMeasure(this) { facade.lookupTracker_isDoNothing() } } private val lookups = hashSetOf() - private val interner = StringInterner() + private val interner = createStringInterner() override val requiresPosition: Boolean = runBlocking { profiler.withMeasure(this) { facade.lookupTracker_requiresPosition() } } diff --git a/compiler/resolution.common.jvm/src/org/jetbrains/kotlin/load/java/structure/impl/classFiles/BinaryClassSignatureParser.kt b/compiler/resolution.common.jvm/src/org/jetbrains/kotlin/load/java/structure/impl/classFiles/BinaryClassSignatureParser.kt index 7fd5be448e6..77112837c1d 100644 --- a/compiler/resolution.common.jvm/src/org/jetbrains/kotlin/load/java/structure/impl/classFiles/BinaryClassSignatureParser.kt +++ b/compiler/resolution.common.jvm/src/org/jetbrains/kotlin/load/java/structure/impl/classFiles/BinaryClassSignatureParser.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.load.java.structure.impl.classFiles -import com.intellij.util.containers.StringInterner import org.jetbrains.kotlin.builtins.PrimitiveType import org.jetbrains.kotlin.load.java.structure.JavaClassifierType import org.jetbrains.kotlin.load.java.structure.JavaType @@ -25,6 +24,7 @@ import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.utils.SmartList import org.jetbrains.kotlin.utils.addToStdlib.flattenTo import org.jetbrains.kotlin.utils.compact +import org.jetbrains.kotlin.utils.createStringInterner import org.jetbrains.org.objectweb.asm.Type import java.text.CharacterIterator import java.text.StringCharacterIterator @@ -36,8 +36,7 @@ import java.text.StringCharacterIterator * So please, do not convert it to object */ class BinaryClassSignatureParser { - - private val canonicalNameInterner = StringInterner() + private val canonicalNameInterner = createStringInterner() fun parseTypeParametersDeclaration(signature: CharacterIterator, context: ClassifierResolutionContext): List { if (signature.current() != '<') { diff --git a/compiler/util/src/org/jetbrains/kotlin/utils/platformUtils.kt b/compiler/util/src/org/jetbrains/kotlin/utils/platformUtils.kt new file mode 100644 index 00000000000..1dd80a77019 --- /dev/null +++ b/compiler/util/src/org/jetbrains/kotlin/utils/platformUtils.kt @@ -0,0 +1,11 @@ +/* + * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.utils + +import com.intellij.util.containers.Interner + +fun createStringInterner(): Interner = + Interner.createStringInterner() diff --git a/compiler/util/src/org/jetbrains/kotlin/utils/platformUtils.kt.201 b/compiler/util/src/org/jetbrains/kotlin/utils/platformUtils.kt.201 new file mode 100644 index 00000000000..95f9bd17118 --- /dev/null +++ b/compiler/util/src/org/jetbrains/kotlin/utils/platformUtils.kt.201 @@ -0,0 +1,12 @@ +/* + * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.utils + +import com.intellij.util.containers.Interner +import com.intellij.util.containers.StringInterner + +fun createStringInterner(): Interner = + StringInterner() diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/utils/Interner.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/utils/Interner.kt index fa4aa613141..162f830a1d7 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/utils/Interner.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/utils/Interner.kt @@ -5,10 +5,8 @@ package org.jetbrains.kotlin.descriptors.commonizer.utils -import com.intellij.util.containers.WeakInterner - class Interner { - private val pool = WeakInterner() + private val pool = com.intellij.util.containers.Interner.createWeakInterner() fun intern(value: T): T = pool.intern(value) } diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/utils/Interner.kt.201 b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/utils/Interner.kt.201 new file mode 100644 index 00000000000..fa4aa613141 --- /dev/null +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/utils/Interner.kt.201 @@ -0,0 +1,14 @@ +/* + * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.descriptors.commonizer.utils + +import com.intellij.util.containers.WeakInterner + +class Interner { + private val pool = WeakInterner() + + fun intern(value: T): T = pool.intern(value) +}