From 8724bc952559e9798b3200b7861bb7fd77b89285 Mon Sep 17 00:00:00 2001 From: pyos Date: Fri, 3 Sep 2021 13:42:52 +0200 Subject: [PATCH] Add test for KT-48478 --- .../FirBlackBoxCodegenTestGenerated.java | 6 +++++ .../suspendUnitConversion.kt | 22 +++++++++++++++++++ .../codegen/BlackBoxCodegenTestGenerated.java | 6 +++++ .../IrBlackBoxCodegenTestGenerated.java | 6 +++++ .../LightAnalysisModeTestGenerated.java | 5 +++++ .../IrJsCodegenBoxES6TestGenerated.java | 5 +++++ .../IrJsCodegenBoxTestGenerated.java | 5 +++++ .../semantics/JsCodegenBoxTestGenerated.java | 5 +++++ .../IrCodegenBoxWasmTestGenerated.java | 5 +++++ 9 files changed, 65 insertions(+) create mode 100644 compiler/testData/codegen/box/callableReference/adaptedReferences/suspendUnitConversion.kt diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java index a97dfc79248..dc245a1516f 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java @@ -2949,6 +2949,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/callableReference/adaptedReferences/simpleEmptyVararg.kt"); } + @Test + @TestMetadata("suspendUnitConversion.kt") + public void testSuspendUnitConversion() throws Exception { + runTest("compiler/testData/codegen/box/callableReference/adaptedReferences/suspendUnitConversion.kt"); + } + @Test @TestMetadata("toStringNoReflect.kt") public void testToStringNoReflect() throws Exception { diff --git a/compiler/testData/codegen/box/callableReference/adaptedReferences/suspendUnitConversion.kt b/compiler/testData/codegen/box/callableReference/adaptedReferences/suspendUnitConversion.kt new file mode 100644 index 00000000000..5a9e7bde227 --- /dev/null +++ b/compiler/testData/codegen/box/callableReference/adaptedReferences/suspendUnitConversion.kt @@ -0,0 +1,22 @@ +// WITH_COROUTINES +// WITH_RUNTIME +// IGNORE_BACKEND: WASM +import helpers.* +import kotlin.coroutines.* +import kotlin.coroutines.intrinsics.* + +suspend fun foo(x: suspend () -> Unit) = x() + +suspend fun bar(): Int = suspendCoroutineUninterceptedOrReturn { + it.resume(1) + COROUTINE_SUSPENDED +} + +fun box(): String { + var result = "" + suspend { + foo(::bar) + result += "OK" + }.startCoroutine(EmptyContinuation) + return result +} diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java index da9d002bbc5..d5acf51e039 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java @@ -2877,6 +2877,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/callableReference/adaptedReferences/simpleEmptyVararg.kt"); } + @Test + @TestMetadata("suspendUnitConversion.kt") + public void testSuspendUnitConversion() throws Exception { + runTest("compiler/testData/codegen/box/callableReference/adaptedReferences/suspendUnitConversion.kt"); + } + @Test @TestMetadata("toStringNoReflect.kt") public void testToStringNoReflect() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java index 662a4d1d8b3..1796eec1fad 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java @@ -2949,6 +2949,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/callableReference/adaptedReferences/simpleEmptyVararg.kt"); } + @Test + @TestMetadata("suspendUnitConversion.kt") + public void testSuspendUnitConversion() throws Exception { + runTest("compiler/testData/codegen/box/callableReference/adaptedReferences/suspendUnitConversion.kt"); + } + @Test @TestMetadata("toStringNoReflect.kt") public void testToStringNoReflect() throws Exception { diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index 4adc98386a7..d893542b426 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -2523,6 +2523,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/callableReference/adaptedReferences/simpleEmptyVararg.kt"); } + @TestMetadata("suspendUnitConversion.kt") + public void testSuspendUnitConversion() throws Exception { + runTest("compiler/testData/codegen/box/callableReference/adaptedReferences/suspendUnitConversion.kt"); + } + @TestMetadata("toStringNoReflect.kt") public void testToStringNoReflect() throws Exception { runTest("compiler/testData/codegen/box/callableReference/adaptedReferences/toStringNoReflect.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java index b8499348749..db31da25348 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java @@ -1728,6 +1728,11 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes runTest("compiler/testData/codegen/box/callableReference/adaptedReferences/simpleEmptyVararg.kt"); } + @TestMetadata("suspendUnitConversion.kt") + public void testSuspendUnitConversion() throws Exception { + runTest("compiler/testData/codegen/box/callableReference/adaptedReferences/suspendUnitConversion.kt"); + } + @TestMetadata("unboundReferences.kt") public void testUnboundReferences() throws Exception { runTest("compiler/testData/codegen/box/callableReference/adaptedReferences/unboundReferences.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java index b984a282eb5..14226cd9581 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java @@ -1728,6 +1728,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/callableReference/adaptedReferences/simpleEmptyVararg.kt"); } + @TestMetadata("suspendUnitConversion.kt") + public void testSuspendUnitConversion() throws Exception { + runTest("compiler/testData/codegen/box/callableReference/adaptedReferences/suspendUnitConversion.kt"); + } + @TestMetadata("unboundReferences.kt") public void testUnboundReferences() throws Exception { runTest("compiler/testData/codegen/box/callableReference/adaptedReferences/unboundReferences.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java index 5af52a10121..4cf00937436 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java @@ -1708,6 +1708,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/callableReference/adaptedReferences/simpleEmptyVararg.kt"); } + @TestMetadata("suspendUnitConversion.kt") + public void testSuspendUnitConversion() throws Exception { + runTest("compiler/testData/codegen/box/callableReference/adaptedReferences/suspendUnitConversion.kt"); + } + @TestMetadata("unboundReferences.kt") public void testUnboundReferences() throws Exception { runTest("compiler/testData/codegen/box/callableReference/adaptedReferences/unboundReferences.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java index 645df21ba38..698c179459e 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java @@ -1478,6 +1478,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest runTest("compiler/testData/codegen/box/callableReference/adaptedReferences/simpleEmptyVararg.kt"); } + @TestMetadata("suspendUnitConversion.kt") + public void testSuspendUnitConversion() throws Exception { + runTest("compiler/testData/codegen/box/callableReference/adaptedReferences/suspendUnitConversion.kt"); + } + @TestMetadata("unboundReferences.kt") public void testUnboundReferences() throws Exception { runTest("compiler/testData/codegen/box/callableReference/adaptedReferences/unboundReferences.kt");