mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-03-10 08:31:29 +00:00
48 lines
767 B
Kotlin
Vendored
48 lines
767 B
Kotlin
Vendored
var log = ""
|
|
|
|
class A(p: String) {
|
|
var pp = p
|
|
|
|
init {
|
|
log += "init($p);"
|
|
}
|
|
}
|
|
|
|
operator fun A.plusAssign(s: String) {
|
|
pp += s
|
|
log += "pp = $pp;"
|
|
}
|
|
|
|
class D {
|
|
val a = A("D")
|
|
}
|
|
|
|
object E {
|
|
val t = A("E")
|
|
}
|
|
|
|
fun box(): String {
|
|
log = ""
|
|
val d = D()
|
|
d.a += "foo"
|
|
|
|
if (log != "init(D);pp = Dfoo;") return "1: log = \"$log\""
|
|
|
|
log = ""
|
|
E.t += "ET"
|
|
|
|
if (log != "init(E);pp = EET;") return "2: log = \"$log\""
|
|
|
|
log = ""
|
|
val c = object { val b = object { val a = A("xcv") } }
|
|
c.b.a += "eee"
|
|
|
|
if (log != "init(xcv);pp = xcveee;") return "3: log = \"$log\""
|
|
|
|
val b = object { val a = A("qwe") }
|
|
b.a.pp += "ui"
|
|
|
|
if (b.a.pp != "qweui") return "4: b.a.pp = \"${b.a.pp}\""
|
|
|
|
return "OK"
|
|
} |