@@ -112,9 +112,10 @@ internal abstract class AbstractSendChannel<E> : SendChannel<E> {
112
112
queue : LockFreeLinkedListHead ,
113
113
element : E
114
114
) : AddLastDesc<SendBuffered<E>>(queue, SendBuffered (element)) {
115
- override fun failure (affected : LockFreeLinkedListNode , next : Any ): Any? {
116
- if (affected is ReceiveOrClosed <* >) return OFFER_FAILED
117
- return null
115
+ override fun failure (affected : LockFreeLinkedListNode , next : Any ): Any? = when (affected) {
116
+ is Closed <* > -> affected
117
+ is ReceiveOrClosed <* > -> OFFER_FAILED
118
+ else -> null
118
119
}
119
120
}
120
121
@@ -332,10 +333,10 @@ internal abstract class AbstractSendChannel<E> : SendChannel<E> {
332
333
) : RemoveFirstDesc<ReceiveOrClosed<E>>(queue) {
333
334
@JvmField var resumeToken: Any? = null
334
335
335
- override fun failure (affected : LockFreeLinkedListNode , next : Any ): Any? {
336
- if (affected ! is ReceiveOrClosed <* >) return OFFER_FAILED
337
- if (affected is Closed <* >) return affected
338
- return null
336
+ override fun failure (affected : LockFreeLinkedListNode , next : Any ): Any? = when (affected) {
337
+ is Closed <* > -> affected
338
+ ! is ReceiveOrClosed <* > -> OFFER_FAILED
339
+ else -> null
339
340
}
340
341
341
342
override fun validatePrepared (node : ReceiveOrClosed <E >): Boolean {
@@ -633,10 +634,10 @@ internal abstract class AbstractChannel<E> : AbstractSendChannel<E>(), Channel<E
633
634
@JvmField var resumeToken: Any? = null
634
635
@JvmField var pollResult: E ? = null
635
636
636
- override fun failure (affected : LockFreeLinkedListNode , next : Any ): Any? {
637
- if (affected is Closed <* >) return affected
638
- if (affected !is Send ) return POLL_FAILED
639
- return null
637
+ override fun failure (affected : LockFreeLinkedListNode , next : Any ): Any? = when (affected) {
638
+ is Closed <* > -> affected
639
+ !is Send -> POLL_FAILED
640
+ else -> null
640
641
}
641
642
642
643
@Suppress(" UNCHECKED_CAST" )
0 commit comments