mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-13 00:21:28 +00:00
32 lines
626 B
Plaintext
32 lines
626 B
Plaintext
trait BK {
|
|
fun x() : Int = 50
|
|
}
|
|
|
|
trait 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 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";
|
|
}
|