diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirAnnotationArgumentMappingLazyResolver.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirAnnotationArgumentMappingLazyResolver.kt index 83787bd64da..2af3ad4d67c 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirAnnotationArgumentMappingLazyResolver.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirAnnotationArgumentMappingLazyResolver.kt @@ -9,7 +9,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.LLFirResolveT import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirLockProvider import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.FirLazyBodiesCalculator.calculateAnnotations import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkAnnotationArgumentsMappingIsResolved -import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkPhase import org.jetbrains.kotlin.analysis.low.level.api.fir.util.expressionGuard import org.jetbrains.kotlin.fir.* import org.jetbrains.kotlin.fir.declarations.* @@ -35,13 +34,9 @@ internal object LLFirAnnotationArgumentMappingLazyResolver : LLFirLazyResolver(F resolver.resolveDesignation() } - override fun checkIsResolved(target: FirElementWithResolveState) { - target.checkPhase(resolverPhase) - if (target is FirAnnotationContainer) { - checkAnnotationArgumentsMappingIsResolved(target) - } - - checkNestedDeclarationsAreResolved(target) + override fun phaseSpecificCheckIsResolved(target: FirElementWithResolveState) { + if (target !is FirAnnotationContainer) return + checkAnnotationArgumentsMappingIsResolved(target) } } diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirAnnotationArgumentsLazyResolver.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirAnnotationArgumentsLazyResolver.kt index 50089bc8ac0..2b420518883 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirAnnotationArgumentsLazyResolver.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirAnnotationArgumentsLazyResolver.kt @@ -9,7 +9,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.LLFirResolveT import org.jetbrains.kotlin.analysis.low.level.api.fir.api.throwUnexpectedFirElementError import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirLockProvider import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.FirLazyBodiesCalculator -import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkPhase import org.jetbrains.kotlin.fir.FirElementWithResolveState import org.jetbrains.kotlin.fir.FirFileAnnotationsContainer import org.jetbrains.kotlin.fir.FirSession @@ -33,11 +32,6 @@ internal object LLFirAnnotationArgumentsLazyResolver : LLFirLazyResolver(FirReso val resolver = LLFirAnnotationArgumentsTargetResolver(target, lockProvider, session, scopeSession, towerDataContextCollector) resolver.resolveDesignation() } - - override fun checkIsResolved(target: FirElementWithResolveState) { - target.checkPhase(resolverPhase) - checkNestedDeclarationsAreResolved(target) - } } private class LLFirAnnotationArgumentsTargetResolver( diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirBodyLazyResolver.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirBodyLazyResolver.kt index 39478f750c4..ed5d0455231 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirBodyLazyResolver.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirBodyLazyResolver.kt @@ -48,8 +48,7 @@ internal object LLFirBodyLazyResolver : LLFirLazyResolver(FirResolvePhase.BODY_R resolver.resolveDesignation() } - override fun checkIsResolved(target: FirElementWithResolveState) { - target.checkPhase(resolverPhase) + override fun phaseSpecificCheckIsResolved(target: FirElementWithResolveState) { when (target) { is FirValueParameter -> checkDefaultValueIsResolved(target) is FirVariable -> checkInitializerIsResolved(target) @@ -59,8 +58,6 @@ internal object LLFirBodyLazyResolver : LLFirLazyResolver(FirResolvePhase.BODY_R } is FirFunction -> checkBodyIsResolved(target) } - - checkNestedDeclarationsAreResolved(target) } } @@ -146,7 +143,8 @@ private class LLFirBodyTargetResolver( is FirScript -> resolve(target, BodyStateKeepers.SCRIPT) is FirDanglingModifierList, is FirFileAnnotationsContainer, - is FirTypeAlias -> { + is FirTypeAlias, + -> { // No bodies here } else -> throwUnexpectedFirElementError(target) diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirCompilerAnnotationsLazyResolver.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirCompilerAnnotationsLazyResolver.kt index 2fe61918797..8b767a09137 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirCompilerAnnotationsLazyResolver.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirCompilerAnnotationsLazyResolver.kt @@ -13,7 +13,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirLockPro import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.FirLazyBodiesCalculator import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.llFirSession import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkDeprecationProviderIsResolved -import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkPhase import org.jetbrains.kotlin.analysis.utils.errors.requireIsInstance import org.jetbrains.kotlin.fir.FirAnnotationContainer import org.jetbrains.kotlin.fir.FirElementWithResolveState @@ -45,14 +44,11 @@ internal object LLFirCompilerAnnotationsLazyResolver : LLFirLazyResolver(FirReso resolver.resolveDesignation() } - override fun checkIsResolved(target: FirElementWithResolveState) { - target.checkPhase(resolverPhase) + override fun phaseSpecificCheckIsResolved(target: FirElementWithResolveState) { when (target) { is FirClassLikeDeclaration -> checkDeprecationProviderIsResolved(target, target.deprecationsProvider) is FirCallableDeclaration -> checkDeprecationProviderIsResolved(target, target.deprecationsProvider) } - - checkNestedDeclarationsAreResolved(target) } } diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirContractsLazyResolver.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirContractsLazyResolver.kt index 27151710452..d90977fed83 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirContractsLazyResolver.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirContractsLazyResolver.kt @@ -8,7 +8,6 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.transformers import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.LLFirResolveTarget import org.jetbrains.kotlin.analysis.low.level.api.fir.api.throwUnexpectedFirElementError import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirLockProvider -import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkPhase import org.jetbrains.kotlin.analysis.low.level.api.fir.util.blockGuard import org.jetbrains.kotlin.analysis.low.level.api.fir.util.isCallableWithSpecialBody import org.jetbrains.kotlin.fir.FirElementWithResolveState @@ -32,12 +31,9 @@ internal object LLFirContractsLazyResolver : LLFirLazyResolver(FirResolvePhase.C resolver.resolveDesignation() } - override fun checkIsResolved(target: FirElementWithResolveState) { - target.checkPhase(resolverPhase) - if (target is FirContractDescriptionOwner) { - // TODO checkContractDescriptionIsResolved(declaration) - } - checkNestedDeclarationsAreResolved(target) + override fun phaseSpecificCheckIsResolved(target: FirElementWithResolveState) { + if (target !is FirContractDescriptionOwner) return + // TODO checkContractDescriptionIsResolved(declaration) } } @@ -67,7 +63,8 @@ private class LLFirContractsTargetResolver( is FirAnonymousInitializer, is FirScript, is FirFileAnnotationsContainer, - is FirDanglingModifierList -> { + is FirDanglingModifierList, + -> { // No contracts here check(target !is FirContractDescriptionOwner) { "Unexpected contract description owner: $target (${target.javaClass.name})" diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirExpectActualMatcherLazyResolver.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirExpectActualMatcherLazyResolver.kt index 24b620c06c5..a45ed2835e9 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirExpectActualMatcherLazyResolver.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirExpectActualMatcherLazyResolver.kt @@ -8,7 +8,6 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.transformers import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.LLFirResolveTarget import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirLockProvider import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkExpectForActualIsResolved -import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkPhase import org.jetbrains.kotlin.fir.FirElementWithResolveState import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.declarations.* @@ -29,13 +28,9 @@ internal object LLFirExpectActualMatcherLazyResolver : LLFirLazyResolver(FirReso resolver.resolveDesignation() } - override fun checkIsResolved(target: FirElementWithResolveState) { - target.checkPhase(resolverPhase) - if (target is FirMemberDeclaration && target.canHaveExpectCounterPart()) { - checkExpectForActualIsResolved(target) - } - - checkNestedDeclarationsAreResolved(target) + override fun phaseSpecificCheckIsResolved(target: FirElementWithResolveState) { + if (target !is FirMemberDeclaration || !target.canHaveExpectCounterPart()) return + checkExpectForActualIsResolved(target) } } diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirGeneratedCompanionObjectLazyResolver.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirGeneratedCompanionObjectLazyResolver.kt index 4db0c59afc3..27abced46f0 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirGeneratedCompanionObjectLazyResolver.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirGeneratedCompanionObjectLazyResolver.kt @@ -7,7 +7,6 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.transformers import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.LLFirResolveTarget import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirLockProvider -import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkPhase import org.jetbrains.kotlin.fir.FirElementWithResolveState import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.declarations.FirFile @@ -28,10 +27,6 @@ internal object LLFirGeneratedCompanionObjectLazyResolver : LLFirLazyResolver(Fi val resolver = LLFirCompanionGenerationTargetResolver(target, lockProvider, session) resolver.resolveDesignation() } - - override fun checkIsResolved(target: FirElementWithResolveState) { - target.checkPhase(resolverPhase) - } } private class LLFirCompanionGenerationTargetResolver( diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirImplicitTypesLazyResolver.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirImplicitTypesLazyResolver.kt index c5f914cd73b..f616e0d499a 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirImplicitTypesLazyResolver.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirImplicitTypesLazyResolver.kt @@ -8,7 +8,6 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.transformers import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.LLFirResolveTarget import org.jetbrains.kotlin.analysis.low.level.api.fir.api.throwUnexpectedFirElementError import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirLockProvider -import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkPhase import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkReturnTypeRefIsResolved import org.jetbrains.kotlin.fir.FirElementWithResolveState import org.jetbrains.kotlin.fir.FirFileAnnotationsContainer @@ -32,13 +31,9 @@ internal object LLFirImplicitTypesLazyResolver : LLFirLazyResolver(FirResolvePha resolver.resolveDesignation() } - override fun checkIsResolved(target: FirElementWithResolveState) { - target.checkPhase(resolverPhase) - if (target is FirCallableDeclaration) { - checkReturnTypeRefIsResolved(target) - } - - checkNestedDeclarationsAreResolved(target) + override fun phaseSpecificCheckIsResolved(target: FirElementWithResolveState) { + if (target !is FirCallableDeclaration) return + checkReturnTypeRefIsResolved(target) } } @@ -79,7 +74,8 @@ internal class LLFirImplicitBodyTargetResolver( is FirScript, is FirAnonymousInitializer, is FirDanglingModifierList, - is FirFileAnnotationsContainer -> { + is FirFileAnnotationsContainer, + -> { // No implicit bodies here } else -> throwUnexpectedFirElementError(target) diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirLazyResolver.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirLazyResolver.kt index 09edffa66c1..d62b18c7a23 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirLazyResolver.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirLazyResolver.kt @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.transformers import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.LLFirResolveTarget import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirLockProvider import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.LLFirPhaseUpdater +import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkPhase import org.jetbrains.kotlin.fir.FirElementWithResolveState import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.declarations.* @@ -25,7 +26,18 @@ internal abstract class LLFirLazyResolver( towerDataContextCollector: FirResolveContextCollector?, ) - abstract fun checkIsResolved(target: FirElementWithResolveState) + fun checkIsResolved(target: FirElementWithResolveState) { + target.checkPhase(resolverPhase) + phaseSpecificCheckIsResolved(target) + checkNestedDeclarationsAreResolved(target) + } + + /** + * Check that phase-specific conditions are met + * Will be performed to resolved declaration and its nested declarations + * @see checkNestedDeclarationsAreResolved + */ + protected open fun phaseSpecificCheckIsResolved(target: FirElementWithResolveState) {} fun updatePhaseForDeclarationInternals(target: FirElementWithResolveState) { LLFirPhaseUpdater.updateDeclarationInternalsPhase( @@ -39,8 +51,9 @@ internal abstract class LLFirLazyResolver( designation.forEachTarget(::checkIsResolved) } - protected fun checkNestedDeclarationsAreResolved(target: FirElementWithResolveState) { + private fun checkNestedDeclarationsAreResolved(target: FirElementWithResolveState) { if (target !is FirDeclaration) return + checkFunctionParametersAreResolved(target) checkPropertyAccessorsAreResolved(target) checkPropertyBackingFieldIsResolved(target) diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirSealedClassInheritorsLazyResolver.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirSealedClassInheritorsLazyResolver.kt index bfae91bc0e6..5d9fc08539b 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirSealedClassInheritorsLazyResolver.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirSealedClassInheritorsLazyResolver.kt @@ -7,7 +7,6 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.transformers import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.LLFirResolveTarget import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirLockProvider -import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkPhase import org.jetbrains.kotlin.fir.FirElementWithResolveState import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.declarations.FirFile @@ -27,11 +26,6 @@ internal object LLFirSealedClassInheritorsLazyResolver : LLFirLazyResolver(FirRe val resolver = LLFirSealedClassInheritorsDesignatedResolver(target, lockProvider) resolver.resolveDesignation() } - - override fun checkIsResolved(target: FirElementWithResolveState) { - target.checkPhase(resolverPhase) - checkNestedDeclarationsAreResolved(target) - } } diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirStatusLazyResolver.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirStatusLazyResolver.kt index ece434734b0..6774a8ee106 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirStatusLazyResolver.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirStatusLazyResolver.kt @@ -11,7 +11,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.asResolveTarg import org.jetbrains.kotlin.analysis.low.level.api.fir.api.tryCollectDesignationWithFile import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirLockProvider import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkDeclarationStatusIsResolved -import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkPhase import org.jetbrains.kotlin.fir.FirElementWithResolveState import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.declarations.* @@ -43,16 +42,9 @@ internal object LLFirStatusLazyResolver : LLFirLazyResolver(FirResolvePhase.STAT resolver.resolveDesignation() } - override fun checkIsResolved(target: FirElementWithResolveState) { - if (target !is FirAnonymousInitializer) { - target.checkPhase(resolverPhase) - } - - if (target is FirMemberDeclaration) { - checkDeclarationStatusIsResolved(target) - } - - checkNestedDeclarationsAreResolved(target) + override fun phaseSpecificCheckIsResolved(target: FirElementWithResolveState) { + if (target !is FirMemberDeclaration) return + checkDeclarationStatusIsResolved(target) } } diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirSupertypeLazyResolver.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirSupertypeLazyResolver.kt index 3cd682e20af..5bde95cdd5a 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirSupertypeLazyResolver.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirSupertypeLazyResolver.kt @@ -10,7 +10,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.LLFirSingleRe import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.asResolveTarget import org.jetbrains.kotlin.analysis.low.level.api.fir.api.tryCollectDesignationWithFile import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirLockProvider -import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkPhase import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkTypeRefIsResolved import org.jetbrains.kotlin.fir.FirElementWithResolveState import org.jetbrains.kotlin.fir.FirSession @@ -41,8 +40,7 @@ internal object LLFirSupertypeLazyResolver : LLFirLazyResolver(FirResolvePhase.S resolver.resolveDesignation() } - override fun checkIsResolved(target: FirElementWithResolveState) { - target.checkPhase(resolverPhase) + override fun phaseSpecificCheckIsResolved(target: FirElementWithResolveState) { when (target) { is FirClass -> { for (superTypeRef in target.superTypeRefs) { @@ -53,8 +51,6 @@ internal object LLFirSupertypeLazyResolver : LLFirLazyResolver(FirResolvePhase.S is FirTypeAlias -> { checkTypeRefIsResolved(target.expandedTypeRef, typeRefName = "type alias expanded type", target) } - - else -> {} } } } diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirTypeLazyResolver.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirTypeLazyResolver.kt index f78f2b15f76..35a0a6d7068 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirTypeLazyResolver.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirTypeLazyResolver.kt @@ -9,7 +9,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.LLFirResolveT import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirLockProvider import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.FirLazyBodiesCalculator import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkAnnotationTypeIsResolved -import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkPhase import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkReceiverTypeRefIsResolved import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkReturnTypeRefIsResolved import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkTypeRefIsResolved @@ -40,8 +39,7 @@ internal object LLFirTypeLazyResolver : LLFirLazyResolver(FirResolvePhase.TYPES) resolver.resolveDesignation() } - override fun checkIsResolved(target: FirElementWithResolveState) { - target.checkPhase(resolverPhase) + override fun phaseSpecificCheckIsResolved(target: FirElementWithResolveState) { if (target is FirAnnotationContainer) { checkAnnotationTypeIsResolved(target) } @@ -63,11 +61,7 @@ internal object LLFirTypeLazyResolver : LLFirLazyResolver(FirResolvePhase.TYPES) checkTypeRefIsResolved(bound, "type parameter bound", target) } } - - else -> {} } - - checkNestedDeclarationsAreResolved(target) } }