mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-12 00:21:32 +00:00
88 lines
2.1 KiB
Kotlin
Vendored
88 lines
2.1 KiB
Kotlin
Vendored
open class VeryBase {
|
|
protected fun baz() {}
|
|
}
|
|
|
|
open class Base {
|
|
protected fun foo() {
|
|
bar() // Ok
|
|
baz() // Ok
|
|
}
|
|
|
|
inner class Inner {
|
|
fun fromInner() {
|
|
foo() // Ok
|
|
bar() // Ok
|
|
gav() // Ok
|
|
baz() // Ok
|
|
}
|
|
}
|
|
|
|
class NestedDerived : Base() {
|
|
fun fromNestedDerived() {
|
|
foo() // Ok
|
|
bar() // Ok
|
|
gav() // Ok
|
|
baz() // Ok
|
|
}
|
|
}
|
|
|
|
companion object : VeryBase() {
|
|
protected fun bar() {}
|
|
|
|
@JvmStatic protected fun gav() {}
|
|
|
|
class Nested {
|
|
fun fromNested() {
|
|
bar() // Ok
|
|
gav() // Ok
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
class Derived : Base() {
|
|
fun test() {
|
|
foo() // Ok
|
|
gav() // Ok
|
|
<!SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC!>bar()<!>
|
|
<!SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC!>baz()<!>
|
|
}
|
|
|
|
inner class DerivedInner {
|
|
fun fromDerivedInner() {
|
|
foo() // Ok
|
|
gav() // Ok
|
|
<!SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC!>bar()<!>
|
|
<!SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC!>baz()<!>
|
|
}
|
|
}
|
|
|
|
companion object {
|
|
fun test2() {
|
|
gav() // Ok
|
|
<!SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC!>bar()<!>
|
|
<!SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC!>baz()<!>
|
|
}
|
|
}
|
|
}
|
|
|
|
class Other {
|
|
fun test(base: Base, derived: Derived) {
|
|
base.<!INVISIBLE_MEMBER!>foo<!>()
|
|
base.<!UNRESOLVED_REFERENCE!>gav<!>()
|
|
base.<!UNRESOLVED_REFERENCE!>bar<!>()
|
|
derived.<!INVISIBLE_MEMBER!>foo<!>()
|
|
derived.<!UNRESOLVED_REFERENCE!>gav<!>()
|
|
derived.<!UNRESOLVED_REFERENCE!>bar<!>()
|
|
}
|
|
}
|
|
|
|
fun top(base: Base, derived: Derived) {
|
|
base.<!INVISIBLE_MEMBER!>foo<!>()
|
|
base.<!UNRESOLVED_REFERENCE!>bar<!>()
|
|
base.<!UNRESOLVED_REFERENCE!>gav<!>()
|
|
derived.<!INVISIBLE_MEMBER!>foo<!>()
|
|
derived.<!UNRESOLVED_REFERENCE!>bar<!>()
|
|
derived.<!UNRESOLVED_REFERENCE!>gav<!>()
|
|
}
|