K2: Get rid of redundant FirDependenciesSymbolProvider class

This commit is contained in:
Denis.Zharkov
2023-01-04 12:17:12 +01:00
committed by Space Team
parent dab50daf56
commit 9302fe3cb5
6 changed files with 14 additions and 16 deletions
@@ -116,7 +116,7 @@ abstract class FirAbstractSessionFactory {
register(FirSymbolProvider::class, FirCompositeSymbolProvider(this, providers))
generatedSymbolsProvider?.let { register(FirSwitchableExtensionDeclarationsSymbolProvider::class, it) }
register(FirDependenciesSymbolProvider::class, dependenciesSymbolProvider)
register(DEPENDENCIES_SYMBOL_PROVIDER_QUALIFIED_KEY, dependenciesSymbolProvider)
}
}
}
@@ -57,8 +57,6 @@ abstract class FirSymbolProvider(val session: FirSession) : FirSessionComponent
abstract fun getPackage(fqName: FqName): FqName? // TODO: Replace to symbol sometime
}
abstract class FirDependenciesSymbolProvider(session: FirSession) : FirSymbolProvider(session)
private fun FirSymbolProvider.getClassDeclaredMemberScope(classId: ClassId): FirScope? {
val classSymbol = getClassLikeSymbolByClassId(classId) as? FirRegularClassSymbol ?: return null
return session.declaredMemberScope(classSymbol.fir)
@@ -90,4 +88,9 @@ fun FirSymbolProvider.getRegularClassSymbolByClassId(classId: ClassId): FirRegul
}
val FirSession.symbolProvider: FirSymbolProvider by FirSession.sessionComponentAccessor()
val FirSession.dependenciesSymbolProvider: FirSymbolProvider by FirSession.sessionComponentAccessor<FirDependenciesSymbolProvider>()
const val DEPENDENCIES_SYMBOL_PROVIDER_QUALIFIED_KEY: String = "org.jetbrains.kotlin.fir.resolve.providers.FirDependenciesSymbolProvider"
val FirSession.dependenciesSymbolProvider: FirSymbolProvider by FirSession.sessionComponentAccessor(
DEPENDENCIES_SYMBOL_PROVIDER_QUALIFIED_KEY
)
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
@ThreadSafeMutableState
open class FirDependenciesSymbolProviderImpl(session: FirSession) : FirDependenciesSymbolProvider(session) {
open class FirDependenciesSymbolProviderImpl(session: FirSession) : FirSymbolProvider(session) {
private val classCache = session.firCachesFactory.createCache(::computeClass)
private val topLevelCallableCache = session.firCachesFactory.createCache(::computeTopLevelCallables)
private val topLevelFunctionCache = session.firCachesFactory.createCache(::computeTopLevelFunctions)