FIR: Simplify file imports scope tracking
This commit is contained in:
+3
-2
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.fir.resolve.dfa.DataFlowAnalyzerContext
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.ReturnTypeCalculator
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.ReturnTypeCalculatorForFullBodyResolve
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.withScopeCleanup
|
||||
import org.jetbrains.kotlin.fir.scopes.addImportingScopes
|
||||
import org.jetbrains.kotlin.fir.scopes.createImportingScopes
|
||||
import org.jetbrains.kotlin.fir.types.FirImplicitTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
@@ -48,7 +48,8 @@ open class FirBodyResolveTransformer(
|
||||
context.file = file
|
||||
packageFqName = file.packageFqName
|
||||
return withScopeCleanup(context.fileImportsScope) {
|
||||
context.fileImportsScope.addImportingScopes(file, session, components.scopeSession)
|
||||
val importingScopes = createImportingScopes(file, session, components.scopeSession)
|
||||
context.fileImportsScope += importingScopes
|
||||
file.replaceResolvePhase(transformerPhase)
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
transformDeclarationContent(file, data) as CompositeTransformResult<FirFile>
|
||||
|
||||
@@ -13,10 +13,6 @@ import org.jetbrains.kotlin.fir.resolve.scopeSessionKey
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.*
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
|
||||
fun MutableList<FirScope>.addImportingScopes(file: FirFile, session: FirSession, scopeSession: ScopeSession) {
|
||||
this += createImportingScopes(file, session, scopeSession)
|
||||
}
|
||||
|
||||
private object FirDefaultStarImportingScopeKey : ScopeSessionKey<DefaultImportPriority, FirScope>()
|
||||
private object FirDefaultSimpleImportingScopeKey : ScopeSessionKey<DefaultImportPriority, FirScope>()
|
||||
private object FileImportingScopeKey : ScopeSessionKey<FirFile, ListStorageFirScope>()
|
||||
|
||||
Reference in New Issue
Block a user