Test for KT-9430: proper visibility of protected members of base class

in child classes
This commit is contained in:
Dmitry Petrov
2015-10-08 18:07:40 +03:00
parent b6caedbc82
commit 51225d3556
3 changed files with 56 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
open class A {
protected fun foo() {}
}
class B: A()
class C: A() {
fun bar() {
A().foo()
B().<!INVISIBLE_MEMBER!>foo<!>()
}
}
class D {
fun qux() { B().<!INVISIBLE_MEMBER!>foo<!>() }
}
+34
View File
@@ -0,0 +1,34 @@
package
public open class A {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
protected final fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class B : A {
public constructor B()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
protected final override /*1*/ /*fake_override*/ fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class C : A {
public constructor C()
public final fun bar(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
protected final override /*1*/ /*fake_override*/ fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class D {
public constructor D()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public final fun qux(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}