[FIR2IR] Don't replace while loop and when branch body blocks with single expression. Skip some empty blocks.

https://youtrack.jetbrains.com/issue/KT-60264/K2-while-loop-body-block-sometimes-replaced-with-single-expression

Merge-request: KT-MR-12035
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
This commit is contained in:
Vladimir Sukharev
2023-09-18 15:27:19 +00:00
committed by Space Team
parent f4df4f8007
commit 9a2eff6487
61 changed files with 601 additions and 1102 deletions
@@ -1,12 +1,15 @@
fun test(b: Boolean, i: Int) {
when {
b -> { // BLOCK
val tmp0_subject: Int = i
when {
EQEQ(arg0 = tmp0_subject, arg1 = 0) -> 1
else -> null
{ // BLOCK
val tmp0_subject: Int = i
when {
EQEQ(arg0 = tmp0_subject, arg1 = 0) -> 1
else -> null
}
}
}
else -> null
} /*~> Unit */
}