Support new suspend convention in JVM backend partially

Stack-unwinding does not work yet

 #KT-14924 In Progress
This commit is contained in:
Denis Zharkov
2016-11-24 18:43:01 +03:00
parent 2c3b0aeddb
commit 1f98accad2
98 changed files with 366 additions and 190 deletions
+1 -1
View File
@@ -53,7 +53,7 @@ class FutureController<T> {
val future = CompletableFuture<T>()
suspend fun <V> await(f: CompletableFuture<V>, machine: Continuation<V>) {
suspend fun <V> await(f: CompletableFuture<V>) = suspendWithCurrentContinuation<V> { machine ->
f.whenComplete { value, throwable ->
if (throwable == null)
machine.resume(value)
+1 -1
View File
@@ -49,7 +49,7 @@ fun <T> async(coroutine c: FutureController<T>.() -> Continuation<Unit>): Comple
class FutureController<T> {
val future = CompletableFuture<T>()
suspend fun <V> await(f: CompletableFuture<V>, machine: Continuation<V>) {
suspend fun <V> await(f: CompletableFuture<V>) = suspendWithCurrentContinuation<V> { machine ->
f.whenComplete { value, throwable ->
if (throwable == null)
machine.resume(value)