From 0675b54e11745d7a46041674739fe369a0fc7462 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Fri, 8 Nov 2019 12:27:32 +0100 Subject: [PATCH] Minor, add regression test for KT-34766 --- .../box/inlineClasses/whenWithSubject.kt | 20 +++++++++++++++++++ .../codegen/BlackBoxCodegenTestGenerated.java | 5 +++++ .../LightAnalysisModeTestGenerated.java | 5 +++++ .../ir/IrBlackBoxCodegenTestGenerated.java | 5 +++++ .../IrJsCodegenBoxTestGenerated.java | 5 +++++ .../semantics/JsCodegenBoxTestGenerated.java | 5 +++++ 6 files changed, 45 insertions(+) create mode 100644 compiler/testData/codegen/box/inlineClasses/whenWithSubject.kt diff --git a/compiler/testData/codegen/box/inlineClasses/whenWithSubject.kt b/compiler/testData/codegen/box/inlineClasses/whenWithSubject.kt new file mode 100644 index 00000000000..4da791e7909 --- /dev/null +++ b/compiler/testData/codegen/box/inlineClasses/whenWithSubject.kt @@ -0,0 +1,20 @@ +inline class InlineLong(val value: Long) +inline val Number.toInlineLong get() = InlineLong(this.toLong()) + +fun box(): String { + val value = 0 + + val withoutSubject = when (value.toInlineLong) { + 0.toInlineLong -> true + else -> false + } + if (!withoutSubject) return "Fail: without subject" + + val withSubject = when (val subject = value.toInlineLong) { + 0.toInlineLong -> true + else -> false + } + if (!withSubject) return "Fail: with subject" + + return "OK" +} diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java index 3ad8d9c6ca7..047314e5429 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java @@ -13003,6 +13003,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/inlineClasses/useThisInsideInlineClass.kt"); } + @TestMetadata("whenWithSubject.kt") + public void testWhenWithSubject() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/whenWithSubject.kt"); + } + @TestMetadata("compiler/testData/codegen/box/inlineClasses/callableReferences") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index 5f63154631e..bc2be130af6 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -13003,6 +13003,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/inlineClasses/useThisInsideInlineClass.kt"); } + @TestMetadata("whenWithSubject.kt") + public void testWhenWithSubject() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/whenWithSubject.kt"); + } + @TestMetadata("compiler/testData/codegen/box/inlineClasses/callableReferences") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java index f46768d4adf..476e0f5fc72 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java @@ -11883,6 +11883,11 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/inlineClasses/useThisInsideInlineClass.kt"); } + @TestMetadata("whenWithSubject.kt") + public void testWhenWithSubject() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/whenWithSubject.kt"); + } + @TestMetadata("compiler/testData/codegen/box/inlineClasses/callableReferences") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java index effa6d6577f..6e395d33c51 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java @@ -10298,6 +10298,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/inlineClasses/useThisInsideInlineClass.kt"); } + @TestMetadata("whenWithSubject.kt") + public void testWhenWithSubject() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/whenWithSubject.kt"); + } + @TestMetadata("compiler/testData/codegen/box/inlineClasses/callableReferences") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java index ee81288cfc8..9ef1fbb055c 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java @@ -11413,6 +11413,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/inlineClasses/useThisInsideInlineClass.kt"); } + @TestMetadata("whenWithSubject.kt") + public void testWhenWithSubject() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/whenWithSubject.kt"); + } + @TestMetadata("compiler/testData/codegen/box/inlineClasses/callableReferences") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class)