[FIR] rename ensureResolve -> lazyResolveToPhase as it better describes function semantics
This commit is contained in:
+2
-2
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.fir.resolve.toFirRegularClassSymbol
|
||||
import org.jetbrains.kotlin.fir.scopes.getDirectOverriddenFunctions
|
||||
import org.jetbrains.kotlin.fir.scopes.getDirectOverriddenProperties
|
||||
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
|
||||
import org.jetbrains.kotlin.fir.types.classId
|
||||
@@ -63,7 +63,7 @@ object FirJvmOverridesBackwardCompatibilityHelper : FirOverridesBackwardCompatib
|
||||
visitedSymbols += symbol
|
||||
|
||||
val originalMemberSymbol = symbol.originalOrSelf()
|
||||
originalMemberSymbol.ensureResolved(FirResolvePhase.BODY_RESOLVE)
|
||||
originalMemberSymbol.lazyResolveToPhase(FirResolvePhase.BODY_RESOLVE)
|
||||
@OptIn(SymbolInternals::class)
|
||||
val originalMember = originalMemberSymbol.fir
|
||||
if (originalMember.annotations.any { it.annotationTypeRef.coneTypeSafe<ConeClassLikeType>()?.classId == platformDependentAnnotation }) {
|
||||
|
||||
+2
-2
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.fir.resolve.fullyExpandedType
|
||||
import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
||||
import org.jetbrains.kotlin.fir.resolved
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
@@ -50,7 +50,7 @@ fun FirAnnotation.getAllowedAnnotationTargets(session: FirSession): Set<KotlinTa
|
||||
if (annotationTypeRef is FirErrorTypeRef) return KotlinTarget.values().toSet()
|
||||
val annotationClassSymbol = (this.annotationTypeRef.coneType as? ConeClassLikeType)
|
||||
?.fullyExpandedType(session)?.lookupTag?.toSymbol(session) ?: return defaultAnnotationTargets
|
||||
annotationClassSymbol.ensureResolved(FirResolvePhase.BODY_RESOLVE)
|
||||
annotationClassSymbol.lazyResolveToPhase(FirResolvePhase.BODY_RESOLVE)
|
||||
return annotationClassSymbol.getAllowedAnnotationTargets()
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.fir.languageVersionSettings
|
||||
import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
|
||||
@@ -75,7 +75,7 @@ private fun FirDeclaration.getOwnSinceKotlinVersion(session: FirSession): FirSin
|
||||
}
|
||||
|
||||
fun FirClassLikeSymbol<*>.consider() {
|
||||
ensureResolved(FirResolvePhase.BODY_RESOLVE)
|
||||
lazyResolveToPhase(FirResolvePhase.BODY_RESOLVE)
|
||||
@OptIn(SymbolInternals::class)
|
||||
this.fir.consider()
|
||||
}
|
||||
|
||||
+2
-2
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
|
||||
import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeAmbiguityError
|
||||
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
||||
|
||||
object FirCommonConstructorDelegationIssuesChecker : FirRegularClassChecker() {
|
||||
@@ -95,7 +95,7 @@ object FirCommonConstructorDelegationIssuesChecker : FirRegularClassChecker() {
|
||||
}
|
||||
|
||||
private fun FirConstructor.getDelegated(): FirConstructor? {
|
||||
this.symbol.ensureResolved(FirResolvePhase.BODY_RESOLVE)
|
||||
this.symbol.lazyResolveToPhase(FirResolvePhase.BODY_RESOLVE)
|
||||
val delegatedConstructorSymbol = delegatedConstructor
|
||||
?.calleeReference.safeAs<FirResolvedNamedReference>()
|
||||
?.resolvedSymbol
|
||||
|
||||
+3
-3
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.fir.scopes.impl.FirPackageMemberScope
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.PACKAGE_MEMBER
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
|
||||
import org.jetbrains.kotlin.fir.util.ListMultimap
|
||||
@@ -83,7 +83,7 @@ object FirConflictsChecker : FirBasicDeclarationChecker() {
|
||||
conflictingFile: FirFile?,
|
||||
session: FirSession
|
||||
) {
|
||||
conflictingSymbol.ensureResolved(FirResolvePhase.STATUS)
|
||||
conflictingSymbol.lazyResolveToPhase(FirResolvePhase.STATUS)
|
||||
@OptIn(SymbolInternals::class)
|
||||
val conflicting = conflictingSymbol.fir
|
||||
if (declaration.moduleData != conflicting.moduleData) return
|
||||
@@ -130,7 +130,7 @@ object FirConflictsChecker : FirBasicDeclarationChecker() {
|
||||
)
|
||||
}
|
||||
packageMemberScope.processClassifiersByNameWithSubstitution(declarationName) { symbol, _ ->
|
||||
symbol.ensureResolved(FirResolvePhase.STATUS)
|
||||
symbol.lazyResolveToPhase(FirResolvePhase.STATUS)
|
||||
@OptIn(SymbolInternals::class)
|
||||
val classWithSameName = symbol.fir as? FirRegularClass
|
||||
classWithSameName?.onConstructors { constructor ->
|
||||
|
||||
+2
-2
@@ -25,7 +25,7 @@ import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeInapplicableCandidateErr
|
||||
import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeUnresolvedNameError
|
||||
import org.jetbrains.kotlin.fir.resolvedSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
@@ -186,7 +186,7 @@ object FirDestructuringDeclarationChecker : FirPropertyChecker() {
|
||||
private val FirQualifiedAccessExpression.resolvedVariable: FirVariable?
|
||||
get() {
|
||||
val symbol = calleeReference.resolvedSymbol as? FirVariableSymbol<*> ?: return null
|
||||
symbol.ensureResolved(FirResolvePhase.BODY_RESOLVE)
|
||||
symbol.lazyResolveToPhase(FirResolvePhase.BODY_RESOLVE)
|
||||
@OptIn(SymbolInternals::class)
|
||||
return symbol.fir
|
||||
}
|
||||
|
||||
+2
-2
@@ -32,7 +32,7 @@ import org.jetbrains.kotlin.fir.scopes.getDirectOverriddenFunctions
|
||||
import org.jetbrains.kotlin.fir.scopes.getDirectOverriddenProperties
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.toConeType
|
||||
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
|
||||
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
|
||||
@@ -160,7 +160,7 @@ object FirOverrideChecker : FirClassChecker() {
|
||||
val containingDeclarations = context.containingDeclarations + containingClass
|
||||
val visibilityChecker = context.session.visibilityChecker
|
||||
val hasVisibleBase = overriddenSymbols.any {
|
||||
it.ensureResolved(FirResolvePhase.STATUS)
|
||||
it.lazyResolveToPhase(FirResolvePhase.STATUS)
|
||||
@OptIn(SymbolInternals::class)
|
||||
val fir = it.fir
|
||||
visibilityChecker.isVisible(
|
||||
|
||||
+2
-2
@@ -18,7 +18,7 @@ import org.jetbrains.kotlin.fir.expressions.*
|
||||
import org.jetbrains.kotlin.fir.resolvedSymbol
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.toConeType
|
||||
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.lexer.KtTokens.QUEST
|
||||
@@ -75,7 +75,7 @@ object FirClassLiteralChecker : FirGetClassCallChecker() {
|
||||
// TODO: differentiate RESERVED_SYNTAX_IN_CALLABLE_REFERENCE_LHS
|
||||
if (argument.typeArguments.isNotEmpty() && !argument.typeRef.coneType.isAllowedInClassLiteral(context)) {
|
||||
val symbol = argument.symbol
|
||||
symbol?.ensureResolved(FirResolvePhase.TYPES)
|
||||
symbol?.lazyResolveToPhase(FirResolvePhase.TYPES)
|
||||
@OptIn(SymbolInternals::class)
|
||||
val typeParameters = (symbol?.fir as? FirTypeParameterRefsOwner)?.typeParameters
|
||||
// Among type parameter references, only count actual type parameter while discarding [FirOuterClassTypeParameterRef]
|
||||
|
||||
+6
-6
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.fir.scopes.processDirectlyOverriddenFunctions
|
||||
import org.jetbrains.kotlin.fir.scopes.processDirectlyOverriddenProperties
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||
@@ -69,13 +69,13 @@ object FirOptInUsageBaseChecker {
|
||||
|
||||
// Note: receiver is an OptIn marker class and parameter is an annotated member owner class / self class name
|
||||
fun FirRegularClassSymbol.loadExperimentalityForMarkerAnnotation(annotatedOwnerClassName: String? = null): Experimentality? {
|
||||
ensureResolved(FirResolvePhase.BODY_RESOLVE)
|
||||
lazyResolveToPhase(FirResolvePhase.BODY_RESOLVE)
|
||||
@OptIn(SymbolInternals::class)
|
||||
return fir.loadExperimentalityForMarkerAnnotation(annotatedOwnerClassName)
|
||||
}
|
||||
|
||||
fun FirBasedSymbol<*>.loadExperimentalitiesFromAnnotationTo(session: FirSession, result: MutableCollection<Experimentality>) {
|
||||
ensureResolved(FirResolvePhase.STATUS)
|
||||
lazyResolveToPhase(FirResolvePhase.STATUS)
|
||||
@OptIn(SymbolInternals::class)
|
||||
fir.loadExperimentalitiesFromAnnotationTo(session, result)
|
||||
}
|
||||
@@ -133,7 +133,7 @@ object FirOptInUsageBaseChecker {
|
||||
fromSetter: Boolean,
|
||||
dispatchReceiverType: ConeKotlinType?,
|
||||
): Set<Experimentality> {
|
||||
ensureResolved(FirResolvePhase.STATUS)
|
||||
lazyResolveToPhase(FirResolvePhase.STATUS)
|
||||
val fir = this.fir
|
||||
if (!visited.add(fir)) return emptySet()
|
||||
val result = knownExperimentalities ?: SmartSet.create()
|
||||
@@ -141,7 +141,7 @@ object FirOptInUsageBaseChecker {
|
||||
if (fir is FirCallableDeclaration) {
|
||||
val parentClassSymbol = fir.containingClass()?.toSymbol(session) as? FirRegularClassSymbol
|
||||
if (fir.isSubstitutionOrIntersectionOverride) {
|
||||
parentClassSymbol?.ensureResolved(FirResolvePhase.STATUS)
|
||||
parentClassSymbol?.lazyResolveToPhase(FirResolvePhase.STATUS)
|
||||
val parentClassScope = parentClassSymbol?.unsubstitutedScope(context)
|
||||
if (this is FirNamedFunctionSymbol) {
|
||||
parentClassScope?.processDirectlyOverriddenFunctions(this) {
|
||||
@@ -188,7 +188,7 @@ object FirOptInUsageBaseChecker {
|
||||
val accessibility = fir.checkSinceKotlinVersionAccessibility(context)
|
||||
if (accessibility is FirSinceKotlinAccessibility.NotAccessibleButWasExperimental) {
|
||||
accessibility.markerClasses.forEach {
|
||||
it.ensureResolved(FirResolvePhase.STATUS)
|
||||
it.lazyResolveToPhase(FirResolvePhase.STATUS)
|
||||
result.addIfNotNull(it.fir.loadExperimentalityForMarkerAnnotation())
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -20,7 +20,7 @@ import org.jetbrains.kotlin.fir.declarations.utils.isEnumClass
|
||||
import org.jetbrains.kotlin.fir.expressions.*
|
||||
import org.jetbrains.kotlin.fir.resolvedSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirEnumEntrySymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||
@@ -221,7 +221,7 @@ object FirUninitializedEnumChecker : FirQualifiedAccessExpressionChecker() {
|
||||
|
||||
private val FirPropertySymbol.lazyDelegation: FirAnonymousFunction?
|
||||
get() {
|
||||
ensureResolved(FirResolvePhase.BODY_RESOLVE)
|
||||
lazyResolveToPhase(FirResolvePhase.BODY_RESOLVE)
|
||||
@OptIn(SymbolInternals::class)
|
||||
val property = this.fir
|
||||
if (property.delegate == null || property.delegate !is FirFunctionCall) return null
|
||||
|
||||
+2
-2
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.fir.resolved
|
||||
import org.jetbrains.kotlin.fir.resolvedSymbol
|
||||
import org.jetbrains.kotlin.fir.types.isFunctionalType
|
||||
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.types.coneType
|
||||
@@ -75,7 +75,7 @@ object UnusedChecker : FirControlFlowChecker() {
|
||||
for (dataPerLabel in dataPerNode.values) {
|
||||
val data = dataPerLabel[variableSymbol] ?: continue
|
||||
|
||||
variableSymbol.ensureResolved(FirResolvePhase.BODY_RESOLVE)
|
||||
variableSymbol.lazyResolveToPhase(FirResolvePhase.BODY_RESOLVE)
|
||||
@OptIn(SymbolInternals::class)
|
||||
val variable = variableSymbol.fir
|
||||
val variableSource = variable.source.takeIf { it?.elementType != KtNodeTypes.DESTRUCTURING_DECLARATION }
|
||||
|
||||
+2
-2
@@ -20,7 +20,7 @@ import org.jetbrains.kotlin.fir.declarations.getAnnotationByClassId
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
|
||||
import org.jetbrains.kotlin.fir.symbols.ensureResolved
|
||||
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
@@ -44,7 +44,7 @@ object FirOptInUsageTypeRefChecker : FirTypeRefChecker() {
|
||||
}
|
||||
|
||||
val symbol = coneType.lookupTag.toSymbol(context.session) ?: return
|
||||
symbol.ensureResolved(FirResolvePhase.STATUS)
|
||||
symbol.lazyResolveToPhase(FirResolvePhase.STATUS)
|
||||
val classId = symbol.classId
|
||||
val lastAnnotationCall = context.qualifiedAccessOrAnnotationCalls.lastOrNull() as? FirAnnotation
|
||||
if (lastAnnotationCall == null || lastAnnotationCall.annotationTypeRef !== typeRef) {
|
||||
|
||||
Reference in New Issue
Block a user