From 69fa067df9b6d9c6459aa1a415d43c0bc145ebd7 Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Wed, 27 May 2020 00:26:32 +0300 Subject: [PATCH] Fix compiler bootstrap (1.4.0-dev-9205) --- .../lower/IfNullExpressionsFusionLowering.kt | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/IfNullExpressionsFusionLowering.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/IfNullExpressionsFusionLowering.kt index e3284bcc3db..891768fb3e1 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/IfNullExpressionsFusionLowering.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/IfNullExpressionsFusionLowering.kt @@ -177,16 +177,13 @@ class IfNullExpressionsFusionLowering(val context: CommonBackendContext) : FileL return IfNullExpr(whenExpr.type, subjectVar, branch0.result, elseResult) } - private fun IrBranch.getElseBranchResultOrNull() = - when { - this is IrElseBranch -> - result - // deserialization generates a simple branch with const 'true' condition - condition is IrConst<*> && condition.value == true -> - result - else -> - null - } + private fun IrBranch.getElseBranchResultOrNull(): IrExpression? { + val branchCondition = condition + return if (branchCondition is IrConst<*> && branchCondition.value == true) + result + else + null + } private fun IrExpression.isTrivial() = this is IrExpressionWithCopy