blob: 2e044d9712307b5c0c38616dcab9ec84d6fccae5 [file]
// FILE: log.kt
var l = ""
fun log(a: String) {
l += a + ";"
}
// FILE: main.kt
fun box(): String {
log("S")
val t = Foo()
log("M")
val first = t.increment()
val second = t.increment()
log("E")
if (first != 11) return "Fail first: $first"
if (second != 12) return "Fail second: $second"
if (l != "S;Foo init;M;top-level prop;E;") return l
return "OK"
}
// FILE: another.kt
private var counter = run {
log("top-level prop")
10
}
class Foo {
init {
log("Foo init")
}
val increment: () -> Int = {
counter += 1
counter
}
}