diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/util/utils.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/util/utils.kt index 5b855665615..3abddb1a79b 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/util/utils.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/util/utils.kt @@ -25,21 +25,17 @@ internal inline fun executeWithoutPCE(crossinline action: () -> T): T { } internal inline fun Lock.lockWithPCECheck(lockingIntervalMs: Long, action: () -> T): T { - var needToRun = true - var result: T? = null - while (needToRun) { + while (true) { checkCanceled() if (tryLock(lockingIntervalMs, TimeUnit.MILLISECONDS)) { try { checkCanceled() - needToRun = false - result = action() + return action() } finally { unlock() } } } - return result!! } @Suppress("NOTHING_TO_INLINE")