diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/coverage/CoverageRegionCollector.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/coverage/CoverageRegionCollector.kt index 9b2fd13d317..f5466a155c4 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/coverage/CoverageRegionCollector.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/coverage/CoverageRegionCollector.kt @@ -141,7 +141,9 @@ private class IrFunctionRegionsCollector( val condition = it.condition val result = it.result - if (it is IrElseBranch) { + if (condition is IrConst<*> && condition.value == true && condition.endOffset == result.endOffset) { + // Probably an 'else' branch. + // Note: can't rely on [IrElseBranch], because IR deserializer doesn't emit it. recordRegion(result) } else { recordRegion(condition)