package-fragment kotlin.coroutines

@kotlin.PublishedApi internal inline suspend fun </*0*/ T> suspendWithCurrentContinuation(/*0*/ body: (kotlin.coroutines.Continuation<T>) -> kotlin.Any?): T

@kotlin.SinceKotlin(version = "1.1") public interface Continuation</*0*/ in T> {
    public abstract fun resume(/*0*/ value: T): kotlin.Unit
    public abstract fun resumeWithException(/*0*/ exception: kotlin.Throwable): kotlin.Unit
}

@kotlin.SinceKotlin(version = "1.1") public interface ContinuationDispatcher {
    public open fun </*0*/ T> dispatchResume(/*0*/ value: T, /*1*/ continuation: kotlin.coroutines.Continuation<T>): kotlin.Boolean
    public open fun dispatchResumeWithException(/*0*/ exception: kotlin.Throwable, /*1*/ continuation: kotlin.coroutines.Continuation<*>): kotlin.Boolean
}

@kotlin.SinceKotlin(version = "1.1") public object CoroutineIntrinsics {
    /*primary*/ private constructor CoroutineIntrinsics()
    @kotlin.SinceKotlin(version = "1.1") public final val SUSPENDED: kotlin.Any
        public final fun <get-SUSPENDED>(): kotlin.Any
    public final inline suspend fun </*0*/ T> suspendCoroutineOrReturn(/*0*/ block: (kotlin.coroutines.Continuation<T>) -> kotlin.Any?): T
}

@kotlin.SinceKotlin(version = "1.1") @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS}) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) public final annotation class RestrictsSuspendExtensions : kotlin.Annotation {
    /*primary*/ public constructor RestrictsSuspendExtensions()
}
