Files
kotlin-fork/compiler/testData/codegen/box/super/innerClassQualifiedPropertyAccess.kt
T

46 lines
827 B
Kotlin
Vendored

interface T {
open val baz: String
get() = "T.baz"
}
open class A {
open val bar: String
get() = "OK"
open val boo: String
get() = "OK"
}
open class B : A(), T {
override val bar: String
get() = "B"
override val baz: String
get() = "B.baz"
inner class E {
val bar: String
get() = super<A>@B.bar + super@B.bar + super@B.baz
}
}
class C : B() {
override val bar: String
get() = "C"
override val boo: String
get() = "C"
inner class D {
val bar: String
get() = super<B>@C.bar + super<B>@C.boo
}
}
fun box(): String {
var r = ""
r = B().E().bar
if (r != "OKOKT.baz") return "fail 1; r = $r"
r = C().D().bar
if (r != "BOK") return "fail 2; r = $r"
return "OK"
}