Fix deprecated Interner/StringInterner usages after update to 202

This commit is contained in:
Alexander Udalov
2020-12-10 17:48:05 +01:00
parent f8c2f4a8d0
commit 8ae19f5cd7
8 changed files with 47 additions and 16 deletions
@@ -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<LookupSymbol, String>()
val pathInterner = StringInterner()
private val interner = StringInterner()
val pathInterner = createStringInterner()
private val interner = createStringInterner()
override val requiresPosition: Boolean
get() = delegate.requiresPosition
@@ -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<Name[String] | LookupInfo>)
private val lookups = THashMap<String, MutableMap<String, MutableSet<Any>>>()
private val interner = StringInterner()
private val interner = createStringInterner()
override val requiresPosition: Boolean = profiler.withMeasure(this) { facade.lookupTracker_requiresPosition() }
@@ -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<LookupInfo>()
private val interner = StringInterner()
private val interner = createStringInterner()
override val requiresPosition: Boolean = runBlocking { profiler.withMeasure(this) { facade.lookupTracker_requiresPosition() } }
@@ -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<JavaTypeParameter> {
if (signature.current() != '<') {
@@ -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<String> =
Interner.createStringInterner()
@@ -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<String> =
StringInterner()
@@ -5,10 +5,8 @@
package org.jetbrains.kotlin.descriptors.commonizer.utils
import com.intellij.util.containers.WeakInterner
class Interner<T : Any> {
private val pool = WeakInterner<T>()
private val pool = com.intellij.util.containers.Interner.createWeakInterner<T>()
fun intern(value: T): T = pool.intern(value)
}
@@ -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<T : Any> {
private val pool = WeakInterner<T>()
fun intern(value: T): T = pool.intern(value)
}