[AA] Don't use a weak-value map in KtFirAnalysisSessionProvider
- The values stored in `CachedValue`s are already soft. We don't gain any benefit from making the `CachedValue` a weak reference as well.
This commit is contained in:
committed by
Space Team
parent
e76692ef8d
commit
9983abea4c
+2
-3
@@ -11,7 +11,7 @@ import com.intellij.psi.util.CachedValue
|
||||
import com.intellij.psi.util.CachedValueProvider
|
||||
import com.intellij.psi.util.CachedValuesManager
|
||||
import com.intellij.util.CachedValueBase
|
||||
import com.intellij.util.containers.CollectionFactory
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
import org.jetbrains.kotlin.analysis.api.KtAnalysisApiInternals
|
||||
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
|
||||
import org.jetbrains.kotlin.analysis.api.lifetime.KtLifetimeToken
|
||||
@@ -26,8 +26,7 @@ import kotlin.reflect.KClass
|
||||
|
||||
@OptIn(KtAnalysisApiInternals::class)
|
||||
class KtFirAnalysisSessionProvider(project: Project) : KtAnalysisSessionProvider(project) {
|
||||
private val cache: ConcurrentMap<Pair<KtModule, KClass<out KtLifetimeToken>>, CachedValue<KtAnalysisSession>> =
|
||||
CollectionFactory.createConcurrentWeakValueMap()
|
||||
private val cache: ConcurrentMap<Pair<KtModule, KClass<out KtLifetimeToken>>, CachedValue<KtAnalysisSession>> = ConcurrentHashMap()
|
||||
|
||||
init {
|
||||
LowMemoryWatcher.register(::clearCaches, project)
|
||||
|
||||
Reference in New Issue
Block a user