diff --git a/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/coroutineTestUtil.kt b/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/coroutineTestUtil.kt index 93fda9e6e46..581ba57bdca 100644 --- a/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/coroutineTestUtil.kt +++ b/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/coroutineTestUtil.kt @@ -36,6 +36,21 @@ open class EmptyContinuation(override val context: CoroutineContext = EmptyCorou } } +abstract class ContinuationAdapter : Continuation { + override val context: CoroutineContext = EmptyCoroutineContext + + override fun resumeWith(result: Result) { + if (result.isSuccess) { + resume(result.getOrThrow()) + } else { + resumeWithException(result.exceptionOrNull()!!) + } + } + + abstract fun resumeWithException(exception: Throwable) + abstract fun resume(value: T) +} + class StateMachineCheckerClass { private var counter = 0 var finished = false @@ -66,7 +81,7 @@ class StateMachineCheckerClass { } } val StateMachineChecker = StateMachineCheckerClass() -object CheckStateMachineContinuation: Continuation() { +object CheckStateMachineContinuation: Continuation { override val context: CoroutineContext get() = EmptyCoroutineContext