Supported inline of array convention simple cases; Fix for KT-9211: M13 an extension function that is inline, and for get(v) causes an exception when called using brackets

#KT-9211 Fixed
This commit is contained in:
Michael Bogdanov
2016-01-18 14:59:43 +03:00
parent 84dbdf2ccb
commit 23480a5698
17 changed files with 303 additions and 15 deletions
@@ -386,6 +386,51 @@ public class BlackBoxInlineCodegenTestGenerated extends AbstractBlackBoxInlineCo
}
}
@TestMetadata("compiler/testData/codegen/boxInline/arrayConvention")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class ArrayConvention extends AbstractBlackBoxInlineCodegenTest {
public void testAllFilesPresentInArrayConvention() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/boxInline/arrayConvention"), Pattern.compile("^(.+)\\.1.kt$"), true);
}
@TestMetadata("simpleAccess.1.kt")
public void testSimpleAccess() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/arrayConvention/simpleAccess.1.kt");
doTestMultiFileWithInlineCheck(fileName);
}
@TestMetadata("simpleAccessInClass.1.kt")
public void testSimpleAccessInClass() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/arrayConvention/simpleAccessInClass.1.kt");
doTestMultiFileWithInlineCheck(fileName);
}
@TestMetadata("simpleAccessWithDefault.1.kt")
public void testSimpleAccessWithDefault() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/arrayConvention/simpleAccessWithDefault.1.kt");
doTestMultiFileWithInlineCheck(fileName);
}
@TestMetadata("simpleAccessWithDefaultInClass.1.kt")
public void testSimpleAccessWithDefaultInClass() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/arrayConvention/simpleAccessWithDefaultInClass.1.kt");
doTestMultiFileWithInlineCheck(fileName);
}
@TestMetadata("simpleAccessWithLambda.1.kt")
public void testSimpleAccessWithLambda() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/arrayConvention/simpleAccessWithLambda.1.kt");
doTestMultiFileWithInlineCheck(fileName);
}
@TestMetadata("simpleAccessWithLambdaInClass.1.kt")
public void testSimpleAccessWithLambdaInClass() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/arrayConvention/simpleAccessWithLambdaInClass.1.kt");
doTestMultiFileWithInlineCheck(fileName);
}
}
@TestMetadata("compiler/testData/codegen/boxInline/builders")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@@ -386,6 +386,51 @@ public class CompileKotlinAgainstInlineKotlinTestGenerated extends AbstractCompi
}
}
@TestMetadata("compiler/testData/codegen/boxInline/arrayConvention")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class ArrayConvention extends AbstractCompileKotlinAgainstInlineKotlinTest {
public void testAllFilesPresentInArrayConvention() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/boxInline/arrayConvention"), Pattern.compile("^(.+)\\.1.kt$"), true);
}
@TestMetadata("simpleAccess.1.kt")
public void testSimpleAccess() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/arrayConvention/simpleAccess.1.kt");
doBoxTestWithInlineCheck(fileName);
}
@TestMetadata("simpleAccessInClass.1.kt")
public void testSimpleAccessInClass() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/arrayConvention/simpleAccessInClass.1.kt");
doBoxTestWithInlineCheck(fileName);
}
@TestMetadata("simpleAccessWithDefault.1.kt")
public void testSimpleAccessWithDefault() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/arrayConvention/simpleAccessWithDefault.1.kt");
doBoxTestWithInlineCheck(fileName);
}
@TestMetadata("simpleAccessWithDefaultInClass.1.kt")
public void testSimpleAccessWithDefaultInClass() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/arrayConvention/simpleAccessWithDefaultInClass.1.kt");
doBoxTestWithInlineCheck(fileName);
}
@TestMetadata("simpleAccessWithLambda.1.kt")
public void testSimpleAccessWithLambda() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/arrayConvention/simpleAccessWithLambda.1.kt");
doBoxTestWithInlineCheck(fileName);
}
@TestMetadata("simpleAccessWithLambdaInClass.1.kt")
public void testSimpleAccessWithLambdaInClass() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/boxInline/arrayConvention/simpleAccessWithLambdaInClass.1.kt");
doBoxTestWithInlineCheck(fileName);
}
}
@TestMetadata("compiler/testData/codegen/boxInline/builders")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)