blob: 58ada6307651230336650c02621bfe4ee1dede03 [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 result = t.action()
log("E")
if (result != "prop value") return "Fail result: $result"
if (l != "S;Foo init;M;Foo lambda;top-level prop;E;") return l
return "OK"
}
// FILE: another.kt
private val prop = run {
log("top-level prop")
"prop value"
}
class Foo {
init {
log("Foo init")
}
val action: () -> String = {
log("Foo lambda")
prop
}
}