[Analysis API] remove caches from KtSymbolByFirBuilder with very low hit rates

^KTIJ-22749
This commit is contained in:
Ilya Kirillov
2023-02-06 17:03:55 +01:00
committed by teamcity
parent a587913225
commit f5e5a134e7
@@ -78,9 +78,6 @@ internal class KtSymbolByFirBuilder constructor(
val rootSession: FirSession = firResolveSession.useSiteFirSession val rootSession: FirSession = firResolveSession.useSiteFirSession
private val symbolsCache = BuilderCache<FirBasedSymbol<*>, KtSymbol>() private val symbolsCache = BuilderCache<FirBasedSymbol<*>, KtSymbol>()
private val extensionReceiverSymbolsCache = BuilderCache<FirCallableSymbol<*>, KtSymbol>()
private val filesCache = BuilderCache<FirFileSymbol, KtFileSymbol>()
private val backingFieldCache = BuilderCache<FirBackingFieldSymbol, KtBackingFieldSymbol>()
val classifierBuilder = ClassifierSymbolBuilder() val classifierBuilder = ClassifierSymbolBuilder()
val functionLikeBuilder = FunctionLikeSymbolBuilder() val functionLikeBuilder = FunctionLikeSymbolBuilder()
@@ -105,7 +102,7 @@ internal class KtSymbolByFirBuilder constructor(
fun buildEnumEntrySymbol(firSymbol: FirEnumEntrySymbol) = fun buildEnumEntrySymbol(firSymbol: FirEnumEntrySymbol) =
symbolsCache.cache(firSymbol) { KtFirEnumEntrySymbol(firSymbol, analysisSession) } symbolsCache.cache(firSymbol) { KtFirEnumEntrySymbol(firSymbol, analysisSession) }
fun buildFileSymbol(firSymbol: FirFileSymbol) = filesCache.cache(firSymbol) { KtFirFileSymbol(firSymbol, analysisSession) } fun buildFileSymbol(firSymbol: FirFileSymbol) = KtFirFileSymbol(firSymbol, analysisSession)
private val packageProvider = project.createPackageProvider(GlobalSearchScope.allScope(project))//todo scope private val packageProvider = project.createPackageProvider(GlobalSearchScope.allScope(project))//todo scope
@@ -348,9 +345,7 @@ internal class KtSymbolByFirBuilder constructor(
} }
fun buildBackingFieldSymbol(firSymbol: FirBackingFieldSymbol): KtFirBackingFieldSymbol { fun buildBackingFieldSymbol(firSymbol: FirBackingFieldSymbol): KtFirBackingFieldSymbol {
return backingFieldCache.cache(firSymbol) { return KtFirBackingFieldSymbol(firSymbol, analysisSession)
KtFirBackingFieldSymbol(firSymbol, analysisSession)
}
} }
fun buildBackingFieldSymbolByProperty(firSymbol: FirPropertySymbol): KtFirBackingFieldSymbol { fun buildBackingFieldSymbolByProperty(firSymbol: FirPropertySymbol): KtFirBackingFieldSymbol {
@@ -409,9 +404,7 @@ internal class KtSymbolByFirBuilder constructor(
fun buildExtensionReceiverSymbol(firCallableSymbol: FirCallableSymbol<*>): KtReceiverParameterSymbol? { fun buildExtensionReceiverSymbol(firCallableSymbol: FirCallableSymbol<*>): KtReceiverParameterSymbol? {
if (firCallableSymbol.fir.receiverParameter == null) return null if (firCallableSymbol.fir.receiverParameter == null) return null
return extensionReceiverSymbolsCache.cache(firCallableSymbol) { return KtFirReceiverParameterSymbol(firCallableSymbol, analysisSession)
KtFirReceiverParameterSymbol(firCallableSymbol, analysisSession)
}
} }
} }