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.ReturnTypeCalculator
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.ReturnTypeCalculatorForFullBodyResolve
|
import org.jetbrains.kotlin.fir.resolve.transformers.ReturnTypeCalculatorForFullBodyResolve
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.withScopeCleanup
|
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.FirImplicitTypeRef
|
||||||
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
|
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
|
||||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||||
@@ -48,7 +48,8 @@ open class FirBodyResolveTransformer(
|
|||||||
context.file = file
|
context.file = file
|
||||||
packageFqName = file.packageFqName
|
packageFqName = file.packageFqName
|
||||||
return withScopeCleanup(context.fileImportsScope) {
|
return withScopeCleanup(context.fileImportsScope) {
|
||||||
context.fileImportsScope.addImportingScopes(file, session, components.scopeSession)
|
val importingScopes = createImportingScopes(file, session, components.scopeSession)
|
||||||
|
context.fileImportsScope += importingScopes
|
||||||
file.replaceResolvePhase(transformerPhase)
|
file.replaceResolvePhase(transformerPhase)
|
||||||
@Suppress("UNCHECKED_CAST")
|
@Suppress("UNCHECKED_CAST")
|
||||||
transformDeclarationContent(file, data) as CompositeTransformResult<FirFile>
|
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.fir.scopes.impl.*
|
||||||
import org.jetbrains.kotlin.name.FqName
|
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 FirDefaultStarImportingScopeKey : ScopeSessionKey<DefaultImportPriority, FirScope>()
|
||||||
private object FirDefaultSimpleImportingScopeKey : ScopeSessionKey<DefaultImportPriority, FirScope>()
|
private object FirDefaultSimpleImportingScopeKey : ScopeSessionKey<DefaultImportPriority, FirScope>()
|
||||||
private object FileImportingScopeKey : ScopeSessionKey<FirFile, ListStorageFirScope>()
|
private object FileImportingScopeKey : ScopeSessionKey<FirFile, ListStorageFirScope>()
|
||||||
|
|||||||
Reference in New Issue
Block a user