Fix deserialization of kotlin.suspend when LV=1.3 is used
Before this change, kotlin.suspend was being loaded as having a common function type instead of suspend function type. With LV=1.3, we expect that suspend function types should have new Continuation interface as a last type argument, while kotlin.suspend is built with LV=1.2 and has old Continuation. This change might be reverted once stdlib will be rebuilt with LV=1.3 NB: kotlin.suspend doesn't need to be intrinsified since it only returns its parameter with checkcast to kotlinin.jvm.functions.Function1 (i.e., it doesn't refer the coroutines package) #KT-24861 Fixed
This commit is contained in:
+9
-2
@@ -7493,8 +7493,15 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
||||
}
|
||||
|
||||
@TestMetadata("suspendModifier.kt")
|
||||
public void testSuspendModifier() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/suspendFunctionTypeCall/suspendModifier.kt");
|
||||
public void testSuspendModifier_1_2() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/coroutines/suspendFunctionTypeCall/suspendModifier.kt");
|
||||
doTestWithCoroutinesPackageReplacement(fileName, "kotlin.coroutines.experimental");
|
||||
}
|
||||
|
||||
@TestMetadata("suspendModifier.kt")
|
||||
public void testSuspendModifier_1_3() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/coroutines/suspendFunctionTypeCall/suspendModifier.kt");
|
||||
doTestWithCoroutinesPackageReplacement(fileName, "kotlin.coroutines");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user