blob: c9e0de1c41be2786277f03577e6b83f750f2cbe8 [file]
// DUMP_IR
import org.jetbrains.kotlin.plugin.sandbox.MyComposable
fun runUsual(block: () -> Unit) { block.invoke() }
fun runComposable(block: @MyComposable () -> Unit) { block.invoke() }
fun test_1(): Int {
var x = 0
val l0 = { x++; Unit }
val l1: some.MyComposableFunction0<Unit> = { x++; Unit }
val l2: @MyComposable (() -> Unit) = { x++ }
val l3 = @MyComposable { x++; Unit }
runUsual(l0)
runUsual { x++ }
runComposable(l0)
runComposable(l1)
runComposable(l2)
runComposable(l3)
runComposable { x++ }
runComposable @MyComposable { x++ }
return x
}
fun runComposable2(block: some.MyComposableFunction1<String, String>): String {
return block.invoke("O")
}
fun test_2(): String {
return runComposable2 { it + "K" }
}
fun box(): String {
val res1 = test_1()
if (res1 != 8) return "Fail 1: $res1"
val res2 = test_2()
if (res2 != "OK") return "Fail 2: $res2"
return "OK"
}