Fix suspend function with inline class types in reflection

#KT-34024 Fixed
This commit is contained in:
Alexander Udalov
2020-10-27 10:53:23 +01:00
parent 56f7e34e3e
commit dd33ed9297
11 changed files with 234 additions and 21 deletions
@@ -28290,6 +28290,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
public void testProperties() throws Exception {
runTest("compiler/testData/codegen/box/reflection/call/inlineClasses/properties.kt");
}
@TestMetadata("suspendFunction.kt")
public void testSuspendFunction() throws Exception {
runTest("compiler/testData/codegen/box/reflection/call/inlineClasses/suspendFunction.kt");
}
}
}
@@ -29188,11 +29193,6 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/reflection/mapping/functions.kt");
}
@TestMetadata("inlineClassPrimaryVal.kt")
public void testInlineClassPrimaryVal() throws Exception {
runTest("compiler/testData/codegen/box/reflection/mapping/inlineClassPrimaryVal.kt");
}
@TestMetadata("inlineReifiedFun.kt")
public void testInlineReifiedFun() throws Exception {
runTest("compiler/testData/codegen/box/reflection/mapping/inlineReifiedFun.kt");
@@ -29281,6 +29281,29 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
}
}
@TestMetadata("compiler/testData/codegen/box/reflection/mapping/inlineClasses")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class InlineClasses extends AbstractBlackBoxCodegenTest {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM, testDataFilePath);
}
public void testAllFilesPresentInInlineClasses() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/reflection/mapping/inlineClasses"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true);
}
@TestMetadata("inlineClassPrimaryVal.kt")
public void testInlineClassPrimaryVal() throws Exception {
runTest("compiler/testData/codegen/box/reflection/mapping/inlineClasses/inlineClassPrimaryVal.kt");
}
@TestMetadata("suspendFunctionWithInlineClassInSignature.kt")
public void testSuspendFunctionWithInlineClassInSignature() throws Exception {
runTest("compiler/testData/codegen/box/reflection/mapping/inlineClasses/suspendFunctionWithInlineClassInSignature.kt");
}
}
@TestMetadata("compiler/testData/codegen/box/reflection/mapping/jvmStatic")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)