From db34555800ba67e902e31e235b34d2a71138e085 Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Mon, 20 Aug 2018 12:29:21 +0300 Subject: [PATCH] Use package property COROUTINE_SUSPENDED instead of enum entry For sake of encapsulation: actual property content might be different from the entry --- .../js/src/kotlin/coroutines/SafeContinuationJs.kt | 1 + .../js/src/kotlin/coroutines/js/internal/CoroutineImpl.kt | 6 +++--- .../jvm/src/kotlin/coroutines/SafeContinuationJvm.kt | 1 + .../src/kotlin/coroutines/jvm/internal/ContinuationImpl.kt | 4 ++-- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/libraries/stdlib/coroutines/js/src/kotlin/coroutines/SafeContinuationJs.kt b/libraries/stdlib/coroutines/js/src/kotlin/coroutines/SafeContinuationJs.kt index 15fdbd7f4d1..de631eab968 100644 --- a/libraries/stdlib/coroutines/js/src/kotlin/coroutines/SafeContinuationJs.kt +++ b/libraries/stdlib/coroutines/js/src/kotlin/coroutines/SafeContinuationJs.kt @@ -6,6 +6,7 @@ package kotlin.coroutines import kotlin.coroutines.intrinsics.CoroutineSingletons.* +import kotlin.coroutines.intrinsics.COROUTINE_SUSPENDED @PublishedApi @SinceKotlin("1.3") diff --git a/libraries/stdlib/coroutines/js/src/kotlin/coroutines/js/internal/CoroutineImpl.kt b/libraries/stdlib/coroutines/js/src/kotlin/coroutines/js/internal/CoroutineImpl.kt index b335a1289fe..310f95a6316 100644 --- a/libraries/stdlib/coroutines/js/src/kotlin/coroutines/js/internal/CoroutineImpl.kt +++ b/libraries/stdlib/coroutines/js/src/kotlin/coroutines/js/internal/CoroutineImpl.kt @@ -5,7 +5,7 @@ package kotlin.coroutines -import kotlin.coroutines.intrinsics.CoroutineSingletons +import kotlin.coroutines.intrinsics.COROUTINE_SUSPENDED @SinceKotlin("1.3") @JsName("CoroutineImpl") @@ -45,7 +45,7 @@ internal abstract class CoroutineImpl(private val resultContinuation: Continuati try { val outcome = doResume() - if (outcome === CoroutineSingletons.COROUTINE_SUSPENDED) return + if (outcome === COROUTINE_SUSPENDED) return currentResult = outcome currentException = null } catch (exception: dynamic) { // Catch all exceptions @@ -89,4 +89,4 @@ internal object CompletedContinuation : Continuation { } override fun toString(): String = "This continuation is already complete" -} \ No newline at end of file +} diff --git a/libraries/stdlib/coroutines/jvm/src/kotlin/coroutines/SafeContinuationJvm.kt b/libraries/stdlib/coroutines/jvm/src/kotlin/coroutines/SafeContinuationJvm.kt index 0c101298e7e..a52f19a3412 100644 --- a/libraries/stdlib/coroutines/jvm/src/kotlin/coroutines/SafeContinuationJvm.kt +++ b/libraries/stdlib/coroutines/jvm/src/kotlin/coroutines/SafeContinuationJvm.kt @@ -7,6 +7,7 @@ package kotlin.coroutines import java.util.concurrent.atomic.AtomicReferenceFieldUpdater import kotlin.* import kotlin.coroutines.intrinsics.CoroutineSingletons.* +import kotlin.coroutines.intrinsics.COROUTINE_SUSPENDED @PublishedApi @SinceKotlin("1.3") diff --git a/libraries/stdlib/coroutines/jvm/src/kotlin/coroutines/jvm/internal/ContinuationImpl.kt b/libraries/stdlib/coroutines/jvm/src/kotlin/coroutines/jvm/internal/ContinuationImpl.kt index 10c0e83c64c..ea01c7defad 100644 --- a/libraries/stdlib/coroutines/jvm/src/kotlin/coroutines/jvm/internal/ContinuationImpl.kt +++ b/libraries/stdlib/coroutines/jvm/src/kotlin/coroutines/jvm/internal/ContinuationImpl.kt @@ -7,7 +7,7 @@ package kotlin.coroutines.jvm.internal import java.io.Serializable import kotlin.coroutines.* -import kotlin.coroutines.intrinsics.CoroutineSingletons +import kotlin.coroutines.intrinsics.COROUTINE_SUSPENDED import kotlin.jvm.internal.FunctionBase import kotlin.jvm.internal.Reflection @@ -30,7 +30,7 @@ internal abstract class BaseContinuationImpl( val outcome: SuccessOrFailure = try { val outcome = invokeSuspend(param) - if (outcome === CoroutineSingletons.COROUTINE_SUSPENDED) return + if (outcome === COROUTINE_SUSPENDED) return SuccessOrFailure.success(outcome) } catch (exception: Throwable) { SuccessOrFailure.failure(exception)