[FIR] Don't create FirDependenciesSymbolProvider without need
This commit is contained in:
committed by
Space Team
parent
9c6df5313a
commit
4d89eddbe8
+2
-6
@@ -91,7 +91,7 @@ abstract class FirAbstractSessionFactory {
|
||||
createProviders: (
|
||||
FirSession, FirKotlinScopeProvider, FirSymbolProvider,
|
||||
FirSwitchableExtensionDeclarationsSymbolProvider?,
|
||||
FirDependenciesSymbolProviderImpl
|
||||
FirDependenciesSymbolProvider
|
||||
) -> List<FirSymbolProvider>
|
||||
): FirSession {
|
||||
return FirCliSession(sessionProvider, FirSession.Kind.Source).apply session@{
|
||||
@@ -129,11 +129,7 @@ abstract class FirAbstractSessionFactory {
|
||||
register(FirSymbolProvider::class, FirCompositeSymbolProvider(this, providers))
|
||||
|
||||
generatedSymbolsProvider?.let { register(FirSwitchableExtensionDeclarationsSymbolProvider::class, it) }
|
||||
|
||||
register(
|
||||
FirDependenciesSymbolProvider::class,
|
||||
dependenciesSymbolProvider
|
||||
)
|
||||
register(FirDependenciesSymbolProvider::class, dependenciesSymbolProvider)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -115,7 +115,6 @@ object FirSessionFactory : FirAbstractSessionFactory() {
|
||||
),
|
||||
FirBuiltinSymbolProvider(session, builtinsModuleData, kotlinScopeProvider),
|
||||
FirCloneableSymbolProvider(session, builtinsModuleData, kotlinScopeProvider),
|
||||
FirDependenciesSymbolProviderImpl(session),
|
||||
OptionalAnnotationClassesProvider(session, dependencyList.moduleDataProvider, kotlinScopeProvider, packagePartProvider)
|
||||
)
|
||||
}
|
||||
|
||||
+2
-1
@@ -31,7 +31,8 @@ open class FirDependenciesSymbolProviderImpl(session: FirSession) : FirDependenc
|
||||
|
||||
|
||||
protected open val dependencyProviders by lazy {
|
||||
val moduleData = session.nullableModuleData ?: return@lazy emptyList()
|
||||
val moduleData =
|
||||
session.nullableModuleData ?: error("FirDependenciesSymbolProvider should not be created if there are no dependencies")
|
||||
(moduleData.dependencies + moduleData.friendDependencies + moduleData.dependsOnDependencies)
|
||||
.mapNotNull { session.sessionProvider?.getSession(it) }
|
||||
.sortedBy { it.kind }
|
||||
|
||||
-2
@@ -16,7 +16,6 @@ import org.jetbrains.kotlin.fir.java.FirProjectSessionProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.calls.ConeCallConflictResolverFactory
|
||||
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirBuiltinSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirCloneableSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirDependenciesSymbolProviderImpl
|
||||
import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider
|
||||
import org.jetbrains.kotlin.fir.scopes.FirPlatformClassMapper
|
||||
import org.jetbrains.kotlin.fir.session.FirAbstractSessionFactory
|
||||
@@ -49,7 +48,6 @@ object FirJsSessionFactory : FirAbstractSessionFactory() {
|
||||
listOf(
|
||||
FirBuiltinSymbolProvider(session, builtinsModuleData, kotlinScopeProvider),
|
||||
FirCloneableSymbolProvider(session, builtinsModuleData, kotlinScopeProvider),
|
||||
FirDependenciesSymbolProviderImpl(session),
|
||||
) + resolveJsLibraries(module, testServices, configuration).map {
|
||||
KlibBasedSymbolProvider(session, moduleDataProvider, kotlinScopeProvider, it)
|
||||
}
|
||||
|
||||
-2
@@ -14,7 +14,6 @@ import org.jetbrains.kotlin.fir.java.FirProjectSessionProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.calls.ConeCallConflictResolverFactory
|
||||
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirBuiltinSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirCloneableSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirDependenciesSymbolProviderImpl
|
||||
import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider
|
||||
import org.jetbrains.kotlin.fir.scopes.FirPlatformClassMapper
|
||||
import org.jetbrains.kotlin.fir.session.FirAbstractSessionFactory
|
||||
@@ -40,7 +39,6 @@ object FirNativeSessionFactory : FirAbstractSessionFactory() {
|
||||
listOf(
|
||||
FirBuiltinSymbolProvider(session, builtinsModuleData, kotlinScopeProvider),
|
||||
FirCloneableSymbolProvider(session, builtinsModuleData, kotlinScopeProvider),
|
||||
FirDependenciesSymbolProviderImpl(session),
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user