Package kotlin.coroutines.experimental.intrinsics
Deprecated support for experimental coroutines, provided for compatibility.
It's recommended to migrate to kotlin.coroutines.intrinsics
API.
Properties
COROUTINE_SUSPENDED
This value is used as a return value of suspendCoroutineOrReturn block
argument to state that
the execution was suspended and will not return any result immediately.
val COROUTINE_SUSPENDED: Any
Functions
createCoroutineUnchecked
Creates a coroutine without receiver and with result type T. This function creates a new, fresh instance of suspendable computation every time it is invoked.
fun <T> (suspend () -> T).createCoroutineUnchecked(
completion: Continuation<T>
): Continuation<Unit>
Creates a coroutine with receiver type R and result type T. This function creates a new, fresh instance of suspendable computation every time it is invoked.
fun <R, T> (suspend R.() -> T).createCoroutineUnchecked(
receiver: R,
completion: Continuation<T>
): Continuation<Unit>
intercepted
Intercept continuation with ContinuationInterceptor.
fun <T> Continuation<T>.intercepted(): Continuation<T>
startCoroutineUninterceptedOrReturn
Starts unintercepted coroutine without receiver and with result type T and executes it until its first suspension. Returns the result of the coroutine or throws its exception if it does not suspend or COROUTINE_SUSPENDED if it suspends. In the latter case, the completion continuation is invoked when coroutine completes with result or exception. This function is designed to be used from inside of suspendCoroutineOrReturn to resume the execution of a suspended coroutine using a reference to the suspending function.
fun <T> (suspend () -> T).startCoroutineUninterceptedOrReturn(
completion: Continuation<T>
): Any?
Starts unintercepted coroutine with receiver type R and result type T and executes it until its first suspension. Returns the result of the coroutine or throws its exception if it does not suspend or COROUTINE_SUSPENDED if it suspends. In the latter case, the completion continuation is invoked when coroutine completes with result or exception. This function is designed to be used from inside of suspendCoroutineOrReturn to resume the execution of a suspended coroutine using a reference to the suspending function.
fun <R, T> (suspend R.() -> T).startCoroutineUninterceptedOrReturn(
receiver: R,
completion: Continuation<T>
): Any?
suspendCoroutineOrReturn
Obtains the current continuation instance inside suspend functions and either suspends currently running coroutine or returns result immediately without suspension.
suspend fun <T> suspendCoroutineOrReturn(
block: (Continuation<T>) -> Any?
): T
suspendCoroutineUninterceptedOrReturn
Obtains the current continuation instance inside suspend functions and either suspends currently running coroutine or returns result immediately without suspension.
suspend fun <T> suspendCoroutineUninterceptedOrReturn(
block: (Continuation<T>) -> Any?
): T