Move coroutine-related runtime parts to kotlin.coroutines.experimental package

#KT-15975 Fixed
This commit is contained in:
Denis Zharkov
2017-01-26 13:56:10 +03:00
parent cb4914ab56
commit 8fa8ba7055
160 changed files with 451 additions and 430 deletions
@@ -2,8 +2,8 @@
@file:kotlin.jvm.JvmName("SequencesKt")
package kotlin.sequences
import kotlin.coroutines.*
import kotlin.coroutines.intrinsics.*
import kotlin.coroutines.experimental.*
import kotlin.coroutines.experimental.intrinsics.*
/**
* Builds a [Sequence] lazily yielding values one by one.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
package kotlin.coroutines
package kotlin.coroutines.experimental
/**
* Marks coroutine context element that intercepts coroutine continuations.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
package kotlin.coroutines
package kotlin.coroutines.experimental
/**
* Persistent context for the coroutine. It is an indexed set of [Element] instances.
@@ -14,9 +14,9 @@
* limitations under the License.
*/
package kotlin.coroutines
package kotlin.coroutines.experimental
import kotlin.coroutines.CoroutineContext.*
import kotlin.coroutines.experimental.CoroutineContext.*
/**
* Base class for [CoroutineContext.Element] implementations.
@@ -1,5 +1,5 @@
/*
* Copyright 2010-2016 JetBrains s.r.o.
* Copyright 2010-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
package kotlin.coroutines
package kotlin.coroutines.experimental
/**
* Interface representing a continuation after a suspension point that returns value of type `T`.
@@ -1,11 +1,28 @@
/*
* Copyright 2010-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
@file:kotlin.jvm.JvmName("CoroutinesKt")
@file:kotlin.jvm.JvmVersion
package kotlin.coroutines
package kotlin.coroutines.experimental
import java.lang.IllegalStateException
import java.util.concurrent.atomic.AtomicReferenceFieldUpdater
import kotlin.coroutines.intrinsics.SUSPENDED_MARKER
import kotlin.coroutines.intrinsics.suspendCoroutineOrReturn
import kotlin.coroutines.experimental.intrinsics.SUSPENDED_MARKER
import kotlin.coroutines.experimental.intrinsics.suspendCoroutineOrReturn
import kotlin.coroutines.experimental.jvm.internal.CoroutineImpl
/**
* Creates coroutine with receiver type [R] and result type [T].
@@ -18,7 +35,8 @@ import kotlin.coroutines.intrinsics.suspendCoroutineOrReturn
public fun <R, T> (suspend R.() -> T).createCoroutine(
receiver: R,
completion: Continuation<T>
): Continuation<Unit> = ((this as kotlin.coroutines.jvm.internal.CoroutineImpl).create(receiver, completion) as kotlin.coroutines.jvm.internal.CoroutineImpl).facade
): Continuation<Unit> =
((this as CoroutineImpl).create(receiver, completion) as CoroutineImpl).facade
/**
* Starts coroutine with receiver type [R] and result type [T].
@@ -44,7 +62,7 @@ public fun <R, T> (suspend R.() -> T).startCoroutine(
@Suppress("UNCHECKED_CAST")
public fun <T> (suspend () -> T).createCoroutine(
completion: Continuation<T>
): Continuation<Unit> = ((this as kotlin.coroutines.jvm.internal.CoroutineImpl).create(completion) as kotlin.coroutines.jvm.internal.CoroutineImpl).facade
): Continuation<Unit> = ((this as CoroutineImpl).create(completion) as CoroutineImpl).facade
/**
* Starts coroutine without receiver and with result type [T].
@@ -16,9 +16,9 @@
@file:kotlin.jvm.JvmName("IntrinsicsKt")
package kotlin.coroutines.intrinsics
package kotlin.coroutines.experimental.intrinsics
import kotlin.coroutines.Continuation
import kotlin.coroutines.experimental.Continuation
/**
* Obtains the current continuation instance inside suspend functions and either suspend
@@ -15,13 +15,13 @@
*/
@file:JvmVersion
package kotlin.coroutines.jvm.internal
package kotlin.coroutines.experimental.jvm.internal
import java.lang.IllegalStateException
import kotlin.coroutines.Continuation
import kotlin.coroutines.ContinuationInterceptor
import kotlin.coroutines.CoroutineContext
import kotlin.coroutines.intrinsics.SUSPENDED_MARKER
import kotlin.coroutines.experimental.Continuation
import kotlin.coroutines.experimental.ContinuationInterceptor
import kotlin.coroutines.experimental.CoroutineContext
import kotlin.coroutines.experimental.intrinsics.SUSPENDED_MARKER
import kotlin.jvm.internal.Lambda
abstract class CoroutineImpl(
@@ -16,9 +16,10 @@
@file:JvmVersion
@file:JvmName("CoroutineIntrinsics")
package kotlin.coroutines.jvm.internal
package kotlin.coroutines.experimental.jvm.internal
import kotlin.coroutines.Continuation
import kotlin.coroutines.experimental.Continuation
import kotlin.coroutines.experimental.jvm.internal.CoroutineImpl
fun <T> normalizeContinuation(continuation: Continuation<T>): Continuation<T> =
(continuation as? kotlin.coroutines.jvm.internal.CoroutineImpl)?.facade ?: continuation
(continuation as? CoroutineImpl)?.facade ?: continuation