[K2] Properly evaluate complex boolean constants

Some boolean expressions could be transformed into `IrWhen`
node. To understand that this node is actually
a boolean expression, we need to analyze its origin.

#KT-62683
This commit is contained in:
Ivan Kylchik
2023-11-14 12:49:18 +01:00
committed by Space Team
parent ede77ea29c
commit 3fa82c7bb1
19 changed files with 114 additions and 9 deletions
@@ -29654,6 +29654,12 @@ public class LLFirBlackBoxCodegenBasedTestGenerated extends AbstractLLFirBlackBo
runTest("compiler/testData/codegen/box/involvesIrInterpreter/charOperations.kt");
}
@Test
@TestMetadata("complexBooleanConstant.kt")
public void testComplexBooleanConstant() throws Exception {
runTest("compiler/testData/codegen/box/involvesIrInterpreter/complexBooleanConstant.kt");
}
@Test
@TestMetadata("doubleOperations.kt")
public void testDoubleOperations() throws Exception {
@@ -29654,6 +29654,12 @@ public class LLFirReversedBlackBoxCodegenBasedTestGenerated extends AbstractLLFi
runTest("compiler/testData/codegen/box/involvesIrInterpreter/charOperations.kt");
}
@Test
@TestMetadata("complexBooleanConstant.kt")
public void testComplexBooleanConstant() throws Exception {
runTest("compiler/testData/codegen/box/involvesIrInterpreter/complexBooleanConstant.kt");
}
@Test
@TestMetadata("doubleOperations.kt")
public void testDoubleOperations() throws Exception {