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 e6fbcaba8fd..31d66909665 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 @@ -23,12 +23,16 @@ import kotlin.concurrent.withLock internal class FirPhaseRunner { private val superTypesBodyResolveLock = ReentrantLock() + private val statusResolveLock = ReentrantLock() private val implicitTypesResolveLock = ReentrantLock() fun runPhase(firFile: FirFile, phase: FirResolvePhase, scopeSession: ScopeSession) = when (phase) { FirResolvePhase.SUPER_TYPES -> superTypesBodyResolveLock.withLock { runPhaseWithoutLock(firFile, phase, scopeSession) } + FirResolvePhase.STATUS -> statusResolveLock.withLock { + runPhaseWithoutLock(firFile, phase, scopeSession) + } FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE -> implicitTypesResolveLock.withLock { runPhaseWithoutLock(firFile, phase, scopeSession) } @@ -41,6 +45,9 @@ internal class FirPhaseRunner { FirResolvePhase.SUPER_TYPES -> superTypesBodyResolveLock.withLock { runPhaseWithCustomResolveWithoutLock(resolve) } + FirResolvePhase.STATUS -> statusResolveLock.withLock { + runPhaseWithCustomResolveWithoutLock(resolve) + } FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE -> implicitTypesResolveLock.withLock { runPhaseWithCustomResolveWithoutLock(resolve) }