Files
kotlin-fork/compiler/testData/diagnostics/tests/exposed/internal.kt
T
Mikhail Glukhikh 0cc861f00b Exposed visibility checking, a set of exposed visibility tests, some test fixes
Effective visibility mechanism introduced.
Local is considered as public, java protected as Kotlin protected, java package private as Kotlin private.
2015-10-07 20:15:16 +03:00

25 lines
729 B
Kotlin
Vendored

internal open class My
// valid, internal from internal
internal open class Your: My() {
// valid, effectively internal
fun foo() = My()
}
// error, public from internal
open class His: <!EXPOSED_SUPER_CLASS!>Your()<!> {
protected open class Nested
// error, public from internal
<!EXPOSED_PROPERTY_TYPE!>val x = My()<!>
// valid, private from internal
private fun bar() = My()
// valid, internal from internal
internal var y: My? = null
// error, protected from internal
protected fun <!EXPOSED_FUNCTION_RETURN_TYPE!>baz<!>() = Your()
}
internal class Their: His() {
// error, effectively internal from protected
class InnerDerived: <!EXPOSED_SUPER_CLASS!>His.Nested()<!>
}