startUndispatchedCoroutine is renamed to startCoroutineUndispatched for consistency with coroutine intrinsics
diff --git a/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/Deferred.kt b/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/Deferred.kt
index 2e69343..a795d8b 100644
--- a/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/Deferred.kt
+++ b/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/Deferred.kt
@@ -16,7 +16,7 @@
package kotlinx.coroutines.experimental
-import kotlinx.coroutines.experimental.intrinsics.startUndispatchedCoroutine
+import kotlinx.coroutines.experimental.intrinsics.startCoroutineUndispatched
import kotlinx.coroutines.experimental.selects.SelectBuilder
import kotlinx.coroutines.experimental.selects.SelectInstance
import kotlinx.coroutines.experimental.selects.select
@@ -177,7 +177,7 @@
if (state is CompletedExceptionally)
select.resumeSelectWithException(state.exception, MODE_DIRECT)
else
- block.startUndispatchedCoroutine(state as T, select.completion)
+ block.startCoroutineUndispatched(state as T, select.completion)
}
return
}
diff --git a/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/Job.kt b/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/Job.kt
index 503f9a7..60cac4e 100644
--- a/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/Job.kt
+++ b/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/Job.kt
@@ -17,7 +17,7 @@
package kotlinx.coroutines.experimental
import kotlinx.coroutines.experimental.internal.*
-import kotlinx.coroutines.experimental.intrinsics.startUndispatchedCoroutine
+import kotlinx.coroutines.experimental.intrinsics.startCoroutineUndispatched
import kotlinx.coroutines.experimental.selects.SelectBuilder
import kotlinx.coroutines.experimental.selects.SelectInstance
import kotlinx.coroutines.experimental.selects.select
@@ -617,7 +617,7 @@
if (state !is Incomplete) {
// already complete -- select result
if (select.trySelect(idempotent = null))
- block.startUndispatchedCoroutine(select.completion)
+ block.startCoroutineUndispatched(select.completion)
return
}
if (startInternal(state) == 0) {
diff --git a/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/Scheduled.kt b/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/Scheduled.kt
index 7e47932..200f9d2 100644
--- a/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/Scheduled.kt
+++ b/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/Scheduled.kt
@@ -16,7 +16,7 @@
package kotlinx.coroutines.experimental
-import kotlinx.coroutines.experimental.intrinsics.startUndispatchedCoroutine
+import kotlinx.coroutines.experimental.intrinsics.startCoroutineUndispatched
import java.util.concurrent.ScheduledExecutorService
import java.util.concurrent.ScheduledThreadPoolExecutor
import java.util.concurrent.TimeUnit
@@ -81,7 +81,7 @@
cont.cancelFutureOnCompletion(scheduledExecutor.schedule(cont, time, unit))
// restart block using cancellable context of this continuation,
// however start it as undispatched coroutine, because we are already in the proper context
- block.startUndispatchedCoroutine(cont)
+ block.startCoroutineUndispatched(cont)
cont.getResult()
}
}
diff --git a/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/channels/AbstractChannel.kt b/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/channels/AbstractChannel.kt
index 1cfe134..a2b1c8a 100644
--- a/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/channels/AbstractChannel.kt
+++ b/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/channels/AbstractChannel.kt
@@ -18,7 +18,7 @@
import kotlinx.coroutines.experimental.*
import kotlinx.coroutines.experimental.internal.*
-import kotlinx.coroutines.experimental.intrinsics.startUndispatchedCoroutine
+import kotlinx.coroutines.experimental.intrinsics.startCoroutineUndispatched
import kotlinx.coroutines.experimental.selects.SelectInstance
import kotlin.coroutines.experimental.startCoroutine
@@ -341,7 +341,7 @@
offerResult === ALREADY_SELECTED -> return
offerResult === OFFER_FAILED -> {} // retry
offerResult === OFFER_SUCCESS -> {
- block.startUndispatchedCoroutine(select.completion)
+ block.startCoroutineUndispatched(select.completion)
return
}
offerResult is Closed<*> -> throw offerResult.sendException
@@ -531,7 +531,7 @@
pollResult === POLL_FAILED -> {} // retry
pollResult is Closed<*> -> throw pollResult.receiveException
else -> {
- block.startUndispatchedCoroutine(pollResult as E, select.completion)
+ block.startCoroutineUndispatched(pollResult as E, select.completion)
return
}
}
@@ -559,14 +559,14 @@
pollResult is Closed<*> -> {
if (pollResult.closeCause == null) {
if (select.trySelect(idempotent = null))
- block.startUndispatchedCoroutine(null, select.completion)
+ block.startCoroutineUndispatched(null, select.completion)
return
} else
throw pollResult.closeCause
}
else -> {
// selected successfully
- block.startUndispatchedCoroutine(pollResult as E, select.completion)
+ block.startCoroutineUndispatched(pollResult as E, select.completion)
return
}
}
diff --git a/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/intrinsics/Undispatched.kt b/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/intrinsics/Undispatched.kt
index 43419fb..e5b18c0 100644
--- a/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/intrinsics/Undispatched.kt
+++ b/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/intrinsics/Undispatched.kt
@@ -17,7 +17,7 @@
package kotlinx.coroutines.experimental.intrinsics
import kotlin.coroutines.experimental.Continuation
-import kotlin.coroutines.experimental.intrinsics.COROUTINE_SUSPENDED
+import kotlin.coroutines.experimental.intrinsics.*
import kotlin.coroutines.experimental.suspendCoroutine
/**
@@ -26,9 +26,9 @@
* @suppress **This is unstable API and it is subject to change.**
*/
@Suppress("PLATFORM_CLASS_MAPPED_TO_KOTLIN", "UNCHECKED_CAST")
-internal fun <R> (suspend () -> R).startUndispatchedCoroutine(completion: Continuation<R>) {
+internal fun <R> (suspend () -> R).startCoroutineUndispatched(completion: Continuation<R>) {
val value = try {
- (this as kotlin.jvm.functions.Function1<Continuation<R>, Any?>).invoke(completion)
+ startCoroutineUninterceptedOrReturn(completion)
} catch (e: Throwable) {
completion.resumeWithException(e)
return
@@ -43,9 +43,9 @@
* @suppress **This is unstable API and it is subject to change.**
*/
@Suppress("PLATFORM_CLASS_MAPPED_TO_KOTLIN", "UNCHECKED_CAST")
-internal fun <E, R> (suspend (E) -> R).startUndispatchedCoroutine(element: E, completion: Continuation<R>) {
+internal fun <E, R> (suspend (E) -> R).startCoroutineUndispatched(element: E, completion: Continuation<R>) {
val value = try {
- (this as kotlin.jvm.functions.Function2<E, Continuation<R>, Any?>).invoke(element, completion)
+ startCoroutineUninterceptedOrReturn(element, completion)
} catch (e: Throwable) {
completion.resumeWithException(e)
return
diff --git a/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/sync/Mutex.kt b/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/sync/Mutex.kt
index 66d32b1..9ea8875 100644
--- a/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/sync/Mutex.kt
+++ b/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/sync/Mutex.kt
@@ -18,7 +18,7 @@
import kotlinx.coroutines.experimental.*
import kotlinx.coroutines.experimental.internal.*
-import kotlinx.coroutines.experimental.intrinsics.startUndispatchedCoroutine
+import kotlinx.coroutines.experimental.intrinsics.startCoroutineUndispatched
import kotlinx.coroutines.experimental.selects.SelectBuilder
import kotlinx.coroutines.experimental.selects.SelectInstance
import kotlinx.coroutines.experimental.selects.select
@@ -217,7 +217,7 @@
val failure = select.performAtomicTrySelect(TryLockDesc(this, owner))
when {
failure == null -> { // success
- block.startUndispatchedCoroutine(select.completion)
+ block.startCoroutineUndispatched(select.completion)
return
}
failure === ALREADY_SELECTED -> return // already selected -- bail out
diff --git a/kotlinx-coroutines-core/src/test/kotlin/kotlinx/coroutines/experimental/selects/SelectArrayChannelTest.kt b/kotlinx-coroutines-core/src/test/kotlin/kotlinx/coroutines/experimental/selects/SelectArrayChannelTest.kt
index 4f468ef..1cee16b 100644
--- a/kotlinx-coroutines-core/src/test/kotlin/kotlinx/coroutines/experimental/selects/SelectArrayChannelTest.kt
+++ b/kotlinx-coroutines-core/src/test/kotlin/kotlinx/coroutines/experimental/selects/SelectArrayChannelTest.kt
@@ -19,7 +19,7 @@
import kotlinx.coroutines.experimental.TestBase
import kotlinx.coroutines.experimental.channels.ArrayChannel
import kotlinx.coroutines.experimental.channels.ClosedReceiveChannelException
-import kotlinx.coroutines.experimental.intrinsics.startUndispatchedCoroutine
+import kotlinx.coroutines.experimental.intrinsics.startCoroutineUndispatched
import kotlinx.coroutines.experimental.launch
import kotlinx.coroutines.experimental.runBlocking
import kotlinx.coroutines.experimental.yield
@@ -304,6 +304,6 @@
internal fun <R> SelectBuilder<R>.default(block: suspend () -> R) {
this as SelectBuilderImpl // type assertion
if (!trySelect(null)) return
- block.startUndispatchedCoroutine(this)
+ block.startCoroutineUndispatched(this)
}
}
\ No newline at end of file
diff --git a/kotlinx-coroutines-core/src/test/kotlin/kotlinx/coroutines/experimental/selects/SelectRendezvousChannelTest.kt b/kotlinx-coroutines-core/src/test/kotlin/kotlinx/coroutines/experimental/selects/SelectRendezvousChannelTest.kt
index c3e4333..6926d62 100644
--- a/kotlinx-coroutines-core/src/test/kotlin/kotlinx/coroutines/experimental/selects/SelectRendezvousChannelTest.kt
+++ b/kotlinx-coroutines-core/src/test/kotlin/kotlinx/coroutines/experimental/selects/SelectRendezvousChannelTest.kt
@@ -19,7 +19,7 @@
import kotlinx.coroutines.experimental.TestBase
import kotlinx.coroutines.experimental.channels.ClosedReceiveChannelException
import kotlinx.coroutines.experimental.channels.RendezvousChannel
-import kotlinx.coroutines.experimental.intrinsics.startUndispatchedCoroutine
+import kotlinx.coroutines.experimental.intrinsics.startCoroutineUndispatched
import kotlinx.coroutines.experimental.launch
import kotlinx.coroutines.experimental.runBlocking
import kotlinx.coroutines.experimental.yield
@@ -324,6 +324,6 @@
internal fun <R> SelectBuilder<R>.default(block: suspend () -> R) {
this as SelectBuilderImpl // type assertion
if (!trySelect(null)) return
- block.startUndispatchedCoroutine(this)
+ block.startCoroutineUndispatched(this)
}
}
\ No newline at end of file