JVM_IR: unwrap suspend views when generating SAM wrappers

If the super class is in a file that has already been lowered, the base
method has an extra continuation parameter which breaks things.

Also, SAM wrappers around functional objects are tail-call and do not
need continuations ever, so don't even try.

^KT-50950 Fixed
This commit is contained in:
pyos
2022-09-16 09:47:54 +02:00
committed by Alexander Udalov
parent 309c57f860
commit 2dd49e5fb4
12 changed files with 90 additions and 13 deletions
@@ -8010,6 +8010,12 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
public void testKt49294() throws Exception {
runTest("compiler/testData/codegen/box/coroutines/featureIntersection/funInterface/kt49294.kt");
}
@Test
@TestMetadata("kt50950.kt")
public void testKt50950() throws Exception {
runTest("compiler/testData/codegen/box/coroutines/featureIntersection/funInterface/kt50950.kt");
}
}
@Nested
@@ -8100,6 +8100,12 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
public void testKt49294() throws Exception {
runTest("compiler/testData/codegen/box/coroutines/featureIntersection/funInterface/kt49294.kt");
}
@Test
@TestMetadata("kt50950.kt")
public void testKt50950() throws Exception {
runTest("compiler/testData/codegen/box/coroutines/featureIntersection/funInterface/kt50950.kt");
}
}
@Nested
@@ -7131,6 +7131,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest
public void testKt49294() throws Exception {
runTest("compiler/testData/codegen/box/coroutines/featureIntersection/funInterface/kt49294.kt");
}
@TestMetadata("kt50950.kt")
public void testKt50950() throws Exception {
runTest("compiler/testData/codegen/box/coroutines/featureIntersection/funInterface/kt50950.kt");
}
}
@TestMetadata("compiler/testData/codegen/box/coroutines/featureIntersection/jvmDefault")