(CoroutineDebugger) Alternative CoroutineInfoProvider added

Added way to retrieve coroutine information without an agent
in target JVM. 'kotlin.debugger.coroutines.switch' provides
two possibilities to test coroutines.
Agent way gets activated once kotlinx.coroutines.debug.DebugProbes
started with javaagent.
Library-less ways use DispatchedContinuation or ChildContinuationImpl
classes to retrieve coroutine information and stack traces.
This commit is contained in:
Vladimir Ilmov
2020-03-17 09:40:28 +01:00
parent ac6036f366
commit cd12226f20
48 changed files with 1902 additions and 1094 deletions
@@ -194,6 +194,7 @@ sealed class BaseExecutionContext(val evaluationContext: EvaluationContextImpl)
fun findAndInvoke(instance: ObjectReference, name: String, methodSignature: String? = null, vararg params: Value): Value? {
val type = instance.referenceType()
type.allMethods()
val method =
if (methodSignature is String)
type.methodsByName(name, methodSignature).single()