From f9fe82e735d1778a882f477fff40f24e9daaba95 Mon Sep 17 00:00:00 2001 From: Zalim Bashorov Date: Tue, 17 Nov 2020 02:18:50 +0300 Subject: [PATCH] [IR] KotlinLikeDumper: process specially when IrElseBranch's condition is not `true` constant --- .../src/org/jetbrains/kotlin/ir/util/KotlinLikeDumper.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/KotlinLikeDumper.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/KotlinLikeDumper.kt index 208844f60da..cfce8015a99 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/KotlinLikeDumper.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/KotlinLikeDumper.kt @@ -1173,8 +1173,13 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption override fun visitElseBranch(branch: IrElseBranch, data: IrDeclaration?) { p.printIndent() - // TODO assert that condition is `true` - p.printWithNoIndent("else -> ") + if ((branch.condition as? IrConst<*>)?.value == true) { + p.printWithNoIndent("else") + } else { + p.printWithNoIndent("/* else */ ") + branch.condition.accept(this, data) + } + p.printWithNoIndent(" -> ") branch.result.accept(this, data) p.println() }