blob: 582a98b2217313cdfced80e2711ba0d4b93f314f [file]
// ISSUE: KT-65341
class Controller<K> {
fun yield(k: K) {}
}
fun <T> generate(lambda: Controller<T>.() -> Unit) {}
fun bar(x: String) {}
var v: String = "OK"
fun foo0(x: String?) {
generate {
bar("$v abc${x!!}")
yield("")
}
}
fun foo1(x: String?) {
generate {
bar("$v abc${when { x != null -> x else -> null}}")
yield("")
}
}
fun <E> id(e: E): E = e
fun foo2(x: String?) {
generate {
bar("$v abc${id(this)}")
yield("")
}
}
fun box(): String {
foo0(null)
foo1(null)
foo2(null)
return "OK"
}