Add PrivateInFileEffectiveVisibility language feature (1.6)

This commit is contained in:
Mikhail Glukhikh
2021-04-07 14:04:33 +03:00
parent 7f092264f7
commit 3c9f0e4775
11 changed files with 172 additions and 11 deletions
@@ -0,0 +1,30 @@
// !LANGUAGE: -PrivateInFileEffectiveVisibility
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 <!EXPOSED_FROM_PRIVATE_IN_FILE!>test1<!>() = NestedPrivate()
fun test2(<!EXPOSED_FROM_PRIVATE_IN_FILE!>p: NestedPrivate<!>) {}
fun <!EXPOSED_FROM_PRIVATE_IN_FILE!>NestedPrivate<!>.test3() {}
val <!EXPOSED_FROM_PRIVATE_IN_FILE!>test4<!> = NestedPrivate()
class Test5 : <!EXPOSED_FROM_PRIVATE_IN_FILE!>NestedPrivate()<!>
}
private interface PrivateInFile {
private class Private
fun <!EXPOSED_FROM_PRIVATE_IN_FILE!>expose<!>() = Private()
}
// Exposes 'PrivateInFile$Private' via 'expose'
class Derived : PrivateInFile