blob: 18e15325e316b4bd9bef803e4b752555cd1a0233 [file]
// FIR_DUMP
// explicit types
class A<in T>(t: T) {
private val t: T = t // PRIVATE_TO_THIS
private val i: B = B()
fun test() {
val x: T = t // Ok
val y: T = this.t // Ok
}
fun foo(a: A<String>) {
val x: String = a.<!INVISIBLE_MEMBER!>t<!> // Invisible!
}
fun bar(a: A<*>) {
a.<!INVISIBLE_MEMBER!>t<!> // Invisible!
}
inner class B {
fun baz(a: A<*>) {
a.i
}
}
}
// implicit types
class C<in T>(t: T) {
private val t: T = t
private val tt = t
fun foo(a: C<String>) {
val x: String = a.<!INVISIBLE_MEMBER!>tt<!>
}
}