JVM_IR: generate continuation classes for suspend inline references

This is somewhat suboptimal since this results in `::suspendInline`
generating 2 classes while `{ suspendInline() }` only creates 1, but
it's the best allowed by the existing hierarchy of classes in stdlib. At
least it works?

^KT-50832 Fixed
This commit is contained in:
pyos
2022-05-09 14:28:44 +02:00
committed by teamcity
parent 9f31f074da
commit b19b265735
11 changed files with 82 additions and 4 deletions
@@ -7433,6 +7433,12 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/coroutines/suspendInTheMiddleOfObjectConstructionWithJumpOut.kt");
}
@Test
@TestMetadata("suspendInlineReference.kt")
public void testSuspendInlineReference() throws Exception {
runTest("compiler/testData/codegen/box/coroutines/suspendInlineReference.kt");
}
@Test
@TestMetadata("suspendLambdaInInterface.kt")
public void testSuspendLambdaInInterface() throws Exception {
@@ -7475,6 +7475,12 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/coroutines/suspendInTheMiddleOfObjectConstructionWithJumpOut.kt");
}
@Test
@TestMetadata("suspendInlineReference.kt")
public void testSuspendInlineReference() throws Exception {
runTest("compiler/testData/codegen/box/coroutines/suspendInlineReference.kt");
}
@Test
@TestMetadata("suspendLambdaInInterface.kt")
public void testSuspendLambdaInInterface() throws Exception {
@@ -6564,6 +6564,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest
runTest("compiler/testData/codegen/box/coroutines/suspendInTheMiddleOfObjectConstructionWithJumpOut.kt");
}
@TestMetadata("suspendInlineReference.kt")
public void testSuspendInlineReference() throws Exception {
runTest("compiler/testData/codegen/box/coroutines/suspendInlineReference.kt");
}
@TestMetadata("suspendLambdaInInterface.kt")
public void testSuspendLambdaInInterface() throws Exception {
runTest("compiler/testData/codegen/box/coroutines/suspendLambdaInInterface.kt");