From 7e380e7df50893fe7ad9ae896b89458b1171d085 Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Wed, 4 Jan 2023 19:36:49 +0100 Subject: [PATCH] [LL FIR] remove LLFirPhaseRunner as it does nothing ^KT-56543 --- .../api/fir/LLFirGlobalResolveComponents.kt | 3 +-- .../low/level/api/fir/LLFirPhaseRunner.kt | 21 ------------------- .../LLFirModuleLazyDeclarationResolver.kt | 4 +--- ...edAnnotationArgumentsMappingTransformer.kt | 10 +++------ ...edAnnotationArgumentsResolveTransformer.kt | 8 ++----- ...DesignatedAnnotationsResolveTransformed.kt | 8 ++----- .../LLFirDesignatedBodyResolveTransformer.kt | 8 ++----- ...irDesignatedContractsResolveTransformer.kt | 8 ++----- ...esignatedExpectActualMatcherTransformer.kt | 8 ++----- ...eratedCompanionObjectResolveTransformer.kt | 7 ++----- ...LLFirDesignatedImplicitTypesTransformer.kt | 10 +++------ ...LLFirDesignatedStatusResolveTransformer.kt | 7 ++----- ...rDesignatedSupertypeResolverTransformer.kt | 11 ++++------ .../LLFirDesignatedTypeResolverTransformer.kt | 8 ++----- .../fir/transformers/LLFirLazyTransformer.kt | 5 ++--- .../LLFirLazyTransformerExecutor.kt | 4 +--- 16 files changed, 31 insertions(+), 99 deletions(-) delete mode 100644 analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/LLFirPhaseRunner.kt diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/LLFirGlobalResolveComponents.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/LLFirGlobalResolveComponents.kt index 41a9f32b19e..cd0b1291968 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/LLFirGlobalResolveComponents.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/LLFirGlobalResolveComponents.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ @@ -15,6 +15,5 @@ internal class LLFirGlobalResolveComponents(val project: Project) { } } - val phaseRunner: LLFirPhaseRunner = LLFirPhaseRunner() val lockProvider: LLFirLockProvider = LLFirLockProvider() } \ No newline at end of file diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/LLFirPhaseRunner.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/LLFirPhaseRunner.kt deleted file mode 100644 index 641a5b0fc07..00000000000 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/LLFirPhaseRunner.kt +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.analysis.low.level.api.fir - -import org.jetbrains.kotlin.fir.declarations.FirResolvePhase - -internal class LLFirPhaseRunner { - /** - * We temporary disable multi-locks to fix deadlocks problem - * @see org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirLockProvider - */ - inline fun runPhaseWithCustomResolve(@Suppress("UNUSED_PARAMETER") phase: FirResolvePhase, crossinline resolve: () -> Unit) = - runPhaseWithCustomResolveWithoutLock(resolve) - - private inline fun runPhaseWithCustomResolveWithoutLock(crossinline resolve: () -> Unit) { - resolve() - } -} \ No newline at end of file diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/LLFirModuleLazyDeclarationResolver.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/LLFirModuleLazyDeclarationResolver.kt index 1c1bcb213dc..f961a92abba 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/LLFirModuleLazyDeclarationResolver.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/LLFirModuleLazyDeclarationResolver.kt @@ -161,7 +161,6 @@ internal class LLFirModuleLazyDeclarationResolver(val moduleComponents: LLFirMod phase = currentPhase, designation = designation, scopeSession = scopeSession, - phaseRunner = moduleComponents.globalResolveComponents.phaseRunner, lockProvider = moduleComponents.globalResolveComponents.lockProvider, towerDataContextCollector = null ) @@ -187,9 +186,8 @@ internal class LLFirModuleLazyDeclarationResolver(val moduleComponents: LLFirMod phase = currentPhase, designation = designation, scopeSession = scopeSession, - phaseRunner = moduleComponents.globalResolveComponents.phaseRunner, lockProvider = moduleComponents.globalResolveComponents.lockProvider, - towerDataContextCollector = towerDataContextCollector + towerDataContextCollector = towerDataContextCollector, ) } } diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedAnnotationArgumentsMappingTransformer.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedAnnotationArgumentsMappingTransformer.kt index 94776019cd3..0ac19a5781b 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedAnnotationArgumentsMappingTransformer.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedAnnotationArgumentsMappingTransformer.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.transformers -import org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirPhaseRunner import org.jetbrains.kotlin.analysis.low.level.api.fir.api.FirDesignationWithFile import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.FirLazyBodiesCalculator import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.LLFirPhaseUpdater @@ -37,14 +36,11 @@ internal class LLFirDesignatedAnnotationArgumentsMappingTransformer( super.transformDeclarationContent(declaration, data) } - override fun transformDeclaration(phaseRunner: LLFirPhaseRunner) { - phaseRunner.runPhaseWithCustomResolve(FirResolvePhase.ANNOTATIONS_ARGUMENTS_MAPPING) { - FirLazyBodiesCalculator.calculateAnnotations(designation.firFile) - designation.firFile.transform(this, ResolutionMode.ContextIndependent) - } + override fun transformDeclaration() { + FirLazyBodiesCalculator.calculateAnnotations(designation.firFile) + designation.firFile.transform(this, ResolutionMode.ContextIndependent) } - override fun updatePhaseForDeclarationInternals(target: FirElementWithResolveState) { LLFirPhaseUpdater.updateDeclarationInternalsPhase( target, diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedAnnotationArgumentsResolveTransformer.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedAnnotationArgumentsResolveTransformer.kt index cbedbc1e049..b64b459702f 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedAnnotationArgumentsResolveTransformer.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedAnnotationArgumentsResolveTransformer.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.transformers -import org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirPhaseRunner import org.jetbrains.kotlin.analysis.low.level.api.fir.api.FirDesignationWithFile import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.LLFirPhaseUpdater import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.FirLazyBodiesCalculator @@ -55,12 +54,9 @@ internal class LLFirDesignatedAnnotationArgumentsResolveTransformer( } } - override fun transformDeclaration(phaseRunner: LLFirPhaseRunner) { + override fun transformDeclaration() { val designationIterator = designation.toSequenceWithFile(includeTarget = false).iterator() - - phaseRunner.runPhaseWithCustomResolve(FirResolvePhase.ARGUMENTS_OF_ANNOTATIONS) { - moveNextDeclaration(designationIterator) - } + moveNextDeclaration(designationIterator) } override fun updatePhaseForDeclarationInternals(target: FirElementWithResolveState) { diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedAnnotationsResolveTransformed.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedAnnotationsResolveTransformed.kt index 105df463e86..e1339ccee73 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedAnnotationsResolveTransformed.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedAnnotationsResolveTransformed.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.transformers -import org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirPhaseRunner import org.jetbrains.kotlin.analysis.low.level.api.fir.api.FirDesignationWithFile import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.LLFirPhaseUpdater import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.FirLazyBodiesCalculator @@ -48,12 +47,9 @@ internal class LLFirDesignatedAnnotationsResolveTransformed( } } - override fun transformDeclaration(phaseRunner: LLFirPhaseRunner) { + override fun transformDeclaration() { val designationIterator = designation.toSequenceWithFile(includeTarget = false).iterator() - - phaseRunner.runPhaseWithCustomResolve(FirResolvePhase.COMPILER_REQUIRED_ANNOTATIONS) { - moveNextDeclaration(designationIterator) - } + moveNextDeclaration(designationIterator) } diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedBodyResolveTransformer.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedBodyResolveTransformer.kt index 0d7fc108c3c..987428c2d90 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedBodyResolveTransformer.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedBodyResolveTransformer.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.transformers -import org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirPhaseRunner import org.jetbrains.kotlin.analysis.low.level.api.fir.api.FirDesignationWithFile import org.jetbrains.kotlin.analysis.low.level.api.fir.element.builder.LLFirEnsureBasedTransformerForReturnTypeCalculator import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.LLFirPhaseUpdater @@ -49,11 +48,8 @@ internal class LLFirDesignatedBodyResolveTransformer( super.transformDeclarationContent(declaration, data) } - override fun transformDeclaration(phaseRunner: LLFirPhaseRunner) { - phaseRunner.runPhaseWithCustomResolve(FirResolvePhase.BODY_RESOLVE) { - designation.firFile.transform(this, ResolutionMode.ContextIndependent) - } - + override fun transformDeclaration() { + designation.firFile.transform(this, ResolutionMode.ContextIndependent) ideDeclarationTransformer.ensureDesignationPassed() } diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedContractsResolveTransformer.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedContractsResolveTransformer.kt index 772c3358e15..44f781c150d 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedContractsResolveTransformer.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedContractsResolveTransformer.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.transformers -import org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirPhaseRunner import org.jetbrains.kotlin.analysis.low.level.api.fir.api.FirDesignationWithFile import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.FirLazyBodiesCalculator import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.LLFirPhaseUpdater @@ -43,12 +42,9 @@ internal class LLFirDesignatedContractsResolveTransformer( super.transformDeclarationContent(declaration, data) } - override fun transformDeclaration(phaseRunner: LLFirPhaseRunner) { + override fun transformDeclaration() { FirLazyBodiesCalculator.calculateLazyBodiesInside(designation) - phaseRunner.runPhaseWithCustomResolve(FirResolvePhase.CONTRACTS) { - designation.firFile.transform(this, ResolutionMode.ContextIndependent) - } - + designation.firFile.transform(this, ResolutionMode.ContextIndependent) ideDeclarationTransformer.ensureDesignationPassed() } diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedExpectActualMatcherTransformer.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedExpectActualMatcherTransformer.kt index f39119eb3ff..57604d37868 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedExpectActualMatcherTransformer.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedExpectActualMatcherTransformer.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.transformers -import org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirPhaseRunner import org.jetbrains.kotlin.analysis.low.level.api.fir.api.FirDesignationWithFile import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.FirLazyBodiesCalculator import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.LLFirPhaseUpdater @@ -40,12 +39,9 @@ internal class LLFirDesignatedExpectActualMatcherTransformer( } as FirFile } - override fun transformDeclaration(phaseRunner: LLFirPhaseRunner) { + override fun transformDeclaration() { FirLazyBodiesCalculator.calculateLazyBodiesInside(designation) - phaseRunner.runPhaseWithCustomResolve(FirResolvePhase.EXPECT_ACTUAL_MATCHING) { - designation.firFile.transform(this, null) - } - + designation.firFile.transform(this, null) declarationTransformer.ensureDesignationPassed() } diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedGeneratedCompanionObjectResolveTransformer.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedGeneratedCompanionObjectResolveTransformer.kt index 74d10c4f32b..20c30db7082 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedGeneratedCompanionObjectResolveTransformer.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedGeneratedCompanionObjectResolveTransformer.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.transformers -import org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirPhaseRunner import org.jetbrains.kotlin.analysis.low.level.api.fir.api.FirDesignationWithFile import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.LLFirPhaseUpdater import org.jetbrains.kotlin.fir.FirElementWithResolveState @@ -21,10 +20,8 @@ internal class LLFirDesignatedGeneratedCompanionObjectResolveTransformer( ) : LLFirLazyTransformer { private val transformer: FirCompanionGenerationTransformer = FirCompanionGenerationTransformer(session) - override fun transformDeclaration(phaseRunner: LLFirPhaseRunner) { - phaseRunner.runPhaseWithCustomResolve(FirResolvePhase.COMPANION_GENERATION) { - designation.target.transform(transformer, null) - } + override fun transformDeclaration() { + designation.target.transform(transformer, null) } override fun updatePhaseForDeclarationInternals(target: FirElementWithResolveState) { diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedImplicitTypesTransformer.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedImplicitTypesTransformer.kt index 603ee1ccbc6..3196ae805ad 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedImplicitTypesTransformer.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedImplicitTypesTransformer.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.transformers -import org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirPhaseRunner import org.jetbrains.kotlin.analysis.low.level.api.fir.api.FirDesignationWithFile import org.jetbrains.kotlin.analysis.low.level.api.fir.element.builder.LLFirDesignatedImpliciteTypesBodyResolveTransformerForReturnTypeCalculator import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.LLFirPhaseUpdater @@ -53,11 +52,8 @@ internal class LLFirDesignatedImplicitTypesTransformer( super.transformDeclarationContent(declaration, data) } - override fun transformDeclaration(phaseRunner: LLFirPhaseRunner) { - phaseRunner.runPhaseWithCustomResolve(FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE) { - designation.firFile.transform(this, ResolutionMode.ContextIndependent) - } - + override fun transformDeclaration() { + designation.firFile.transform(this, ResolutionMode.ContextIndependent) ideDeclarationTransformer.ensureDesignationPassed() } @@ -65,7 +61,7 @@ internal class LLFirDesignatedImplicitTypesTransformer( LLFirPhaseUpdater.updateDeclarationInternalsPhase( target, FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE, - updateForLocalDeclarations = false/* here should be true if we resolved the body*/, + updateForLocalDeclarations = false, /* here should be true if we resolved the body*/ ) } diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedStatusResolveTransformer.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedStatusResolveTransformer.kt index ed40b6ffa44..8a645681206 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedStatusResolveTransformer.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedStatusResolveTransformer.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.transformers -import org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirPhaseRunner import org.jetbrains.kotlin.analysis.low.level.api.fir.api.FirDesignationWithFile import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.LLFirPhaseUpdater import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkDeclarationStatusIsResolved @@ -76,12 +75,10 @@ internal class LLFirDesignatedStatusResolveTransformer( } - override fun transformDeclaration(phaseRunner: LLFirPhaseRunner) { + override fun transformDeclaration() { val designationIterator = designation.path.iterator() val transformer = FirDesignatedStatusResolveTransformerForIDE(designationIterator) - phaseRunner.runPhaseWithCustomResolve(FirResolvePhase.STATUS) { - transformer.moveNextDeclaration() - } + transformer.moveNextDeclaration() } override fun updatePhaseForDeclarationInternals(target: FirElementWithResolveState) { diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedSupertypeResolverTransformer.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedSupertypeResolverTransformer.kt index da60732dfbc..05dab6c3a29 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedSupertypeResolverTransformer.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedSupertypeResolverTransformer.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.transformers -import org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirPhaseRunner import org.jetbrains.kotlin.analysis.low.level.api.fir.api.FirDesignation import org.jetbrains.kotlin.analysis.low.level.api.fir.api.FirDesignationWithFile import org.jetbrains.kotlin.analysis.low.level.api.fir.api.collectDesignation @@ -154,18 +153,16 @@ internal class LLFirDesignatedSupertypeResolverTransformer( } } - override fun transformDeclaration(phaseRunner: LLFirPhaseRunner) { + override fun transformDeclaration() { val targetDesignation = if (designation.target !is FirClassLikeDeclaration) { val resolvableTarget = designation.path.lastOrNull() ?: return val targetPath = designation.path.dropLast(1) FirDesignationWithFile(targetPath, resolvableTarget, designation.firFile) } else designation - phaseRunner.runPhaseWithCustomResolve(FirResolvePhase.SUPER_TYPES) { - val collected = collect(targetDesignation) - supertypeComputationSession.breakLoops(session) - apply(collected) - } + val collected = collect(targetDesignation) + supertypeComputationSession.breakLoops(session) + apply(collected) } override fun updatePhaseForDeclarationInternals(target: FirElementWithResolveState) { diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedTypeResolverTransformer.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedTypeResolverTransformer.kt index 1dd9782bff9..25bb7391b28 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedTypeResolverTransformer.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirDesignatedTypeResolverTransformer.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.transformers -import org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirPhaseRunner import org.jetbrains.kotlin.analysis.low.level.api.fir.api.FirDesignationWithFile import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.FirLazyBodiesCalculator import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.LLFirPhaseUpdater @@ -44,11 +43,8 @@ internal class LLFirDesignatedTypeResolverTransformer( } } - override fun transformDeclaration(phaseRunner: LLFirPhaseRunner) { - phaseRunner.runPhaseWithCustomResolve(FirResolvePhase.TYPES) { - designation.firFile.transform(this, null) - } - + override fun transformDeclaration() { + designation.firFile.transform(this, null) declarationTransformer.ensureDesignationPassed() } diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirLazyTransformer.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirLazyTransformer.kt index e7d29584004..e5e6117e34b 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirLazyTransformer.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirLazyTransformer.kt @@ -6,12 +6,11 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.transformers import org.jetbrains.annotations.TestOnly -import org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirPhaseRunner import org.jetbrains.kotlin.fir.FirElementWithResolveState import org.jetbrains.kotlin.fir.declarations.* internal interface LLFirLazyTransformer { - fun transformDeclaration(phaseRunner: LLFirPhaseRunner) + fun transformDeclaration() fun checkIsResolved(target: FirElementWithResolveState) @@ -64,7 +63,7 @@ internal interface LLFirLazyTransformer { @TestOnly set val DUMMY = object : LLFirLazyTransformer { - override fun transformDeclaration(phaseRunner: LLFirPhaseRunner) {} + override fun transformDeclaration() {} override fun checkIsResolved(target: FirElementWithResolveState) {} override fun updatePhaseForDeclarationInternals(target: FirElementWithResolveState) {} } diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirLazyTransformerExecutor.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirLazyTransformerExecutor.kt index a93b728cb39..2ee82fe840b 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirLazyTransformerExecutor.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirLazyTransformerExecutor.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.transformers -import org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirPhaseRunner import org.jetbrains.kotlin.analysis.low.level.api.fir.api.FirDesignationWithFile import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirLockProvider import org.jetbrains.kotlin.fir.declarations.FirResolvePhase @@ -18,7 +17,6 @@ internal object LLFirLazyTransformerExecutor { phase: FirResolvePhase, designation: FirDesignationWithFile, scopeSession: ScopeSession, - phaseRunner: LLFirPhaseRunner, lockProvider: LLFirLockProvider, towerDataContextCollector: FirTowerDataContextCollector? ) { @@ -31,7 +29,7 @@ internal object LLFirLazyTransformerExecutor { ) lockProvider.withLock(designation.firFile) { - lazyTransformer.transformDeclaration(phaseRunner) + lazyTransformer.transformDeclaration() lazyTransformer.updatePhaseForDeclarationInternals(designation.target) designation.target.replaceResolveState(phase.asResolveState()) lazyTransformer.checkIsResolved(designation.target)