From 99688e5c805df514c5d3dd014d16e5fae47863c8 Mon Sep 17 00:00:00 2001 From: Artem Kobzar Date: Thu, 14 Oct 2021 14:57:35 +0000 Subject: [PATCH] test(KT-47096): add tests for the uncovered behavior. --- .../FirBlackBoxCodegenTestGenerated.java | 6 ++++ .../box/vararg/useSuspendFunResultAsVararg.kt | 36 +++++++++++++++++++ .../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, 79 insertions(+) create mode 100644 compiler/testData/codegen/box/vararg/useSuspendFunResultAsVararg.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 b6d59a959b5..532d612fae8 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 @@ -43934,6 +43934,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/vararg/spreadCopiesArray.kt"); } + @Test + @TestMetadata("useSuspendFunResultAsVararg.kt") + public void testUseSuspendFunResultAsVararg() throws Exception { + runTest("compiler/testData/codegen/box/vararg/useSuspendFunResultAsVararg.kt"); + } + @Test @TestMetadata("varargInFunParam.kt") public void testVarargInFunParam() throws Exception { diff --git a/compiler/testData/codegen/box/vararg/useSuspendFunResultAsVararg.kt b/compiler/testData/codegen/box/vararg/useSuspendFunResultAsVararg.kt new file mode 100644 index 00000000000..6cfce62137a --- /dev/null +++ b/compiler/testData/codegen/box/vararg/useSuspendFunResultAsVararg.kt @@ -0,0 +1,36 @@ +// WITH_RUNTIME +// WITH_COROUTINES + +import helpers.* +import kotlin.coroutines.* + +fun builder(c: suspend () -> Unit) { + c.startCoroutine(EmptyContinuation) +} + +class TodoItem(var value: String, var completed: Boolean) { + override fun toString(): String { + return "TodoItem(value='$value', completed=$completed)" + } +} + +suspend fun getFromApi(): TodoItem { + return TodoItem("Test", false) +} + +fun emulateLog(vararg strings: String): String { + return strings[0] +} + +fun box(): String { + var stringifiedResult = "" + + builder { + stringifiedResult = emulateLog("Result: " + getFromApi()) + } + + if (stringifiedResult != "Result: TodoItem(value='Test', completed=false)") { + return "Failed: Unexpected result ($stringifiedResult)" + } + return "OK" +} \ No newline at end of file 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 585b204c38e..a1530c7410d 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 @@ -43772,6 +43772,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/vararg/spreadCopiesArray.kt"); } + @Test + @TestMetadata("useSuspendFunResultAsVararg.kt") + public void testUseSuspendFunResultAsVararg() throws Exception { + runTest("compiler/testData/codegen/box/vararg/useSuspendFunResultAsVararg.kt"); + } + @Test @TestMetadata("varargInFunParam.kt") public void testVarargInFunParam() 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 a65c1a2023d..be1326a208f 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 @@ -43934,6 +43934,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/vararg/spreadCopiesArray.kt"); } + @Test + @TestMetadata("useSuspendFunResultAsVararg.kt") + public void testUseSuspendFunResultAsVararg() throws Exception { + runTest("compiler/testData/codegen/box/vararg/useSuspendFunResultAsVararg.kt"); + } + @Test @TestMetadata("varargInFunParam.kt") public void testVarargInFunParam() 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 5579fb059b7..9f5dd59475b 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -35355,6 +35355,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/vararg/spreadCopiesArray.kt"); } + @TestMetadata("useSuspendFunResultAsVararg.kt") + public void testUseSuspendFunResultAsVararg() throws Exception { + runTest("compiler/testData/codegen/box/vararg/useSuspendFunResultAsVararg.kt"); + } + @TestMetadata("varargInFunParam.kt") public void testVarargInFunParam() throws Exception { runTest("compiler/testData/codegen/box/vararg/varargInFunParam.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 9b69d544d09..e6a88925cbc 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 @@ -29325,6 +29325,11 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes runTest("compiler/testData/codegen/box/vararg/spreadCopiesArray.kt"); } + @TestMetadata("useSuspendFunResultAsVararg.kt") + public void testUseSuspendFunResultAsVararg() throws Exception { + runTest("compiler/testData/codegen/box/vararg/useSuspendFunResultAsVararg.kt"); + } + @TestMetadata("varargInFunParam.kt") public void testVarargInFunParam() throws Exception { runTest("compiler/testData/codegen/box/vararg/varargInFunParam.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 e1b5c3083e1..82f8f00eda0 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 @@ -28731,6 +28731,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/vararg/spreadCopiesArray.kt"); } + @TestMetadata("useSuspendFunResultAsVararg.kt") + public void testUseSuspendFunResultAsVararg() throws Exception { + runTest("compiler/testData/codegen/box/vararg/useSuspendFunResultAsVararg.kt"); + } + @TestMetadata("varargInFunParam.kt") public void testVarargInFunParam() throws Exception { runTest("compiler/testData/codegen/box/vararg/varargInFunParam.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 bc5109ce696..c0636a23e82 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 @@ -28646,6 +28646,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/vararg/spreadCopiesArray.kt"); } + @TestMetadata("useSuspendFunResultAsVararg.kt") + public void testUseSuspendFunResultAsVararg() throws Exception { + runTest("compiler/testData/codegen/box/vararg/useSuspendFunResultAsVararg.kt"); + } + @TestMetadata("varargInFunParam.kt") public void testVarargInFunParam() throws Exception { runTest("compiler/testData/codegen/box/vararg/varargInFunParam.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 1a44f32b2d6..52327f6d432 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 @@ -25067,6 +25067,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest runTest("compiler/testData/codegen/box/vararg/spreadCopiesArray.kt"); } + @TestMetadata("useSuspendFunResultAsVararg.kt") + public void testUseSuspendFunResultAsVararg() throws Exception { + runTest("compiler/testData/codegen/box/vararg/useSuspendFunResultAsVararg.kt"); + } + @TestMetadata("varargInFunParam.kt") public void testVarargInFunParam() throws Exception { runTest("compiler/testData/codegen/box/vararg/varargInFunParam.kt");