From 20c7a97bcd84670b21c9ad589867a045731d4283 Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Mon, 20 Aug 2018 13:40:46 +0300 Subject: [PATCH] Make experimental/release COROUTINE_SUSPENDED reference the same instance It's necessary when mixing experimental/release coroutines together #KT-25683 In Progress --- .../coroutines/src/kotlin/coroutines/intrinsics/Intrinsics.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/stdlib/coroutines/src/kotlin/coroutines/intrinsics/Intrinsics.kt b/libraries/stdlib/coroutines/src/kotlin/coroutines/intrinsics/Intrinsics.kt index 8a8e45a2901..7279f5e26de 100644 --- a/libraries/stdlib/coroutines/src/kotlin/coroutines/intrinsics/Intrinsics.kt +++ b/libraries/stdlib/coroutines/src/kotlin/coroutines/intrinsics/Intrinsics.kt @@ -47,11 +47,11 @@ public suspend inline fun suspendCoroutineUninterceptedOrReturn(crossinline // It is implemented as property with getter to avoid ProGuard problem with multifile IntrinsicsKt class @SinceKotlin("1.3") public val COROUTINE_SUSPENDED: Any - get() = CoroutineSingletons.COROUTINE_SUSPENDED + get() = kotlin.coroutines.experimental.intrinsics.COROUTINE_SUSPENDED // Using enum here ensures two important properties: // 1. It makes SafeContinuation serializable with all kinds of serialization frameworks (since all of them natively support enums) // 2. It improves debugging experience, since you clearly see toString() value of those objects and what package they come from @SinceKotlin("1.3") @PublishedApi // This class is Published API via serialized representation of SafeContinuation, don't rename/move -internal enum class CoroutineSingletons { COROUTINE_SUSPENDED, UNDECIDED, RESUMED } +internal enum class CoroutineSingletons { UNDECIDED, RESUMED }