1 package kotlinx.coroutines.flow.internal
2 
3 import kotlinx.coroutines.internal.*
4 import kotlin.jvm.*
5 
6 /**
7  * This value is used a a surrogate `null` value when needed.
8  * It should never leak to the outside world.
9  * Its usage typically are paired with [Symbol.unbox] usages.
10  */
11 @JvmField
12 internal val NULL = Symbol("NULL")
13 
14 /**
15  * Symbol to indicate that the value is not yet initialized.
16  * It should never leak to the outside world.
17  */
18 @JvmField
19 internal val UNINITIALIZED = Symbol("UNINITIALIZED")
20 
21 /*
22  * Symbol used to indicate that the flow is complete.
23  * It should never leak to the outside world.
24  */
25 @JvmField
26 internal val DONE = Symbol("DONE")
27