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 6ad61194371..b40b2928780 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 @@ -10519,6 +10519,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/coroutines/kt55494.kt"); } + @Test + @TestMetadata("kt56407.kt") + public void testKt56407() throws Exception { + runTest("compiler/testData/codegen/box/coroutines/kt56407.kt"); + } + @Test @TestMetadata("lastExpressionIsLoop.kt") public void testLastExpressionIsLoop() throws Exception { diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/irTypes.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/irTypes.kt index 166eab4253e..08da69ac17a 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/irTypes.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/irTypes.kt @@ -192,6 +192,10 @@ val IrClass.typeConstructorParameters: Sequence // Ideally this should be fixed in FE. null } + current is IrSimpleFunction && current.isStatic -> { + // Static functions don't capture type parameters. + null + } current.isAnonymousObject -> { // Anonymous classes don't capture type parameters. null diff --git a/compiler/testData/codegen/box/coroutines/kt56407.ir.txt b/compiler/testData/codegen/box/coroutines/kt56407.ir.txt new file mode 100644 index 00000000000..7ee822c74e7 --- /dev/null +++ b/compiler/testData/codegen/box/coroutines/kt56407.ir.txt @@ -0,0 +1,90 @@ +@kotlin.Metadata +public interface Client { + // source: 'kt56407.kt' + public abstract @org.jetbrains.annotations.Nullable method connectToServer(@org.jetbrains.annotations.NotNull p0: kotlin.coroutines.Continuation): java.lang.Object +} + +@kotlin.coroutines.jvm.internal.DebugMetadata +@kotlin.Metadata +final class DefaultAuthorizableClient$connectToServer$2 { + // source: 'kt56407.kt' + enclosing method DefaultAuthorizableClient.connectToServer$suspendImpl(LDefaultAuthorizableClient;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + synthetic final field $nextObjectQuery: DefaultAuthorizableClient$connectToServer$NextObjectQuery + field label: int + synthetic final field this$0: DefaultAuthorizableClient + inner (anonymous) class DefaultAuthorizableClient$connectToServer$2 + inner (local) class DefaultAuthorizableClient$connectToServer$NextObjectQuery NextObjectQuery + method (p0: DefaultAuthorizableClient, p1: DefaultAuthorizableClient$connectToServer$NextObjectQuery, p2: kotlin.coroutines.Continuation): void + public final @org.jetbrains.annotations.NotNull method create(@org.jetbrains.annotations.Nullable p0: java.lang.Object, @org.jetbrains.annotations.NotNull p1: kotlin.coroutines.Continuation): kotlin.coroutines.Continuation + public final @org.jetbrains.annotations.Nullable method invoke(@org.jetbrains.annotations.NotNull p0: java.lang.String, @org.jetbrains.annotations.Nullable p1: kotlin.coroutines.Continuation): java.lang.Object + public synthetic bridge method invoke(p0: java.lang.Object, p1: java.lang.Object): java.lang.Object + public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object +} + +@kotlin.Metadata +public final class DefaultAuthorizableClient$connectToServer$NextObjectQuery { + // source: 'kt56407.kt' + enclosing method DefaultAuthorizableClient.connectToServer$suspendImpl(LDefaultAuthorizableClient;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + inner (local) class DefaultAuthorizableClient$connectToServer$NextObjectQuery NextObjectQuery + public method (): void +} + +@kotlin.Metadata +public abstract class DefaultAuthorizableClient { + // source: 'kt56407.kt' + inner (anonymous) class DefaultAuthorizableClient$connectToServer$2 + inner (local) class DefaultAuthorizableClient$connectToServer$NextObjectQuery NextObjectQuery + public method (): void + synthetic static method connectToServer$suspendImpl(p0: DefaultAuthorizableClient, p1: kotlin.coroutines.Continuation): java.lang.Object + public @org.jetbrains.annotations.Nullable method connectToServer(@org.jetbrains.annotations.NotNull p0: kotlin.coroutines.Continuation): java.lang.Object +} + +@kotlin.Metadata +public final class Kt56407Kt$box$1$1 { + // source: 'kt56407.kt' + enclosing method Kt56407Kt$box$1.invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; + inner (anonymous) class Kt56407Kt$box$1 + inner (anonymous) class Kt56407Kt$box$1$1 + method (): void +} + +@kotlin.coroutines.jvm.internal.DebugMetadata +@kotlin.Metadata +final class Kt56407Kt$box$1 { + // source: 'kt56407.kt' + enclosing method Kt56407Kt.box()Ljava/lang/String; + field label: int + inner (anonymous) class Kt56407Kt$box$1 + inner (anonymous) class Kt56407Kt$box$1$1 + method (p0: kotlin.coroutines.Continuation): void + public final @org.jetbrains.annotations.NotNull method create(@org.jetbrains.annotations.Nullable p0: java.lang.Object, @org.jetbrains.annotations.NotNull p1: kotlin.coroutines.Continuation): kotlin.coroutines.Continuation + public final @org.jetbrains.annotations.Nullable method invoke(@org.jetbrains.annotations.NotNull p0: java.lang.String, @org.jetbrains.annotations.Nullable p1: kotlin.coroutines.Continuation): java.lang.Object + public synthetic bridge method invoke(p0: java.lang.Object, p1: java.lang.Object): java.lang.Object + public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object +} + +@kotlin.Metadata +public final class Kt56407Kt$builder$$inlined$Continuation$1 { + // source: 'Continuation.kt' + enclosing method Kt56407Kt.builder(Lkotlin/jvm/functions/Function2;)V + synthetic final field $context: kotlin.coroutines.CoroutineContext + inner (anonymous) class Kt56407Kt$builder$$inlined$Continuation$1 + public method (p0: kotlin.coroutines.CoroutineContext): void + public @org.jetbrains.annotations.NotNull method getContext(): kotlin.coroutines.CoroutineContext + public method resumeWith(@org.jetbrains.annotations.NotNull p0: java.lang.Object): void +} + +@kotlin.Metadata +public final class Kt56407Kt { + // source: 'kt56407.kt' + inner (anonymous) class Kt56407Kt$box$1 + public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String + public final static method builder(@org.jetbrains.annotations.NotNull p0: kotlin.jvm.functions.Function2): void + private final static method consumeEach$$forInline(p0: java.lang.Object, p1: kotlin.jvm.functions.Function1, p2: kotlin.coroutines.Continuation): java.lang.Object + public final static @org.jetbrains.annotations.Nullable method consumeEach(p0: java.lang.Object, @org.jetbrains.annotations.NotNull p1: kotlin.jvm.functions.Function1, @org.jetbrains.annotations.NotNull p2: kotlin.coroutines.Continuation): java.lang.Object +} + +@kotlin.Metadata +public interface ServerBase { + // source: 'kt56407.kt' +} diff --git a/compiler/testData/codegen/box/coroutines/kt56407.kt b/compiler/testData/codegen/box/coroutines/kt56407.kt new file mode 100644 index 00000000000..cf4397021fc --- /dev/null +++ b/compiler/testData/codegen/box/coroutines/kt56407.kt @@ -0,0 +1,40 @@ +// WITH_STDLIB +// CHECK_BYTECODE_LISTING + +import kotlin.coroutines.* + +interface ServerBase + +interface Client { + suspend fun connectToServer() +} + +public suspend inline fun E.consumeEach(action: (E) -> Unit): Unit = action(this) + +fun builder(c: suspend (String) -> Unit) { + c.startCoroutine("", Continuation(EmptyCoroutineContext) { + it.getOrThrow() + }) +} + +abstract class DefaultAuthorizableClient : Client { + override suspend fun connectToServer() { + class NextObjectQuery + + val nextObjectQuery = NextObjectQuery() + + builder { + consumeEach { nextObjectQuery } + } + + } +} + +fun box(): String { + builder { + // make sure all classfiles are loaded + object : DefaultAuthorizableClient() {}.connectToServer() + } + + return "OK" +} \ No newline at end of file diff --git a/compiler/testData/codegen/box/coroutines/kt56407.txt b/compiler/testData/codegen/box/coroutines/kt56407.txt new file mode 100644 index 00000000000..c2bc17a06e4 --- /dev/null +++ b/compiler/testData/codegen/box/coroutines/kt56407.txt @@ -0,0 +1,87 @@ +@kotlin.Metadata +public interface Client { + // source: 'kt56407.kt' + public abstract @org.jetbrains.annotations.Nullable method connectToServer(@org.jetbrains.annotations.NotNull p0: kotlin.coroutines.Continuation): java.lang.Object +} + +@kotlin.coroutines.jvm.internal.DebugMetadata +@kotlin.Metadata +final class DefaultAuthorizableClient$connectToServer$2 { + // source: 'kt56407.kt' + enclosing method DefaultAuthorizableClient.connectToServer(Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + synthetic final field $nextObjectQuery: DefaultAuthorizableClient$connectToServer$NextObjectQuery + field label: int + synthetic final field this$0: DefaultAuthorizableClient + inner (anonymous) class DefaultAuthorizableClient$connectToServer$2 + method (p0: DefaultAuthorizableClient, p1: DefaultAuthorizableClient$connectToServer$NextObjectQuery, p2: kotlin.coroutines.Continuation): void + public final @org.jetbrains.annotations.NotNull method create(@org.jetbrains.annotations.Nullable p0: java.lang.Object, @org.jetbrains.annotations.NotNull p1: kotlin.coroutines.Continuation): kotlin.coroutines.Continuation + public final method invoke(p0: java.lang.Object, p1: java.lang.Object): java.lang.Object + public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object +} + +@kotlin.Metadata +public final class DefaultAuthorizableClient$connectToServer$NextObjectQuery { + // source: 'kt56407.kt' + enclosing method DefaultAuthorizableClient.connectToServer(Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + inner (local) class DefaultAuthorizableClient$connectToServer$NextObjectQuery NextObjectQuery + public method (): void +} + +@kotlin.Metadata +public abstract class DefaultAuthorizableClient { + // source: 'kt56407.kt' + inner (anonymous) class DefaultAuthorizableClient$connectToServer$2 + inner (local) class DefaultAuthorizableClient$connectToServer$NextObjectQuery NextObjectQuery + public method (): void + synthetic static method connectToServer$suspendImpl(p0: DefaultAuthorizableClient, p1: kotlin.coroutines.Continuation): java.lang.Object + public @org.jetbrains.annotations.Nullable method connectToServer(@org.jetbrains.annotations.NotNull p0: kotlin.coroutines.Continuation): java.lang.Object +} + +@kotlin.Metadata +public final class Kt56407Kt$box$1$1 { + // source: 'kt56407.kt' + enclosing method Kt56407Kt$box$1.invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; + inner (anonymous) class Kt56407Kt$box$1 + inner (anonymous) class Kt56407Kt$box$1$1 + method (): void +} + +@kotlin.coroutines.jvm.internal.DebugMetadata +@kotlin.Metadata +final class Kt56407Kt$box$1 { + // source: 'kt56407.kt' + enclosing method Kt56407Kt.box()Ljava/lang/String; + field label: int + inner (anonymous) class Kt56407Kt$box$1 + inner (anonymous) class Kt56407Kt$box$1$1 + method (p0: kotlin.coroutines.Continuation): void + public final @org.jetbrains.annotations.NotNull method create(@org.jetbrains.annotations.Nullable p0: java.lang.Object, @org.jetbrains.annotations.NotNull p1: kotlin.coroutines.Continuation): kotlin.coroutines.Continuation + public final method invoke(p0: java.lang.Object, p1: java.lang.Object): java.lang.Object + public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object +} + +@kotlin.Metadata +public final class Kt56407Kt$builder$$inlined$Continuation$1 { + // source: 'Continuation.kt' + enclosing method Kt56407Kt.builder(Lkotlin/jvm/functions/Function2;)V + synthetic final field $context: kotlin.coroutines.CoroutineContext + inner (anonymous) class Kt56407Kt$builder$$inlined$Continuation$1 + public method (p0: kotlin.coroutines.CoroutineContext): void + public @org.jetbrains.annotations.NotNull method getContext(): kotlin.coroutines.CoroutineContext + public method resumeWith(@org.jetbrains.annotations.NotNull p0: java.lang.Object): void +} + +@kotlin.Metadata +public final class Kt56407Kt { + // source: 'kt56407.kt' + inner (anonymous) class Kt56407Kt$box$1 + public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String + public final static method builder(@org.jetbrains.annotations.NotNull p0: kotlin.jvm.functions.Function2): void + private final static @org.jetbrains.annotations.Nullable method consumeEach$$forInline(p0: java.lang.Object, @org.jetbrains.annotations.NotNull p1: kotlin.jvm.functions.Function1, @org.jetbrains.annotations.NotNull p2: kotlin.coroutines.Continuation): java.lang.Object + public final static @org.jetbrains.annotations.Nullable method consumeEach(p0: java.lang.Object, @org.jetbrains.annotations.NotNull p1: kotlin.jvm.functions.Function1, @org.jetbrains.annotations.NotNull p2: kotlin.coroutines.Continuation): java.lang.Object +} + +@kotlin.Metadata +public interface ServerBase { + // source: 'kt56407.kt' +} 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 094009909bd..1c5787609b1 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 @@ -10321,6 +10321,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/coroutines/kt55494.kt"); } + @Test + @TestMetadata("kt56407.kt") + public void testKt56407() throws Exception { + runTest("compiler/testData/codegen/box/coroutines/kt56407.kt"); + } + @Test @TestMetadata("lastExpressionIsLoop.kt") public void testLastExpressionIsLoop() 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 788a8804696..f7b6b526b5a 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 @@ -10519,6 +10519,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/coroutines/kt55494.kt"); } + @Test + @TestMetadata("kt56407.kt") + public void testKt56407() throws Exception { + runTest("compiler/testData/codegen/box/coroutines/kt56407.kt"); + } + @Test @TestMetadata("lastExpressionIsLoop.kt") public void testLastExpressionIsLoop() 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 fb2502f53d1..17cb6d1c123 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -8117,6 +8117,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/coroutines/kt55494.kt"); } + @TestMetadata("kt56407.kt") + public void testKt56407() throws Exception { + runTest("compiler/testData/codegen/box/coroutines/kt56407.kt"); + } + @TestMetadata("lastExpressionIsLoop.kt") public void testLastExpressionIsLoop() throws Exception { runTest("compiler/testData/codegen/box/coroutines/lastExpressionIsLoop.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java index ceae145f63e..f59b56f4e09 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java @@ -7299,6 +7299,12 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/coroutines/kt55494.kt"); } + @Test + @TestMetadata("kt56407.kt") + public void testKt56407() throws Exception { + runTest("compiler/testData/codegen/box/coroutines/kt56407.kt"); + } + @Test @TestMetadata("lastExpressionIsLoop.kt") public void testLastExpressionIsLoop() throws Exception { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenBoxTestGenerated.java index 2768f36f276..badeaec9c60 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenBoxTestGenerated.java @@ -7395,6 +7395,12 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest { runTest("compiler/testData/codegen/box/coroutines/kt55494.kt"); } + @Test + @TestMetadata("kt56407.kt") + public void testKt56407() throws Exception { + runTest("compiler/testData/codegen/box/coroutines/kt56407.kt"); + } + @Test @TestMetadata("lastExpressionIsLoop.kt") public void testLastExpressionIsLoop() throws Exception { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java index 2739dd9ae4d..01efb9d8b8e 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java @@ -7395,6 +7395,12 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/coroutines/kt55494.kt"); } + @Test + @TestMetadata("kt56407.kt") + public void testKt56407() throws Exception { + runTest("compiler/testData/codegen/box/coroutines/kt56407.kt"); + } + @Test @TestMetadata("lastExpressionIsLoop.kt") public void testLastExpressionIsLoop() throws Exception { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6CodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6CodegenBoxTestGenerated.java index ef2641db658..8b8de5810d3 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6CodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6CodegenBoxTestGenerated.java @@ -7395,6 +7395,12 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes runTest("compiler/testData/codegen/box/coroutines/kt55494.kt"); } + @Test + @TestMetadata("kt56407.kt") + public void testKt56407() throws Exception { + runTest("compiler/testData/codegen/box/coroutines/kt56407.kt"); + } + @Test @TestMetadata("lastExpressionIsLoop.kt") public void testLastExpressionIsLoop() throws Exception { diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/K2NativeCodegenBoxTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/K2NativeCodegenBoxTestGenerated.java index 553fb7347a3..cf0bf526be3 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/K2NativeCodegenBoxTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/K2NativeCodegenBoxTestGenerated.java @@ -8352,6 +8352,12 @@ public class K2NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTes runTest("compiler/testData/codegen/box/coroutines/kt55494.kt"); } + @Test + @TestMetadata("kt56407.kt") + public void testKt56407() throws Exception { + runTest("compiler/testData/codegen/box/coroutines/kt56407.kt"); + } + @Test @TestMetadata("lastExpressionIsLoop.kt") public void testLastExpressionIsLoop() throws Exception { diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java index 7ded8a695e5..d07a1c00049 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java @@ -8263,6 +8263,12 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest runTest("compiler/testData/codegen/box/coroutines/kt55494.kt"); } + @Test + @TestMetadata("kt56407.kt") + public void testKt56407() throws Exception { + runTest("compiler/testData/codegen/box/coroutines/kt56407.kt"); + } + @Test @TestMetadata("lastExpressionIsLoop.kt") public void testLastExpressionIsLoop() throws Exception { diff --git a/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/IrCodegenBoxWasmTestGenerated.java b/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/IrCodegenBoxWasmTestGenerated.java index adbb2760305..58ae980209c 100644 --- a/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/IrCodegenBoxWasmTestGenerated.java +++ b/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/IrCodegenBoxWasmTestGenerated.java @@ -6497,6 +6497,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest runTest("compiler/testData/codegen/box/coroutines/kt55494.kt"); } + @TestMetadata("kt56407.kt") + public void testKt56407() throws Exception { + runTest("compiler/testData/codegen/box/coroutines/kt56407.kt"); + } + @TestMetadata("lastExpressionIsLoop.kt") public void testLastExpressionIsLoop() throws Exception { runTest("compiler/testData/codegen/box/coroutines/lastExpressionIsLoop.kt");