[FIR IDE] Concurrent identity cache for files

This commit is contained in:
Igor Yakovlev
2021-05-19 12:59:03 +02:00
parent f98995f6cb
commit 83382bea13
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.idea.fir.low.level.api.file.builder
import com.intellij.concurrency.ConcurrentCollectionFactory
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.FirClassLikeDeclaration
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
@@ -61,7 +62,7 @@ internal abstract class ModuleFileCache {
}
internal class ModuleFileCacheImpl(override val session: FirSession) : ModuleFileCache() {
private val ktFileToFirFile = ConcurrentHashMap<KtFile, FirFile>()
private val ktFileToFirFile = ConcurrentCollectionFactory.createConcurrentIdentityMap<KtFile, FirFile>()
override val classifierByClassId: ConcurrentHashMap<ClassId, Optional<FirClassLikeDeclaration<*>>> = ConcurrentHashMap()
override val callableByCallableId: ConcurrentHashMap<CallableId, List<FirCallableSymbol<*>>> = ConcurrentHashMap()