Files
kotlin-fork/js/js.translator/testData/examples/cases/diamondInheritance.kt
T
2014-03-11 20:04:00 +04:00

26 lines
436 B
Kotlin

// Changed when traits were introduced. May not make sense any more
open class Base() {
public var v: Int = 0
}
open class Left() : Base() {
}
trait Right : Base {
}
class D() : Left(), Right
fun vl(l: Left): Int = l.v
fun vr(r: Right): Int = r.v
fun box(): String {
val d = D()
d.v = 42
if (d.v != 42) return "Fail #1"
if (vl(d) != 42) return "Fail #2"
if (vr(d) != 42) return "Fail #3"
return "OK"
}