[FIR] Make KotlinScopeProvider a session component
This commit is contained in:
committed by
TeamCityServer
parent
4f764c28cb
commit
270962e176
@@ -143,6 +143,7 @@ object FirSessionFactory {
|
||||
registerJavaSpecificResolveComponents()
|
||||
|
||||
val kotlinScopeProvider = FirKotlinScopeProvider(::wrapScopeWithJvmMapped)
|
||||
register(FirKotlinScopeProvider::class, kotlinScopeProvider)
|
||||
|
||||
val firProvider = FirProviderImpl(this, kotlinScopeProvider)
|
||||
register(FirProvider::class, firProvider)
|
||||
@@ -209,6 +210,7 @@ object FirSessionFactory {
|
||||
registerCommonJavaComponents(projectEnvironment.getJavaModuleResolver())
|
||||
|
||||
val kotlinScopeProvider = FirKotlinScopeProvider(::wrapScopeWithJvmMapped)
|
||||
register(FirKotlinScopeProvider::class, kotlinScopeProvider)
|
||||
|
||||
val classFileBasedSymbolProvider = JvmClassFileBasedSymbolProvider(
|
||||
this,
|
||||
|
||||
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.scopes
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.FirSessionComponent
|
||||
import org.jetbrains.kotlin.fir.declarations.FirClass
|
||||
import org.jetbrains.kotlin.fir.declarations.FirField
|
||||
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
||||
@@ -28,7 +29,7 @@ class FirKotlinScopeProvider(
|
||||
useSiteSession: FirSession,
|
||||
scopeSession: ScopeSession
|
||||
) -> FirScope = { _, declaredMemberScope, _, _ -> declaredMemberScope }
|
||||
) : FirScopeProvider() {
|
||||
) : FirScopeProvider(), FirSessionComponent {
|
||||
override fun getUseSiteMemberScope(
|
||||
klass: FirClass,
|
||||
useSiteSession: FirSession,
|
||||
@@ -163,3 +164,5 @@ private fun FirClass.scopeForClassImpl(
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
val FirSession.kotlinScopeProvider: FirKotlinScopeProvider by FirSession.sessionComponentAccessor()
|
||||
|
||||
Reference in New Issue
Block a user