diff --git a/compiler/testData/codegen/boxWithStdlib/when/switchOptimizationDense.kt b/compiler/testData/codegen/boxWithStdlib/when/switchOptimizationDense.kt new file mode 100644 index 00000000000..d9d70c34f45 --- /dev/null +++ b/compiler/testData/codegen/boxWithStdlib/when/switchOptimizationDense.kt @@ -0,0 +1,25 @@ +import java.util.ArrayList + +fun dense(x: Int): Int { + return when (x) { + -4 -> 9 + -1 -> 10 + 0 -> 11 + 1 -> 12 + 4 -> 13 + 5 -> 14 + 6 -> 15 + 7 -> 16 + 8 -> 17 + 9 -> 18 + else -> 19 + } +} + +fun box(): String { + var result = (-5..10).map(::dense).makeString() + + if (result != "19, 9, 19, 19, 10, 11, 12, 19, 19, 13, 14, 15, 16, 17, 18, 19") return "dense:" + result + return "OK" +} + diff --git a/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxWithStdlibCodegenTestGenerated.java b/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxWithStdlibCodegenTestGenerated.java index 144df4567ba..171b92d6b5e 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxWithStdlibCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxWithStdlibCodegenTestGenerated.java @@ -1090,6 +1090,11 @@ public class BlackBoxWithStdlibCodegenTestGenerated extends AbstractBlackBoxCode JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.TestsPackage", new File("compiler/testData/codegen/boxWithStdlib/when"), Pattern.compile("^(.+)\\.kt$"), true); } + @TestMetadata("switchOptimizationDense.kt") + public void testSwitchOptimizationDense() throws Exception { + doTestWithStdlib("compiler/testData/codegen/boxWithStdlib/when/switchOptimizationDense.kt"); + } + @TestMetadata("switchOptimizationMultipleConditions.kt") public void testSwitchOptimizationMultipleConditions() throws Exception { doTestWithStdlib("compiler/testData/codegen/boxWithStdlib/when/switchOptimizationMultipleConditions.kt");