[Analysis API] remove caches from KtSymbolByFirBuilder with very low hit rates
^KTIJ-22749
This commit is contained in:
+3
-10
@@ -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)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user