Files
kotlin/compiler/testData/codegen/box/innerNested/protectedNestedClassFromJava.kt
Alexander Udalov 348125acb3 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
2016-03-22 18:42:34 +03:00

35 lines
642 B
Kotlin
Vendored

// See KT-8269 java.lang.IllegalAccessError on accessing protected inner class declared in Kotlin super class
// TARGET_BACKEND: JVM
// FILE: Test.kt
package com.company
import other.JavaClass
open class Test {
protected class ProtectedClass
}
fun box(): String {
JavaClass.test()
return "OK"
}
// FILE: other/JavaClass.java
package other;
import com.company.Test;
public class JavaClass {
static class JavaTest extends Test {
public static boolean foo(Object obj) {
return obj instanceof ProtectedClass;
}
}
public static void test() {
JavaTest.foo(new Object());
}
}