Fix code generation for Array<C> element access where C is inline class

This commit is contained in:
Dmitry Petrov
2018-08-10 14:22:41 +03:00
parent 8063db5f80
commit 0af33462ef
10 changed files with 226 additions and 8 deletions
@@ -590,6 +590,34 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/arrays/varargsWithJava.kt");
}
@TestMetadata("compiler/testData/codegen/box/arrays/arraysOfInlineClass")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class ArraysOfInlineClass extends AbstractLightAnalysisModeTest {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM, testDataFilePath);
}
@TestMetadata("accessArrayOfInlineClass.kt")
public void testAccessArrayOfInlineClass() throws Exception {
runTest("compiler/testData/codegen/box/arrays/arraysOfInlineClass/accessArrayOfInlineClass.kt");
}
@TestMetadata("accessArrayOfUnsigned.kt")
public void testAccessArrayOfUnsigned() throws Exception {
runTest("compiler/testData/codegen/box/arrays/arraysOfInlineClass/accessArrayOfUnsigned.kt");
}
public void testAllFilesPresentInArraysOfInlineClass() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/box/arrays/arraysOfInlineClass"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.JVM, true);
}
@TestMetadata("arrayOfInlineClassOfArrayOfInlineClass.kt")
public void testArrayOfInlineClassOfArrayOfInlineClass() throws Exception {
runTest("compiler/testData/codegen/box/arrays/arraysOfInlineClass/arrayOfInlineClassOfArrayOfInlineClass.kt");
}
}
@TestMetadata("compiler/testData/codegen/box/arrays/multiDecl")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)