@Override public void computeChildren(@NotNull final XCompositeNode node) { if (node.isObsolete()) return; XStackFrame xFrame = getDescriptor().getXStackFrame(); if (xFrame != null) { xFrame.computeChildren(node); return; } myDebugProcess .getManagerThread() .schedule( new DebuggerContextCommandImpl( myDebugProcess.getDebuggerContext(), myDescriptor.getFrameProxy().threadProxy()) { @Override public Priority getPriority() { return Priority.NORMAL; } @Override public void threadAction() { if (node.isObsolete()) return; XValueChildrenList children = new XValueChildrenList(); buildVariablesThreadAction(getFrameDebuggerContext(), children, node); node.addChildren(children, true); } }); }
public JavaStackFrame(@NotNull StackFrameDescriptorImpl descriptor, boolean update) { myDescriptor = descriptor; if (update) { myDescriptor.setContext(null); myDescriptor.updateRepresentation(null, DescriptorLabelListener.DUMMY_LISTENER); } myEqualityObject = update ? NodeManagerImpl.getContextKeyForFrame(myDescriptor.getFrameProxy()) : null; myDebugProcess = ((DebugProcessImpl) descriptor.getDebugProcess()); myNodeManager = myDebugProcess.getXdebugProcess().getNodeManager(); myXSourcePosition = myDescriptor.getSourcePosition() != null ? DebuggerUtilsEx.toXSourcePosition(myDescriptor.getSourcePosition()) : null; }
@NotNull public StackFrameProxyImpl getStackFrameProxy() { return myDescriptor.getFrameProxy(); }