Fix for KT-9637: Runtime crash when using class literal in inline functions with reified type parameters

#KT-9637 Fixed
This commit is contained in:
Michael Bogdanov
2015-10-29 16:23:41 +03:00
parent 34fccc6dae
commit f3092bf390
8 changed files with 83 additions and 8 deletions
@@ -65,7 +65,6 @@ public object InlineTestUtil {
val cr = ClassReader(bytes)
val inlineFunctions = inlineFunctionsJvmNames(bytes)
if (inlineFunctions.isEmpty()) continue
val classVisitor = object : ClassVisitorWithName() {
override fun visitMethod(access: Int, name: String, desc: String, signature: String?, exceptions: Array<String>?): MethodVisitor {
@@ -1108,6 +1108,18 @@ public class BlackBoxInlineCodegenTestGenerated extends AbstractBlackBoxInlineCo
doTestMultiFileWithInlineCheck(fileName);
}
@TestMetadata("kt9637.1.kt")
public void testKt9637() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/reified/kt9637.1.kt");
doTestMultiFileWithInlineCheck(fileName);
}
@TestMetadata("kt9637_2.1.kt")
public void testKt9637_2() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/reified/kt9637_2.1.kt");
doTestMultiFileWithInlineCheck(fileName);
}
@TestMetadata("packages.1.kt")
public void testPackages() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/reified/packages.1.kt");
@@ -1108,6 +1108,18 @@ public class CompileKotlinAgainstInlineKotlinTestGenerated extends AbstractCompi
doBoxTestWithInlineCheck(fileName);
}
@TestMetadata("kt9637.1.kt")
public void testKt9637() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/reified/kt9637.1.kt");
doBoxTestWithInlineCheck(fileName);
}
@TestMetadata("kt9637_2.1.kt")
public void testKt9637_2() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/reified/kt9637_2.1.kt");
doBoxTestWithInlineCheck(fileName);
}
@TestMetadata("packages.1.kt")
public void testPackages() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/reified/packages.1.kt");