aboutsummaryrefslogtreecommitdiffstats
path: root/kotlinx-coroutines-core/jvm/src/CompletionHandler.kt
diff options
context:
space:
mode:
Diffstat (limited to 'kotlinx-coroutines-core/jvm/src/CompletionHandler.kt')
-rw-r--r--kotlinx-coroutines-core/jvm/src/CompletionHandler.kt22
1 files changed, 22 insertions, 0 deletions
diff --git a/kotlinx-coroutines-core/jvm/src/CompletionHandler.kt b/kotlinx-coroutines-core/jvm/src/CompletionHandler.kt
new file mode 100644
index 00000000..d425d6d8
--- /dev/null
+++ b/kotlinx-coroutines-core/jvm/src/CompletionHandler.kt
@@ -0,0 +1,22 @@
+/*
+ * Copyright 2016-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
+ */
+
+package kotlinx.coroutines
+
+import kotlinx.coroutines.internal.*
+
+internal actual abstract class CompletionHandlerBase actual constructor() : LockFreeLinkedListNode(), CompletionHandler {
+ actual abstract override fun invoke(cause: Throwable?)
+}
+
+internal actual inline val CompletionHandlerBase.asHandler: CompletionHandler get() = this
+
+internal actual abstract class CancelHandlerBase actual constructor() : CompletionHandler {
+ actual abstract override fun invoke(cause: Throwable?)
+}
+
+internal actual inline val CancelHandlerBase.asHandler: CompletionHandler get() = this
+
+@Suppress("NOTHING_TO_INLINE")
+internal actual inline fun CompletionHandler.invokeIt(cause: Throwable?) = invoke(cause) \ No newline at end of file