diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/FirPhaseRunner.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/FirPhaseRunner.kt index 5e824fc4807..1f5584d74b8 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/FirPhaseRunner.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/FirPhaseRunner.kt @@ -14,12 +14,16 @@ import kotlin.concurrent.withLock internal class FirPhaseRunner(val transformerProvider: FirTransformerProvider) { private val superTypesBodyResolveLock = ReentrantLock() + private val statusResolveLock = ReentrantLock() private val implicitTypesResolveLock = ReentrantLock() fun runPhase(firFile: FirFile, phase: FirResolvePhase) = when (phase) { FirResolvePhase.SUPER_TYPES -> superTypesBodyResolveLock.withLock { runPhaseWithoutLock(firFile, phase) } + FirResolvePhase.STATUS -> statusResolveLock.withLock { + runPhaseWithoutLock(firFile, phase) + } FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE -> implicitTypesResolveLock.withLock { runPhaseWithoutLock(firFile, phase) } @@ -32,6 +36,9 @@ internal class FirPhaseRunner(val transformerProvider: FirTransformerProvider) { FirResolvePhase.SUPER_TYPES -> superTypesBodyResolveLock.withLock { runPhaseWithCustomResolveWithoutLock(resolve) } + FirResolvePhase.STATUS -> statusResolveLock.withLock { + runPhaseWithCustomResolveWithoutLock(resolve) + } FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE -> implicitTypesResolveLock.withLock { runPhaseWithCustomResolveWithoutLock(resolve) } @@ -54,4 +61,4 @@ internal class FirPhaseRunner(val transformerProvider: FirTransformerProvider) { phaseProcessor.processFile(firFile) } } -} \ No newline at end of file +}