(CoroutineDebugger) Keep coroutine info list reference from collection
#KT-38606 Fixed
This commit is contained in:
+1
-1
@@ -42,7 +42,7 @@ class DebugProbesImpl private constructor(context: DefaultExecutionContext) :
|
||||
|
||||
fun dumpCoroutinesInfo(context: DefaultExecutionContext): List<MirrorOfCoroutineInfo> {
|
||||
instance ?: return emptyList()
|
||||
val coroutinesInfoReference = objectValue(instance, dumpMethod, context)
|
||||
val coroutinesInfoReference = context.keepReference(objectValue(instance, dumpMethod, context))
|
||||
val referenceList = javaLangListMirror.mirror(coroutinesInfoReference, context) ?: return emptyList()
|
||||
return referenceList.values.mapNotNull { coroutineInfo.mirror(it, context) }
|
||||
}
|
||||
|
||||
+7
@@ -42,6 +42,13 @@ class DefaultExecutionContext(evaluationContext: EvaluationContextImpl) : BaseEx
|
||||
val frameProxy: StackFrameProxyImpl?
|
||||
get() =
|
||||
evaluationContext.frameProxy
|
||||
|
||||
fun keepReference(ref: ObjectReference?): ObjectReference? {
|
||||
ref?.let {
|
||||
super.keepReference(ref)
|
||||
}
|
||||
return ref
|
||||
}
|
||||
}
|
||||
|
||||
sealed class BaseExecutionContext(val evaluationContext: EvaluationContextImpl) {
|
||||
|
||||
Reference in New Issue
Block a user