[LL FIR] remove LLFirPhaseRunner as it does nothing
^KT-56543
This commit is contained in:
committed by
Space Team
parent
72fce82f2f
commit
7e380e7df5
+1
-2
@@ -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()
|
||||
}
|
||||
-21
@@ -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()
|
||||
}
|
||||
}
|
||||
+1
-3
@@ -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,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
+3
-7
@@ -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<FirFile, ResolutionMode>(this, ResolutionMode.ContextIndependent)
|
||||
}
|
||||
override fun transformDeclaration() {
|
||||
FirLazyBodiesCalculator.calculateAnnotations(designation.firFile)
|
||||
designation.firFile.transform<FirFile, ResolutionMode>(this, ResolutionMode.ContextIndependent)
|
||||
}
|
||||
|
||||
|
||||
override fun updatePhaseForDeclarationInternals(target: FirElementWithResolveState) {
|
||||
LLFirPhaseUpdater.updateDeclarationInternalsPhase(
|
||||
target,
|
||||
|
||||
+2
-6
@@ -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) {
|
||||
|
||||
+2
-6
@@ -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)
|
||||
}
|
||||
|
||||
|
||||
|
||||
+2
-6
@@ -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<FirFile, ResolutionMode>(this, ResolutionMode.ContextIndependent)
|
||||
}
|
||||
|
||||
override fun transformDeclaration() {
|
||||
designation.firFile.transform<FirFile, ResolutionMode>(this, ResolutionMode.ContextIndependent)
|
||||
ideDeclarationTransformer.ensureDesignationPassed()
|
||||
}
|
||||
|
||||
|
||||
+2
-6
@@ -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<FirFile, ResolutionMode>(this, ResolutionMode.ContextIndependent)
|
||||
}
|
||||
|
||||
designation.firFile.transform<FirFile, ResolutionMode>(this, ResolutionMode.ContextIndependent)
|
||||
ideDeclarationTransformer.ensureDesignationPassed()
|
||||
}
|
||||
|
||||
|
||||
+2
-6
@@ -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<FirFile, Nothing?>(this, null)
|
||||
}
|
||||
|
||||
designation.firFile.transform<FirFile, Nothing?>(this, null)
|
||||
declarationTransformer.ensureDesignationPassed()
|
||||
}
|
||||
|
||||
|
||||
+2
-5
@@ -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<FirDeclaration, Nothing?>(transformer, null)
|
||||
}
|
||||
override fun transformDeclaration() {
|
||||
designation.target.transform<FirDeclaration, Nothing?>(transformer, null)
|
||||
}
|
||||
|
||||
override fun updatePhaseForDeclarationInternals(target: FirElementWithResolveState) {
|
||||
|
||||
+3
-7
@@ -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<FirFile, ResolutionMode>(this, ResolutionMode.ContextIndependent)
|
||||
}
|
||||
|
||||
override fun transformDeclaration() {
|
||||
designation.firFile.transform<FirFile, ResolutionMode>(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*/
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
+2
-5
@@ -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) {
|
||||
|
||||
+4
-7
@@ -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) {
|
||||
|
||||
+2
-6
@@ -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<FirFile, Any?>(this, null)
|
||||
}
|
||||
|
||||
override fun transformDeclaration() {
|
||||
designation.firFile.transform<FirFile, Any?>(this, null)
|
||||
declarationTransformer.ensureDesignationPassed()
|
||||
}
|
||||
|
||||
|
||||
+2
-3
@@ -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) {}
|
||||
}
|
||||
|
||||
+1
-3
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user