44 lines
919 B
Kotlin
44 lines
919 B
Kotlin
package foo
|
|
|
|
enum class B(open val bar: Int) {
|
|
val x = 1
|
|
var y = 12;
|
|
a : B(0) {
|
|
override val bar = 3
|
|
{
|
|
y = 0
|
|
}
|
|
}
|
|
b : B(4) {
|
|
}
|
|
c : B(5)
|
|
}
|
|
|
|
trait X {
|
|
val foo: Int
|
|
fun bar(): Int {
|
|
return foo;
|
|
}
|
|
}
|
|
|
|
enum class Y(override val foo: Int) : X {
|
|
m:Y(3)
|
|
n:Y(6)
|
|
}
|
|
|
|
fun box(): String {
|
|
if (B.a.x != 1) return "B.a.x != 1, it: ${B.a.x}"
|
|
if (B.a.y != 0) return "B.a.y != 0, it: ${B.a.y}"
|
|
if (B.a.bar != 3) return "B.a.bar != 3, it: ${B.a.bar}"
|
|
|
|
if (B.b.y != 12) return "B.b.y != 12, it: ${B.b.y}"
|
|
if (B.b.bar != 4) return "B.b.bar != 4, it: ${B.b.bar}"
|
|
|
|
if (B.c.bar != 5) return "B.c.bar != 5, it: ${B.c.bar}"
|
|
if (B.c.y != 12) return "B.c.y != 12, it: ${B.c.y}"
|
|
|
|
if (Y.m.bar() != 3) return "Y.m.bar() != 3, it: ${Y.m.bar()}"
|
|
if (Y.n.bar() != 6) return "Y.n.bar() != 6, it: ${Y.m.bar()}"
|
|
|
|
return "OK"
|
|
} |