Minor. Get rid of code duplications for resume call wrapping in stdlib

Use processBareContinuationResume instead
This commit is contained in:
Denis Zharkov
2017-02-01 10:54:13 +03:00
parent 6dde567be4
commit 230564fb4a
4 changed files with 9 additions and 31 deletions
+1 -12
View File
@@ -15,7 +15,6 @@
*/
package kotlin.coroutines.experimental
import kotlin.coroutines.experimental.intrinsics.*
internal fun <R, T> (suspend R.() -> T).createCoroutineInternal(
@@ -51,17 +50,7 @@ internal abstract class CoroutineImpl(private val resultContinuation: Continuati
}
protected fun doResumeWrapper() {
try {
result = doResume()
if (result !== COROUTINE_SUSPENDED) {
val data = result
result = COROUTINE_SUSPENDED
resultContinuation.resume(data)
}
}
catch (e: Throwable) {
resultContinuation.resumeWithException(e)
}
processBareContinuationResume(resultContinuation) { doResume() }
}
protected abstract fun doResume(): Any?