Support calling methods annotated with PolymorphicSignature

#KT-14416 Fixed
 #KT-26165 Fixed
This commit is contained in:
Alexander Udalov
2018-11-12 17:38:42 +01:00
parent b940418604
commit a796f11934
18 changed files with 595 additions and 25 deletions
@@ -16773,6 +16773,49 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
}
}
@TestMetadata("compiler/testData/codegen/box/polymorphicSignature")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class PolymorphicSignature extends AbstractBlackBoxCodegenTest {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM, testDataFilePath);
}
public void testAllFilesPresentInPolymorphicSignature() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/box/polymorphicSignature"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.JVM, true);
}
@TestMetadata("anonymousSubclass.kt")
public void testAnonymousSubclass() throws Exception {
runTest("compiler/testData/codegen/box/polymorphicSignature/anonymousSubclass.kt");
}
@TestMetadata("invoke.kt")
public void testInvoke() throws Exception {
runTest("compiler/testData/codegen/box/polymorphicSignature/invoke.kt");
}
@TestMetadata("invokeExact.kt")
public void testInvokeExact() throws Exception {
runTest("compiler/testData/codegen/box/polymorphicSignature/invokeExact.kt");
}
@TestMetadata("invokeExactWithInlineClass.kt")
public void testInvokeExactWithInlineClass() throws Exception {
runTest("compiler/testData/codegen/box/polymorphicSignature/invokeExactWithInlineClass.kt");
}
@TestMetadata("varargOfObjects_after.kt")
public void testVarargOfObjects_after() throws Exception {
runTest("compiler/testData/codegen/box/polymorphicSignature/varargOfObjects_after.kt");
}
@TestMetadata("varargOfObjects_before.kt")
public void testVarargOfObjects_before() throws Exception {
runTest("compiler/testData/codegen/box/polymorphicSignature/varargOfObjects_before.kt");
}
}
@TestMetadata("compiler/testData/codegen/box/primitiveTypes")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)