[FIR] rename ensureResolve -> lazyResolveToPhase as it better describes function semantics
This commit is contained in:
@@ -40,7 +40,7 @@ import org.jetbrains.kotlin.fir.scopes.impl.delegatedWrapperData
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.importedFromObjectData
|
||||
import org.jetbrains.kotlin.fir.scopes.processOverriddenFunctions
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.fir.types.builder.buildErrorTypeRef
|
||||
@@ -183,7 +183,7 @@ fun BodyResolveComponents.typeForQualifier(resolvedQualifier: FirResolvedQualifi
|
||||
val classSymbol = resolvedQualifier.symbol
|
||||
val resultType = resolvedQualifier.resultType
|
||||
if (classSymbol != null) {
|
||||
classSymbol.ensureResolved(FirResolvePhase.TYPES)
|
||||
classSymbol.lazyResolveToPhase(FirResolvePhase.TYPES)
|
||||
val declaration = classSymbol.fir
|
||||
if (declaration !is FirTypeAlias || resolvedQualifier.typeArguments.isEmpty()) {
|
||||
typeForQualifierByDeclaration(declaration, resultType, session)?.let { return it }
|
||||
|
||||
+2
-2
@@ -20,7 +20,7 @@ import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.FirFakeOverrideGenerator
|
||||
import org.jetbrains.kotlin.fir.scopes.processClassifiersByName
|
||||
import org.jetbrains.kotlin.fir.scopes.scopeForClass
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.fir.visibilityChecker
|
||||
@@ -242,7 +242,7 @@ private fun processConstructors(
|
||||
if (matchedSymbol != null) {
|
||||
val scope = when (matchedSymbol) {
|
||||
is FirTypeAliasSymbol -> {
|
||||
matchedSymbol.ensureResolved(FirResolvePhase.TYPES)
|
||||
matchedSymbol.lazyResolveToPhase(FirResolvePhase.TYPES)
|
||||
val type = matchedSymbol.fir.expandedTypeRef.coneTypeUnsafe<ConeClassLikeType>().fullyExpandedType(session)
|
||||
val basicScope = type.scope(session, bodyResolveComponents.scopeSession, FakeOverrideTypeCalculator.DoNothing)
|
||||
|
||||
|
||||
+2
-2
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.fir.resolve.inference.model.ConeExplicitTypeParamete
|
||||
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
|
||||
import org.jetbrains.kotlin.fir.resolve.substitution.substitutorByMap
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.toConeType
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.name.StandardClassIds
|
||||
import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemOperation
|
||||
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.resolve.calls.inference.model.SimpleConstraintSystem
|
||||
internal object CreateFreshTypeVariableSubstitutorStage : ResolutionStage() {
|
||||
override suspend fun check(candidate: Candidate, callInfo: CallInfo, sink: CheckerSink, context: ResolutionContext) {
|
||||
val declaration = candidate.symbol.fir
|
||||
candidate.symbol.ensureResolved(FirResolvePhase.STATUS)
|
||||
candidate.symbol.lazyResolveToPhase(FirResolvePhase.STATUS)
|
||||
if (declaration !is FirTypeParameterRefsOwner || declaration.typeParameters.isEmpty()) {
|
||||
candidate.substitutor = ConeSubstitutor.Empty
|
||||
candidate.freshVariables = emptyList()
|
||||
|
||||
@@ -27,7 +27,7 @@ import org.jetbrains.kotlin.fir.scopes.FirUnstableSmartcastTypeScope
|
||||
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
|
||||
import org.jetbrains.kotlin.fir.scopes.processOverriddenFunctions
|
||||
import org.jetbrains.kotlin.fir.symbols.SyntheticSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.fir.visibilityChecker
|
||||
@@ -432,7 +432,7 @@ internal object MapArguments : ResolutionStage() {
|
||||
|
||||
internal object CheckArguments : CheckerStage() {
|
||||
override suspend fun check(candidate: Candidate, callInfo: CallInfo, sink: CheckerSink, context: ResolutionContext) {
|
||||
candidate.symbol.ensureResolved(FirResolvePhase.STATUS)
|
||||
candidate.symbol.lazyResolveToPhase(FirResolvePhase.STATUS)
|
||||
val argumentMapping =
|
||||
candidate.argumentMapping ?: error("Argument should be already mapped while checking arguments!")
|
||||
for (argument in callInfo.arguments) {
|
||||
|
||||
+6
-3
@@ -7,9 +7,12 @@ package org.jetbrains.kotlin.fir.resolve.transformers
|
||||
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.FirPhaseManager
|
||||
import org.jetbrains.kotlin.fir.symbols.FirLazyDeclarationResolver
|
||||
|
||||
object FirPhaseCheckingPhaseManager : FirPhaseManager() {
|
||||
override fun ensureResolved(symbol: FirBasedSymbol<*>, requiredPhase: FirResolvePhase) {
|
||||
/**
|
||||
* Compiler is non-lazy, so it does nothing.
|
||||
*/
|
||||
object FirCompilerLazyDeclarationResolver : FirLazyDeclarationResolver() {
|
||||
override fun lazyResolveToPhase(symbol: FirBasedSymbol<*>, toPhase: FirResolvePhase) {
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -19,7 +19,7 @@ import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||
import org.jetbrains.kotlin.fir.resolve.getSymbolByLookupTag
|
||||
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeAliasSymbol
|
||||
@@ -73,7 +73,7 @@ class FirSealedClassInheritorsProcessor(
|
||||
return when (classLikeSymbol) {
|
||||
is FirRegularClassSymbol -> classLikeSymbol.fir
|
||||
is FirTypeAliasSymbol -> {
|
||||
classLikeSymbol.ensureResolved(FirResolvePhase.SUPER_TYPES)
|
||||
classLikeSymbol.lazyResolveToPhase(FirResolvePhase.SUPER_TYPES)
|
||||
extractClassFromTypeRef(symbolProvider, classLikeSymbol.fir.expandedTypeRef)
|
||||
}
|
||||
else -> null
|
||||
|
||||
+5
-5
@@ -20,7 +20,7 @@ import org.jetbrains.kotlin.fir.resolve.providers.firProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.LocalClassesNavigationInfo
|
||||
import org.jetbrains.kotlin.fir.scopes.FirCompositeScope
|
||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousObjectSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeAliasSymbol
|
||||
@@ -167,7 +167,7 @@ open class FirDesignatedStatusResolveTransformer(
|
||||
data: FirResolvedDeclarationStatus?
|
||||
): FirStatement {
|
||||
if (shouldSkipClass(regularClass)) return regularClass
|
||||
regularClass.symbol.ensureResolved(FirResolvePhase.TYPES)
|
||||
regularClass.symbol.lazyResolveToPhase(FirResolvePhase.TYPES)
|
||||
val classLocated = this.classLocated
|
||||
/*
|
||||
* In designated status resolve we should resolve status only of target class and it's members
|
||||
@@ -383,7 +383,7 @@ abstract class AbstractFirStatusResolveTransformer(
|
||||
|
||||
private fun forceResolveStatusOfCorrespondingClass(typeRef: FirTypeRef) {
|
||||
val superClassSymbol = typeRef.coneType.toSymbol(session)
|
||||
superClassSymbol?.ensureResolved(FirResolvePhase.SUPER_TYPES)
|
||||
superClassSymbol?.lazyResolveToPhase(FirResolvePhase.SUPER_TYPES)
|
||||
when (superClassSymbol) {
|
||||
is FirRegularClassSymbol -> forceResolveStatusesOfClass(superClassSymbol.fir)
|
||||
is FirTypeAliasSymbol -> forceResolveStatusOfCorrespondingClass(superClassSymbol.fir.expandedTypeRef)
|
||||
@@ -487,12 +487,12 @@ abstract class AbstractFirStatusResolveTransformer(
|
||||
val overridden = statusResolver.getOverriddenProperties(property, containingClass)
|
||||
|
||||
val overriddenProperties = overridden.map {
|
||||
it.ensureResolved(FirResolvePhase.STATUS)
|
||||
it.lazyResolveToPhase(FirResolvePhase.STATUS)
|
||||
it.status as FirResolvedDeclarationStatus
|
||||
}
|
||||
|
||||
val overriddenSetters = overridden.mapNotNull {
|
||||
it.setter?.ensureResolved(FirResolvePhase.STATUS)
|
||||
it.setter?.lazyResolveToPhase(FirResolvePhase.STATUS)
|
||||
it.setter?.status as? FirResolvedDeclarationStatus
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
||||
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
|
||||
import org.jetbrains.kotlin.fir.scopes.unsubstitutedScope
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
||||
import org.jetbrains.kotlin.fir.toEffectiveVisibility
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.name.StandardClassIds
|
||||
@@ -108,7 +108,7 @@ class FirStatusResolver(
|
||||
): FirResolvedDeclarationStatus {
|
||||
val statuses = overriddenStatuses ?: getOverriddenProperties(property, containingClass)
|
||||
.map {
|
||||
it.ensureResolved(FirResolvePhase.STATUS)
|
||||
it.lazyResolveToPhase(FirResolvePhase.STATUS)
|
||||
it.status as FirResolvedDeclarationStatus
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.fir.resolve.transformers.TransformImplicitType
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.contracts.runContractResolveForLocalClass
|
||||
import org.jetbrains.kotlin.fir.scopes.FakeOverrideTypeCalculator
|
||||
import org.jetbrains.kotlin.fir.scopes.fakeOverrideSubstitution
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirSyntheticPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirImplicitTypeRef
|
||||
@@ -271,7 +271,7 @@ private class ReturnTypeCalculatorWithJump(
|
||||
}
|
||||
|
||||
if (canHaveContracts) {
|
||||
declaration.ensureResolved(FirResolvePhase.CONTRACTS)
|
||||
declaration.lazyResolveToPhase(FirResolvePhase.CONTRACTS)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.fir.packageFqName
|
||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||
import org.jetbrains.kotlin.fir.resolve.scopeSessionKey
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.*
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
|
||||
private val ALL_IMPORTS = scopeSessionKey<FirFile, ListStorageFirScope>()
|
||||
@@ -39,7 +39,7 @@ private fun doCreateImportingScopes(
|
||||
session: FirSession,
|
||||
scopeSession: ScopeSession
|
||||
): List<FirScope> {
|
||||
file.ensureResolved(FirResolvePhase.IMPORTS)
|
||||
file.lazyResolveToPhase(FirResolvePhase.IMPORTS)
|
||||
val excludedImportNames =
|
||||
file.imports.filter { it.aliasName != null }.mapNotNullTo(hashSetOf()) { it.importedFqName }.ifEmpty { emptySet() }
|
||||
return listOf(
|
||||
|
||||
Reference in New Issue
Block a user