[KT-4124] Add tests for qualified labeled super access to functions and properties
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
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"
|
||||
}
|
||||
Reference in New Issue
Block a user