[FIR] Store dependencies symbol provider as separate session component
This commit is contained in:
committed by
teamcityserver
parent
1c5361dacd
commit
ec1651df92
@@ -160,6 +160,7 @@ object FirSessionFactory {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val dependenciesSymbolProvider = FirDependenciesSymbolProviderImpl(this)
|
||||||
register(
|
register(
|
||||||
FirSymbolProvider::class,
|
FirSymbolProvider::class,
|
||||||
FirCompositeSymbolProvider(
|
FirCompositeSymbolProvider(
|
||||||
@@ -168,17 +169,21 @@ object FirSessionFactory {
|
|||||||
firProvider.symbolProvider,
|
firProvider.symbolProvider,
|
||||||
symbolProviderForBinariesFromIncrementalCompilation,
|
symbolProviderForBinariesFromIncrementalCompilation,
|
||||||
JavaSymbolProvider(this, moduleData, project, scope),
|
JavaSymbolProvider(this, moduleData, project, scope),
|
||||||
FirDependenciesSymbolProviderImpl(this),
|
dependenciesSymbolProvider,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
register(
|
||||||
|
FirDependenciesSymbolProviderImpl::class,
|
||||||
|
dependenciesSymbolProvider
|
||||||
|
)
|
||||||
|
|
||||||
FirSessionConfigurator(this).apply {
|
FirSessionConfigurator(this).apply {
|
||||||
registerCommonCheckers()
|
registerCommonCheckers()
|
||||||
registerJvmCheckers()
|
registerJvmCheckers()
|
||||||
init()
|
init()
|
||||||
}.configure()
|
}.configure()
|
||||||
|
|
||||||
PsiElementFinder.EP.getPoint(project).registerExtension(FirJavaElementFinder(this, project), project)
|
PsiElementFinder.EP.getPoint(project).registerExtension(FirJavaElementFinder(this, project), project)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,10 +8,12 @@ package org.jetbrains.kotlin.fir.resolve
|
|||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
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.providers.impl.FirDependenciesSymbolProviderImpl
|
||||||
import org.jetbrains.kotlin.fir.scopes.impl.FirDeclaredMemberScopeProvider
|
import org.jetbrains.kotlin.fir.scopes.impl.FirDeclaredMemberScopeProvider
|
||||||
import org.jetbrains.kotlin.fir.types.FirCorrespondingSupertypesCache
|
import org.jetbrains.kotlin.fir.types.FirCorrespondingSupertypesCache
|
||||||
|
|
||||||
val FirSession.symbolProvider: FirSymbolProvider by FirSession.sessionComponentAccessor()
|
val FirSession.symbolProvider: FirSymbolProvider by FirSession.sessionComponentAccessor()
|
||||||
|
val FirSession.dependenciesSymbolProvider: FirSymbolProvider by FirSession.sessionComponentAccessor<FirDependenciesSymbolProviderImpl>()
|
||||||
val FirSession.firProvider: FirProvider by FirSession.sessionComponentAccessor()
|
val FirSession.firProvider: FirProvider by FirSession.sessionComponentAccessor()
|
||||||
val FirSession.correspondingSupertypesCache: FirCorrespondingSupertypesCache by FirSession.sessionComponentAccessor()
|
val FirSession.correspondingSupertypesCache: FirCorrespondingSupertypesCache by FirSession.sessionComponentAccessor()
|
||||||
val FirSession.declaredMemberScopeProvider: FirDeclaredMemberScopeProvider by FirSession.sessionComponentAccessor()
|
val FirSession.declaredMemberScopeProvider: FirDeclaredMemberScopeProvider by FirSession.sessionComponentAccessor()
|
||||||
|
|||||||
Reference in New Issue
Block a user