Files
kotlin-fork/compiler/testData/diagnostics/tests/scopes/VisibilityInheritModifier.kt
T
Andrey Breslav 3d8d92c7d3 JetDiagnosticsTest migrated to TestGenerator
- test data files renamed from *.jet to *.kt
2012-07-10 14:48:11 +04:00

85 lines
1.5 KiB
Kotlin

package b
open class A {
internal open fun foo() {}
}
class B : A() {
<!CANNOT_CHANGE_ACCESS_PRIVILEGE!>protected<!> override fun foo() {}
}
class C : A() {
internal override fun foo() {}
}
//------------
open class D {
private open fun self() : D = this
}
class E : D() {
internal <!CANNOT_OVERRIDE_INVISIBLE_MEMBER!>override<!> fun self() = this
fun test() {
val <!UNUSED_VARIABLE!>s<!> : E = self()
}
}
//------------
open class F {
protected open fun protected_fun() {}
}
class G : F() {
override fun protected_fun() {}
}
fun test_fun_stays_protected(g: G) {
g.<!INVISIBLE_MEMBER!>protected_fun<!>()
}
//------------
open class H {
protected open fun pi_fun() {}
}
class I : H() {
protected override fun pi_fun() {}
}
class J : H() {
<!CANNOT_CHANGE_ACCESS_PRIVILEGE!>internal<!> override fun pi_fun() {}
}
class K : H() {
public override fun pi_fun() {}
}
//-------------
trait T {
public fun foo() {}
}
open class L : T {
override fun foo() {}
}
class M : L() {
<!CANNOT_WEAKEN_ACCESS_PRIVILEGE!>internal<!> override fun foo() {}
}
//---------------
trait R {
<!INCOMPATIBLE_MODIFIERS!>internal<!> <!INCOMPATIBLE_MODIFIERS!>protected<!> fun foo() {}
}
trait P : R {
<!CANNOT_CHANGE_ACCESS_PRIVILEGE!>internal<!> override fun foo() {}
}
trait Q : R {
protected override fun foo() {}
}
class S : P, Q {
<!CANNOT_CHANGE_ACCESS_PRIVILEGE!>internal<!> override fun foo() {}
}