1 package kotlinx.coroutines.debug.internal 2 3 import kotlin.coroutines.* 4 import kotlin.coroutines.jvm.internal.* 5 6 /** 7 * This class represents the data required by IDEA debugger. 8 * IDEA debugger either directly reads data from the corresponding JVM fields of this class or calls the getters, 9 * so we keep both for maximal flexibility for now. 10 * **DO NOT MAKE BINARY-INCOMPATIBLE CHANGES TO THIS CLASS**. 11 */ 12 @Suppress("unused") 13 @PublishedApi 14 internal class DebugCoroutineInfo internal constructor( 15 source: DebugCoroutineInfoImpl, 16 public val context: CoroutineContext // field is used as of 1.4-M3 17 ) { 18 internal val creationStackBottom: CoroutineStackFrame? = source.creationStackBottom // field is used as of 1.4-M3 19 public val sequenceNumber: Long = source.sequenceNumber // field is used as of 1.4-M3 20 public val creationStackTrace = source.creationStackTrace // getter is used as of 1.4-M3 21 public val state: String = source.state // getter is used as of 1.4-M3 22 public val lastObservedThread: Thread? = source.lastObservedThread // field is used as of 1.4-M3 23 public val lastObservedFrame: CoroutineStackFrame? = source.lastObservedFrame // field is used as of 1.4-M3 24 @get:JvmName("lastObservedStackTrace") // method with this name is used as of 1.4-M3 25 public val lastObservedStackTrace: List<StackTraceElement> = source.lastObservedStackTrace() 26 } 27