blob: 5f317b46f770e4f1b0eee9c8feaa5e4b83049580 [file] [log] [blame]
interface BK {
fun x() : Int = 50
}
interface K : BK {
override fun x() : Int = super.x() * 2
}
open class M() {
open fun x() : Int = 10
}
open class N() : M(), K {
override fun x() : Int = 20
open inner class C() : K {
fun test1() = x()
fun test2() = super<M>@N.x()
fun test3() = super<K>@N.x()
fun test4() = super<K>.x()
}
}
fun box(): String {
if (N().C().test1() != 100) return "test1 fail";
if (N().C().test2() != 10) return "test2 fail";
if (N().C().test3() != 100) return "test3 fail";
if (N().C().test4() != 100) return "test4 fail";
return "OK";
}