Fix outer class accesses inside suspendImpl functions

We need to generate this$0 fields to get to the outer class and generate
accesses to these fields inside suspendImpl function.
 #KT-46214 Fixed
This commit is contained in:
Ilmir Usmanov
2021-04-27 03:22:58 +02:00
parent 71365d2452
commit 0c0710bb79
9 changed files with 123 additions and 0 deletions
@@ -6879,6 +6879,11 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes
runTest("compiler/testData/codegen/box/coroutines/featureIntersection/overrideInInlineClass.kt");
}
@TestMetadata("overrideInInnerClass.kt")
public void testOverrideInInnerClass() throws Exception {
runTest("compiler/testData/codegen/box/coroutines/featureIntersection/overrideInInnerClass.kt");
}
@TestMetadata("safeCallOnTwoReceivers.kt")
public void testSafeCallOnTwoReceivers() throws Exception {
runTest("compiler/testData/codegen/box/coroutines/featureIntersection/safeCallOnTwoReceivers.kt");
@@ -6290,6 +6290,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/coroutines/featureIntersection/overrideInInlineClass.kt");
}
@TestMetadata("overrideInInnerClass.kt")
public void testOverrideInInnerClass() throws Exception {
runTest("compiler/testData/codegen/box/coroutines/featureIntersection/overrideInInnerClass.kt");
}
@TestMetadata("safeCallOnTwoReceivers.kt")
public void testSafeCallOnTwoReceivers() throws Exception {
runTest("compiler/testData/codegen/box/coroutines/featureIntersection/safeCallOnTwoReceivers.kt");
@@ -6290,6 +6290,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/coroutines/featureIntersection/overrideInInlineClass.kt");
}
@TestMetadata("overrideInInnerClass.kt")
public void testOverrideInInnerClass() throws Exception {
runTest("compiler/testData/codegen/box/coroutines/featureIntersection/overrideInInnerClass.kt");
}
@TestMetadata("safeCallOnTwoReceivers.kt")
public void testSafeCallOnTwoReceivers() throws Exception {
runTest("compiler/testData/codegen/box/coroutines/featureIntersection/safeCallOnTwoReceivers.kt");