blob: f710c71de1f794246443b5b54f97fc65ca6bb68f [file]
// WITH_COROUTINES
// WITH_STDLIB
// TARGET_BACKEND: JVM
// FILE: lib.kt
import kotlin.coroutines.*
import kotlin.coroutines.intrinsics.*
suspend fun foo(value: String): String {
var x = "fail"
suspendCoroutineUninterceptedOrReturn<Unit> {
x = value
it.resume(Unit)
COROUTINE_SUSPENDED
}
return x
}
suspend inline fun fooInline(value: String): String {
var x = "fail"
suspendCoroutineUninterceptedOrReturn<Unit> {
x = value
it.resume(Unit)
COROUTINE_SUSPENDED
}
return x
}
// FILE: main.kt
import helpers.*
import kotlin.coroutines.*
import kotlin.coroutines.intrinsics.*
fun box(): String {
var result = ""
suspend {
result = foo("O") + fooInline("K")
}.startCoroutine(EmptyContinuation)
return result
}