mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-10 15:53:46 +00:00
26 lines
453 B
Kotlin
26 lines
453 B
Kotlin
open class A {
|
|
open fun foo(): Any = "A"
|
|
}
|
|
|
|
trait B : A
|
|
|
|
open class C : A() {
|
|
override fun foo(): Int = 222
|
|
}
|
|
|
|
trait D {
|
|
fun foo(): Number
|
|
}
|
|
|
|
class E : B, C(), D
|
|
|
|
fun box(): String {
|
|
val e = E()
|
|
if (e.foo() != 222) return "Fail 1"
|
|
if ((e : D).foo() != 222) return "Fail 2"
|
|
if ((e : C).foo() != 222) return "Fail 3"
|
|
if ((e : B).foo() != 222) return "Fail 4"
|
|
if ((e : A).foo() != 222) return "Fail 5"
|
|
return "OK"
|
|
}
|