[LL FIR] remove InvalidSessionException
it was thrown only in a case when global lock is enabled, which is not true in production and only used for some QA testing
This commit is contained in:
committed by
Space Team
parent
2e9cae4810
commit
72957b9978
+2
-11
@@ -35,14 +35,7 @@ internal class LLFirLockProvider(private val checker: LLFirLazyResolveContractCh
|
|||||||
): R {
|
): R {
|
||||||
if (!globalLockEnabled) return action()
|
if (!globalLockEnabled) return action()
|
||||||
|
|
||||||
return globalLock.lockWithPCECheck(lockingIntervalMs) {
|
return globalLock.lockWithPCECheck(lockingIntervalMs, action)
|
||||||
val session = key.llFirSession
|
|
||||||
if (!session.isValid) {
|
|
||||||
val description = session.ktModule.moduleDescription
|
|
||||||
throw InvalidSessionException("Session '$description' is invalid", description)
|
|
||||||
}
|
|
||||||
action()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun withGlobalPhaseLock(
|
fun withGlobalPhaseLock(
|
||||||
@@ -229,6 +222,4 @@ private val globalLockEnabled: Boolean by lazy(LazyThreadSafetyMode.PUBLICATION)
|
|||||||
Registry.`is`("kotlin.parallel.resolve.under.global.lock", false)
|
Registry.`is`("kotlin.parallel.resolve.under.global.lock", false)
|
||||||
}
|
}
|
||||||
|
|
||||||
private const val DEFAULT_LOCKING_INTERVAL = 50L
|
private const val DEFAULT_LOCKING_INTERVAL = 50L
|
||||||
|
|
||||||
internal class InvalidSessionException(message: String, val moduleDescription: String) : RuntimeException(message)
|
|
||||||
-9
@@ -11,7 +11,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.LLFirResolveT
|
|||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.LLFirSingleResolveTarget
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.LLFirSingleResolveTarget
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.LLFirWholeClassResolveTarget
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.LLFirWholeClassResolveTarget
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.LLFirWholeFileResolveTarget
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.LLFirWholeFileResolveTarget
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.InvalidSessionException
|
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure.llFirModuleData
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure.llFirModuleData
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSession
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSession
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.llFirSession
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.llFirSession
|
||||||
@@ -209,10 +208,6 @@ private fun handleExceptionFromResolve(
|
|||||||
fromPhase: FirResolvePhase,
|
fromPhase: FirResolvePhase,
|
||||||
toPhase: FirResolvePhase,
|
toPhase: FirResolvePhase,
|
||||||
): Nothing {
|
): Nothing {
|
||||||
if (exception is InvalidSessionException) {
|
|
||||||
throw exception
|
|
||||||
}
|
|
||||||
|
|
||||||
val session = firDeclarationToResolve.llFirSession
|
val session = firDeclarationToResolve.llFirSession
|
||||||
val moduleData = firDeclarationToResolve.llFirModuleData
|
val moduleData = firDeclarationToResolve.llFirModuleData
|
||||||
val module = moduleData.ktModule
|
val module = moduleData.ktModule
|
||||||
@@ -242,10 +237,6 @@ private fun handleExceptionFromResolve(
|
|||||||
designation: LLFirResolveTarget,
|
designation: LLFirResolveTarget,
|
||||||
toPhase: FirResolvePhase,
|
toPhase: FirResolvePhase,
|
||||||
): Nothing {
|
): Nothing {
|
||||||
if (exception is InvalidSessionException) {
|
|
||||||
throw exception
|
|
||||||
}
|
|
||||||
|
|
||||||
val session = designation.firFile.llFirSession
|
val session = designation.firFile.llFirSession
|
||||||
val moduleData = session.llFirModuleData
|
val moduleData = session.llFirModuleData
|
||||||
val module = moduleData.ktModule
|
val module = moduleData.ktModule
|
||||||
|
|||||||
Reference in New Issue
Block a user