commonMain.internal.Symbol.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of kotlinx-coroutines-core
Show all versions of kotlinx-coroutines-core
Coroutines support libraries for Kotlin
/*
* Copyright 2016-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/
package kotlinx.coroutines.internal
import kotlin.jvm.*
/**
* A symbol class that is used to define unique constants that are self-explanatory in debugger.
*
* @suppress **This is unstable API and it is subject to change.**
*/
internal class Symbol(@JvmField val symbol: String) {
override fun toString(): String = "<$symbol>"
@Suppress("UNCHECKED_CAST", "NOTHING_TO_INLINE")
inline fun unbox(value: Any?): T = if (value === this) null as T else value as T
}