blob: e9320eaf9de3a9cf743b0b2ba70684317fb1bedb [file]
// WITH_STDLIB
// 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.action()
val second = t.action()
log("E")
if (first != "lazy value") return "Fail first: $first"
if (second != "lazy value") return "Fail second: $second"
if (l != "S;Foo init;M;top-level prop;lazy;E;") return l
return "OK"
}
// FILE: another.kt
private val other = run {
log("top-level prop")
}
private val prop by lazy {
log("lazy")
"lazy value"
}
class Foo {
init {
log("Foo init")
}
val action: () -> String = { prop }
}