1 /* 2 * Copyright 2016-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 */ 4 5 package kotlinx.coroutines 6 7 import kotlinx.coroutines.internal.* 8 9 internal actual abstract class CompletionHandlerBase actual constructor() : LockFreeLinkedListNode(), CompletionHandler { 10 actual abstract override fun invoke(cause: Throwable?) 11 } 12 13 internal actual inline val CompletionHandlerBase.asHandler: CompletionHandler get() = this 14 15 internal actual abstract class CancelHandlerBase actual constructor() : CompletionHandler { 16 actual abstract override fun invoke(cause: Throwable?) 17 } 18 19 internal actual inline val CancelHandlerBase.asHandler: CompletionHandler get() = this 20 21 @Suppress("NOTHING_TO_INLINE") 22 internal actual inline fun CompletionHandler.invokeIt(cause: Throwable?) = invoke(cause)