K2: Get rid of redundant FirDependenciesSymbolProvider class
This commit is contained in:
committed by
Space Team
parent
dab50daf56
commit
9302fe3cb5
+2
-3
@@ -27,7 +27,7 @@ import org.jetbrains.kotlin.fir.backend.jvm.FirJvmTypeMapper
|
|||||||
import org.jetbrains.kotlin.fir.extensions.FirEmptyPredicateBasedProvider
|
import org.jetbrains.kotlin.fir.extensions.FirEmptyPredicateBasedProvider
|
||||||
import org.jetbrains.kotlin.fir.extensions.FirPredicateBasedProvider
|
import org.jetbrains.kotlin.fir.extensions.FirPredicateBasedProvider
|
||||||
import org.jetbrains.kotlin.fir.extensions.FirRegisteredPluginAnnotations
|
import org.jetbrains.kotlin.fir.extensions.FirRegisteredPluginAnnotations
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.FirDependenciesSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.DEPENDENCIES_SYMBOL_PROVIDER_QUALIFIED_KEY
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.FirProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.FirProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.scopes.wrapScopeWithJvmMapped
|
import org.jetbrains.kotlin.fir.resolve.scopes.wrapScopeWithJvmMapped
|
||||||
@@ -102,8 +102,7 @@ internal class LLFirNonUnderContentRootSessionFactory(private val project: Proje
|
|||||||
)
|
)
|
||||||
|
|
||||||
register(FirPredicateBasedProvider::class, FirEmptyPredicateBasedProvider)
|
register(FirPredicateBasedProvider::class, FirEmptyPredicateBasedProvider)
|
||||||
register(FirDependenciesSymbolProvider::class, dependencyProvider)
|
register(DEPENDENCIES_SYMBOL_PROVIDER_QUALIFIED_KEY, dependencyProvider)
|
||||||
register(FirDependenciesSymbolProvider::class, dependencyProvider)
|
|
||||||
register(FirJvmTypeMapper::class, FirJvmTypeMapper(this))
|
register(FirJvmTypeMapper::class, FirJvmTypeMapper(this))
|
||||||
register(FirRegisteredPluginAnnotations::class, FirRegisteredPluginAnnotations.Empty)
|
register(FirRegisteredPluginAnnotations::class, FirRegisteredPluginAnnotations.Empty)
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-2
@@ -8,7 +8,6 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.providers
|
|||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSession
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSession
|
||||||
import org.jetbrains.kotlin.analysis.utils.collections.buildSmartList
|
import org.jetbrains.kotlin.analysis.utils.collections.buildSmartList
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.FirDependenciesSymbolProvider
|
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProviderInternals
|
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProviderInternals
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider
|
||||||
@@ -85,7 +84,7 @@ internal class LLFirModuleWithDependenciesSymbolProvider(
|
|||||||
|
|
||||||
internal abstract class LLFirDependentModuleProviders(
|
internal abstract class LLFirDependentModuleProviders(
|
||||||
session: FirSession,
|
session: FirSession,
|
||||||
) : FirDependenciesSymbolProvider(session) {
|
) : FirSymbolProvider(session) {
|
||||||
|
|
||||||
abstract val dependentProviders: List<FirSymbolProvider>
|
abstract val dependentProviders: List<FirSymbolProvider>
|
||||||
abstract val dependentSessions: List<LLFirSession>
|
abstract val dependentSessions: List<LLFirSession>
|
||||||
|
|||||||
+3
-6
@@ -30,10 +30,7 @@ import org.jetbrains.kotlin.fir.analysis.extensions.additionalCheckers
|
|||||||
import org.jetbrains.kotlin.fir.backend.jvm.FirJvmTypeMapper
|
import org.jetbrains.kotlin.fir.backend.jvm.FirJvmTypeMapper
|
||||||
import org.jetbrains.kotlin.fir.extensions.*
|
import org.jetbrains.kotlin.fir.extensions.*
|
||||||
import org.jetbrains.kotlin.fir.java.JavaSymbolProvider
|
import org.jetbrains.kotlin.fir.java.JavaSymbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.FirDependenciesSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.*
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.FirProvider
|
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider
|
|
||||||
import org.jetbrains.kotlin.fir.resolve.scopes.wrapScopeWithJvmMapped
|
import org.jetbrains.kotlin.fir.resolve.scopes.wrapScopeWithJvmMapped
|
||||||
import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider
|
import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider
|
||||||
import org.jetbrains.kotlin.fir.session.*
|
import org.jetbrains.kotlin.fir.session.*
|
||||||
@@ -153,7 +150,7 @@ internal object LLFirSessionFactory {
|
|||||||
)
|
)
|
||||||
register(JavaSymbolProvider::class, javaSymbolProvider)
|
register(JavaSymbolProvider::class, javaSymbolProvider)
|
||||||
|
|
||||||
register(FirDependenciesSymbolProvider::class, dependencyProvider)
|
register(DEPENDENCIES_SYMBOL_PROVIDER_QUALIFIED_KEY, dependencyProvider)
|
||||||
register(FirJvmTypeMapper::class, FirJvmTypeMapper(this))
|
register(FirJvmTypeMapper::class, FirJvmTypeMapper(this))
|
||||||
register(LLFirFirClassByPsiClassProvider::class, LLFirFirClassByPsiClassProvider(this))
|
register(LLFirFirClassByPsiClassProvider::class, LLFirFirClassByPsiClassProvider(this))
|
||||||
|
|
||||||
@@ -245,7 +242,7 @@ internal object LLFirSessionFactory {
|
|||||||
)
|
)
|
||||||
register(JavaSymbolProvider::class, javaSymbolProvider)
|
register(JavaSymbolProvider::class, javaSymbolProvider)
|
||||||
|
|
||||||
register(FirDependenciesSymbolProvider::class, dependencyProvider)
|
register(DEPENDENCIES_SYMBOL_PROVIDER_QUALIFIED_KEY, dependencyProvider)
|
||||||
register(FirJvmTypeMapper::class, FirJvmTypeMapper(this))
|
register(FirJvmTypeMapper::class, FirJvmTypeMapper(this))
|
||||||
|
|
||||||
configureSession?.invoke(this)
|
configureSession?.invoke(this)
|
||||||
|
|||||||
+1
-1
@@ -116,7 +116,7 @@ abstract class FirAbstractSessionFactory {
|
|||||||
register(FirSymbolProvider::class, FirCompositeSymbolProvider(this, providers))
|
register(FirSymbolProvider::class, FirCompositeSymbolProvider(this, providers))
|
||||||
|
|
||||||
generatedSymbolsProvider?.let { register(FirSwitchableExtensionDeclarationsSymbolProvider::class, it) }
|
generatedSymbolsProvider?.let { register(FirSwitchableExtensionDeclarationsSymbolProvider::class, it) }
|
||||||
register(FirDependenciesSymbolProvider::class, dependenciesSymbolProvider)
|
register(DEPENDENCIES_SYMBOL_PROVIDER_QUALIFIED_KEY, dependenciesSymbolProvider)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+6
-3
@@ -57,8 +57,6 @@ abstract class FirSymbolProvider(val session: FirSession) : FirSessionComponent
|
|||||||
abstract fun getPackage(fqName: FqName): FqName? // TODO: Replace to symbol sometime
|
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? {
|
private fun FirSymbolProvider.getClassDeclaredMemberScope(classId: ClassId): FirScope? {
|
||||||
val classSymbol = getClassLikeSymbolByClassId(classId) as? FirRegularClassSymbol ?: return null
|
val classSymbol = getClassLikeSymbolByClassId(classId) as? FirRegularClassSymbol ?: return null
|
||||||
return session.declaredMemberScope(classSymbol.fir)
|
return session.declaredMemberScope(classSymbol.fir)
|
||||||
@@ -90,4 +88,9 @@ fun FirSymbolProvider.getRegularClassSymbolByClassId(classId: ClassId): FirRegul
|
|||||||
}
|
}
|
||||||
|
|
||||||
val FirSession.symbolProvider: FirSymbolProvider by FirSession.sessionComponentAccessor()
|
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
|
||||||
|
)
|
||||||
|
|||||||
+1
-1
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.name.FqName
|
|||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
|
||||||
@ThreadSafeMutableState
|
@ThreadSafeMutableState
|
||||||
open class FirDependenciesSymbolProviderImpl(session: FirSession) : FirDependenciesSymbolProvider(session) {
|
open class FirDependenciesSymbolProviderImpl(session: FirSession) : FirSymbolProvider(session) {
|
||||||
private val classCache = session.firCachesFactory.createCache(::computeClass)
|
private val classCache = session.firCachesFactory.createCache(::computeClass)
|
||||||
private val topLevelCallableCache = session.firCachesFactory.createCache(::computeTopLevelCallables)
|
private val topLevelCallableCache = session.firCachesFactory.createCache(::computeTopLevelCallables)
|
||||||
private val topLevelFunctionCache = session.firCachesFactory.createCache(::computeTopLevelFunctions)
|
private val topLevelFunctionCache = session.firCachesFactory.createCache(::computeTopLevelFunctions)
|
||||||
|
|||||||
Reference in New Issue
Block a user