Revert: "FIR IDE: do not run STATUS phase under lock"
This commit is contained in:
+7
@@ -23,12 +23,16 @@ import kotlin.concurrent.withLock
|
|||||||
|
|
||||||
internal class FirPhaseRunner {
|
internal class FirPhaseRunner {
|
||||||
private val superTypesBodyResolveLock = ReentrantLock()
|
private val superTypesBodyResolveLock = ReentrantLock()
|
||||||
|
private val statusResolveLock = ReentrantLock()
|
||||||
private val implicitTypesResolveLock = ReentrantLock()
|
private val implicitTypesResolveLock = ReentrantLock()
|
||||||
|
|
||||||
fun runPhase(firFile: FirFile, phase: FirResolvePhase, scopeSession: ScopeSession) = when (phase) {
|
fun runPhase(firFile: FirFile, phase: FirResolvePhase, scopeSession: ScopeSession) = when (phase) {
|
||||||
FirResolvePhase.SUPER_TYPES -> superTypesBodyResolveLock.withLock {
|
FirResolvePhase.SUPER_TYPES -> superTypesBodyResolveLock.withLock {
|
||||||
runPhaseWithoutLock(firFile, phase, scopeSession)
|
runPhaseWithoutLock(firFile, phase, scopeSession)
|
||||||
}
|
}
|
||||||
|
FirResolvePhase.STATUS -> statusResolveLock.withLock {
|
||||||
|
runPhaseWithoutLock(firFile, phase, scopeSession)
|
||||||
|
}
|
||||||
FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE -> implicitTypesResolveLock.withLock {
|
FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE -> implicitTypesResolveLock.withLock {
|
||||||
runPhaseWithoutLock(firFile, phase, scopeSession)
|
runPhaseWithoutLock(firFile, phase, scopeSession)
|
||||||
}
|
}
|
||||||
@@ -41,6 +45,9 @@ internal class FirPhaseRunner {
|
|||||||
FirResolvePhase.SUPER_TYPES -> superTypesBodyResolveLock.withLock {
|
FirResolvePhase.SUPER_TYPES -> superTypesBodyResolveLock.withLock {
|
||||||
runPhaseWithCustomResolveWithoutLock(resolve)
|
runPhaseWithCustomResolveWithoutLock(resolve)
|
||||||
}
|
}
|
||||||
|
FirResolvePhase.STATUS -> statusResolveLock.withLock {
|
||||||
|
runPhaseWithCustomResolveWithoutLock(resolve)
|
||||||
|
}
|
||||||
FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE -> implicitTypesResolveLock.withLock {
|
FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE -> implicitTypesResolveLock.withLock {
|
||||||
runPhaseWithCustomResolveWithoutLock(resolve)
|
runPhaseWithCustomResolveWithoutLock(resolve)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user