Implement lateinit in backend

This commit is contained in:
Yan Zhulanow
2015-09-03 01:33:31 +03:00
parent e3967b9fa0
commit fc3bf3cca4
15 changed files with 276 additions and 10 deletions
@@ -6534,6 +6534,69 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/properties/twoAnnotatedExtensionPropertiesWithoutBackingFields.kt");
doTest(fileName);
}
@TestMetadata("compiler/testData/codegen/box/properties/lateinit")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class Lateinit extends AbstractBlackBoxCodegenTest {
@TestMetadata("accessor.kt")
public void testAccessor() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/properties/lateinit/accessor.kt");
doTest(fileName);
}
@TestMetadata("accessorException.kt")
public void testAccessorException() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/properties/lateinit/accessorException.kt");
doTest(fileName);
}
public void testAllFilesPresentInLateinit() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/box/properties/lateinit"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("exceptionField.kt")
public void testExceptionField() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/properties/lateinit/exceptionField.kt");
doTest(fileName);
}
@TestMetadata("exceptionGetter.kt")
public void testExceptionGetter() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/properties/lateinit/exceptionGetter.kt");
doTest(fileName);
}
@TestMetadata("override.kt")
public void testOverride() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/properties/lateinit/override.kt");
doTest(fileName);
}
@TestMetadata("overrideException.kt")
public void testOverrideException() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/properties/lateinit/overrideException.kt");
doTest(fileName);
}
@TestMetadata("simple.kt")
public void testSimple() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/properties/lateinit/simple.kt");
doTest(fileName);
}
@TestMetadata("simpleField.kt")
public void testSimpleField() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/properties/lateinit/simpleField.kt");
doTest(fileName);
}
@TestMetadata("simpleVar.kt")
public void testSimpleVar() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/properties/lateinit/simpleVar.kt");
doTest(fileName);
}
}
}
@TestMetadata("compiler/testData/codegen/box/reflection")
@@ -1510,6 +1510,12 @@ public class BlackBoxWithStdlibCodegenTestGenerated extends AbstractBlackBoxCode
doTestWithStdlib(fileName);
}
@TestMetadata("lateinitVisibility.kt")
public void testLateinitVisibility() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxWithStdlib/fullJdk/lateinitVisibility.kt");
doTestWithStdlib(fileName);
}
@TestMetadata("platformTypeAssertionStackTrace.kt")
public void testPlatformTypeAssertionStackTrace() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxWithStdlib/fullJdk/platformTypeAssertionStackTrace.kt");