Debugger: Coroutines stack frames with variables & coroutine dumps

This commit is contained in:
Aleksandr Prokopyev
2019-07-08 21:06:34 +03:00
committed by Vladimir Ilmov
parent c459b2ca6e
commit 5975251a32
21 changed files with 1923 additions and 2 deletions
@@ -6,10 +6,12 @@
package org.jetbrains.kotlin.idea.debugger.evaluate
import com.intellij.debugger.engine.DebugProcessImpl
import com.intellij.debugger.engine.DebuggerManagerThreadImpl
import com.intellij.debugger.engine.SuspendContextImpl
import com.intellij.debugger.engine.evaluation.EvaluateException
import com.intellij.debugger.engine.evaluation.EvaluateExceptionUtil
import com.intellij.debugger.engine.evaluation.EvaluationContextImpl
import com.intellij.debugger.impl.DebuggerContextImpl
import com.intellij.debugger.impl.DebuggerUtilsEx
import com.intellij.debugger.jdi.StackFrameProxyImpl
import com.intellij.debugger.jdi.VirtualMachineProxyImpl
@@ -98,4 +100,9 @@ class ExecutionContext(val evaluationContext: EvaluationContextImpl, val framePr
@Suppress("DEPRECATION")
DebuggerUtilsEx.keep(reference, evaluationContext)
}
}
fun DebuggerContextImpl.createExecutionContext(): ExecutionContext? {
val context = createEvaluationContext()
return ExecutionContext(context ?: return null, frameProxy ?: return null)
}