diff --git a/libraries/stdlib/src/kotlin/coroutines/experimental/intrinsics/IntrinsicsJvm.kt b/libraries/stdlib/src/kotlin/coroutines/experimental/intrinsics/IntrinsicsJvm.kt index 04385c149fc..6ddfee334ed 100644 --- a/libraries/stdlib/src/kotlin/coroutines/experimental/intrinsics/IntrinsicsJvm.kt +++ b/libraries/stdlib/src/kotlin/coroutines/experimental/intrinsics/IntrinsicsJvm.kt @@ -19,6 +19,13 @@ package kotlin.coroutines.experimental.intrinsics import kotlin.coroutines.experimental.* +/** + * 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 later 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 suspended + * coroutine using a reference to the suspending function. + */ @SinceKotlin("1.1") @Suppress("UNCHECKED_CAST") @kotlin.internal.InlineOnly @@ -26,6 +33,13 @@ public inline fun (suspend () -> T).startCoroutineUninterceptedOrReturn( completion: Continuation ): Any? = (this as Function1, Any?>).invoke(completion) +/** + * 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 later 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 suspended + * coroutine using a reference to the suspending function. + */ @SinceKotlin("1.1") @Suppress("UNCHECKED_CAST") @kotlin.internal.InlineOnly