Fix visibility of protected classes in bytecode

Protected should be translated to public as in Java so that everything would
work at runtime. The real visibility is still saved to an InnerClasses
attribute

 #KT-8269 Fixed
 #KT-9246 Fixed
 #KT-10143 Fixed
This commit is contained in:
Alexander Udalov
2016-03-22 13:53:07 +03:00
parent 28c5dde875
commit 348125acb3
6 changed files with 124 additions and 0 deletions
@@ -6876,6 +6876,18 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/innerNested/nestedSimple.kt");
doTest(fileName);
}
@TestMetadata("protectedNestedClass.kt")
public void testProtectedNestedClass() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/innerNested/protectedNestedClass.kt");
doTest(fileName);
}
@TestMetadata("protectedNestedClassFromJava.kt")
public void testProtectedNestedClassFromJava() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/innerNested/protectedNestedClassFromJava.kt");
doTest(fileName);
}
}
@TestMetadata("compiler/testData/codegen/box/instructions")
@@ -11875,6 +11887,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
doTest(fileName);
}
@TestMetadata("kt10143.kt")
public void testKt10143() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/regressions/kt10143.kt");
doTest(fileName);
}
@TestMetadata("kt10934.kt")
public void testKt10934() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/regressions/kt10934.kt");