package com.siberika.idea.pascal.debugger.gdb; import com.intellij.xdebugger.frame.XExecutionStack; import com.intellij.xdebugger.frame.XSuspendContext; import com.siberika.idea.pascal.debugger.gdb.parser.GdbMiLine; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** * Author: George Bakhtadze * Date: 31/03/2017 */ public class GdbSuspendContext extends XSuspendContext { private final GdbXDebugProcess process; private final XExecutionStack stack; private XExecutionStack.XStackFrameContainer stackFrameContainer; public GdbSuspendContext(GdbXDebugProcess process, GdbMiLine line) { this.process = process; this.stack = new GdbExecutionStack(this, line); } @Nullable @Override public XExecutionStack getActiveExecutionStack() { return stack; } @NotNull @Override public XExecutionStack[] getExecutionStacks() { return super.getExecutionStacks(); } public GdbXDebugProcess getProcess() { return process; } public XExecutionStack.XStackFrameContainer getStackFrameContainer() { return stackFrameContainer; } public void setStackFrameContainer(XExecutionStack.XStackFrameContainer stackFrameContainer) { this.stackFrameContainer = stackFrameContainer; } }