KT-3389: Local class construction results in CompilationException && KT-2873 && KT-3210

KT-2873: VerifyError on instantiating a local class inside a closure
KT-3210 Inline Class: CompilationException: Back-end (JVM) Internal error: wrong code generated java.lang.ArrayIndexOutOfBoundsException null

 #KT-3389 Fixed
This commit is contained in:
Mikhael Bogdanov
2013-04-23 15:57:54 +04:00
parent 9682b72643
commit aa2db75266
13 changed files with 236 additions and 1 deletions
@@ -3590,6 +3590,11 @@ public class JetDiagnosticsTestGenerated extends AbstractDiagnosticsTestWithEage
doTest("compiler/testData/diagnostics/tests/override/kt1862.kt");
}
@TestMetadata("kt2052.kt")
public void testKt2052() throws Exception {
doTest("compiler/testData/diagnostics/tests/override/kt2052.kt");
}
@TestMetadata("kt880.kt")
public void testKt880() throws Exception {
doTest("compiler/testData/diagnostics/tests/override/kt880.kt");
@@ -2281,6 +2281,51 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
doTest("compiler/testData/codegen/box/localClasses/enum.kt");
}
@TestMetadata("inExtensionFunction.kt")
public void testInExtensionFunction() throws Exception {
doTest("compiler/testData/codegen/box/localClasses/inExtensionFunction.kt");
}
@TestMetadata("inExtensionProperty.kt")
public void testInExtensionProperty() throws Exception {
doTest("compiler/testData/codegen/box/localClasses/inExtensionProperty.kt");
}
@TestMetadata("inLocalExtensionFunction.kt")
public void testInLocalExtensionFunction() throws Exception {
doTest("compiler/testData/codegen/box/localClasses/inLocalExtensionFunction.kt");
}
@TestMetadata("inLocalExtensionProperty.kt")
public void testInLocalExtensionProperty() throws Exception {
doTest("compiler/testData/codegen/box/localClasses/inLocalExtensionProperty.kt");
}
@TestMetadata("innerClassInLocalClass.kt")
public void testInnerClassInLocalClass() throws Exception {
doTest("compiler/testData/codegen/box/localClasses/innerClassInLocalClass.kt");
}
@TestMetadata("kt2873.kt")
public void testKt2873() throws Exception {
doTest("compiler/testData/codegen/box/localClasses/kt2873.kt");
}
@TestMetadata("kt3210.kt")
public void testKt3210() throws Exception {
doTest("compiler/testData/codegen/box/localClasses/kt3210.kt");
}
@TestMetadata("kt3389.kt")
public void testKt3389() throws Exception {
doTest("compiler/testData/codegen/box/localClasses/kt3389.kt");
}
@TestMetadata("localClass.kt")
public void testLocalClass() throws Exception {
doTest("compiler/testData/codegen/box/localClasses/localClass.kt");
}
@TestMetadata("noclosure.kt")
public void testNoclosure() throws Exception {
doTest("compiler/testData/codegen/box/localClasses/noclosure.kt");