diff --git a/idea/jvm-debugger/jvm-debugger-coroutine/src/org/jetbrains/kotlin/idea/debugger/coroutine/data/ContinuationValueDescriptorImpl.kt b/idea/jvm-debugger/jvm-debugger-coroutine/src/org/jetbrains/kotlin/idea/debugger/coroutine/data/ContinuationValueDescriptorImpl.kt index 4e637482913..84bb096f75c 100644 --- a/idea/jvm-debugger/jvm-debugger-coroutine/src/org/jetbrains/kotlin/idea/debugger/coroutine/data/ContinuationValueDescriptorImpl.kt +++ b/idea/jvm-debugger/jvm-debugger-coroutine/src/org/jetbrains/kotlin/idea/debugger/coroutine/data/ContinuationValueDescriptorImpl.kt @@ -12,13 +12,19 @@ import com.intellij.debugger.ui.impl.watch.ValueDescriptorImpl import com.intellij.openapi.project.Project import com.sun.jdi.ObjectReference import com.sun.jdi.Value +import org.jetbrains.kotlin.idea.debugger.evaluate.DefaultExecutionContext -class ContinuationValueDescriptorImpl( - project: Project, +class ContinuationVariableValueDescriptorImpl( + val defaultExecutionContext: DefaultExecutionContext, val continuation: ObjectReference, val fieldName: String, private val variableName: String -) : ValueDescriptorImpl(project) { +) : ValueDescriptorImpl(defaultExecutionContext.project) { + + init { + setContext(defaultExecutionContext.evaluationContext) + } + override fun calcValueName() = variableName override fun calcValue(evaluationContext: EvaluationContextImpl?): Value? { @@ -26,6 +32,9 @@ class ContinuationValueDescriptorImpl( return continuation.getValue(field) } + /** + * @TODO implement + */ override fun getDescriptorEvaluation(context: DebuggerContext?) = throw EvaluateException("Spilled variable evaluation is not supported") } \ No newline at end of file diff --git a/idea/jvm-debugger/jvm-debugger-coroutine/src/org/jetbrains/kotlin/idea/debugger/coroutine/proxy/ContinuationHolder.kt b/idea/jvm-debugger/jvm-debugger-coroutine/src/org/jetbrains/kotlin/idea/debugger/coroutine/proxy/ContinuationHolder.kt index 7056e87de34..3d76a7561ef 100644 --- a/idea/jvm-debugger/jvm-debugger-coroutine/src/org/jetbrains/kotlin/idea/debugger/coroutine/proxy/ContinuationHolder.kt +++ b/idea/jvm-debugger/jvm-debugger-coroutine/src/org/jetbrains/kotlin/idea/debugger/coroutine/proxy/ContinuationHolder.kt @@ -119,8 +119,8 @@ fun MirrorOfBaseContinuationImpl.spilledValues(context: DefaultExecutionContext) } fun FieldVariable.toJavaValue(continuation: ObjectReference, context: DefaultExecutionContext): JavaValue { - val valueDescriptor = ContinuationValueDescriptorImpl( - context.project, + val valueDescriptor = ContinuationVariableValueDescriptorImpl( + context, continuation, fieldName, variableName