FE 1.0: introduce PrivateInFile effective visibility #KT-20094 Fixed

This commit is contained in:
Mikhail Glukhikh
2021-04-05 13:33:25 +03:00
parent addfa27980
commit 4bd44fa61b
16 changed files with 187 additions and 30 deletions
@@ -0,0 +1,28 @@
class Public {
private open class NestedPrivate
fun <!EXPOSED_FUNCTION_RETURN_TYPE!>test1<!>() = NestedPrivate()
fun test2(<!EXPOSED_PARAMETER_TYPE!>p: NestedPrivate<!>) {}
fun <!EXPOSED_RECEIVER_TYPE!>NestedPrivate<!>.test3() {}
val <!EXPOSED_PROPERTY_TYPE!>test4<!> = NestedPrivate()
class Test5 : <!EXPOSED_SUPER_CLASS!>NestedPrivate<!>()
}
private class PrivateInFileClass {
private open class NestedPrivate
fun test1() = NestedPrivate()
fun test2(p: NestedPrivate) {}
fun NestedPrivate.test3() {}
val test4 = NestedPrivate()
class Test5 : NestedPrivate()
}
private interface PrivateInFile {
private class Private
fun expose() = Private()
}
// Exposes 'PrivateInFile$Private' via 'expose'
class Derived : PrivateInFile