@Override protected DebugEventHandler[] createEventHandlers() { ThreadEventHandler threadEventHandler = new ThreadEventHandler(this); return new DebugEventHandler[] { new DebugTargetEventHandler(this), threadEventHandler, new StackFrameEventHandler(this, threadEventHandler) }; }
@Override public void installed(Viewer viewer) { super.installed(viewer); setInstalled(true); } }
/** * Dispatches a terminate event. * * @param event */ protected void dispatchTerminate(DebugEventHandler handler, DebugEvent event) { handler.handleTerminate(event); }
@Override protected void handleResume(DebugEvent event) { IThread thread = removeSuspendedThread(event); fireDeltaAndClearTopFrame(thread, IModelDelta.STATE | IModelDelta.CONTENT | IModelDelta.SELECT); thread = getNextSuspendedThread(); if (thread != null) { fireDeltaUpdatingSelectedFrame(thread, IModelDelta.NO_CHANGE | IModelDelta.REVEAL, event); } }
@Override public void launchesChanged(ILaunch[] launches) { for (int i = 0; i < launches.length; i++) { if (launches[i] == fLaunch) { fireDelta(IModelDelta.STATE | IModelDelta.CONTENT); installModelProxies(); break; } } }
@Override protected void handleSuspendTimeout(DebugEvent event) { IThread thread = removeSuspendedThread(event); // don't collapse thread when waiting for long step or evaluation to complete fireDeltaUpdatingThread(thread, IModelDelta.STATE); }
/** * Handles a terminate event. * * @param event the event to handle */ protected void handleTerminate(DebugEvent event) { refreshRoot(event); }
@Override public void dispose() { super.dispose(); fFrame = null; }
@Override public void expressionsRemoved(IExpression[] expressions) { updateExpressions(expressions, IModelDelta.REMOVED | IModelDelta.UNINSTALL); }
/** * Notification that a pending suspend event was not received for the given * resume event and handler within the timeout period. * * @param resume * resume event with missing suspend event */ protected void dispatchSuspendTimeout(DebugEventHandler handler, DebugEvent resume) { handler.handleSuspendTimeout(resume); }
@Override public void launchesRemoved(ILaunch[] launches) { for (int i = 0; i < launches.length; i++) { if (launches[i] == fLaunch) { fireDelta(IModelDelta.UNINSTALL); break; } } }
@Override public void launchesRemoved(ILaunch[] launches) { fireDelta(launches, IModelDelta.REMOVED); }
/** * Dispatches a create event. * * @param event */ protected void dispatchCreate(DebugEventHandler handler, DebugEvent event) { handler.handleCreate(event); }
/** * Dispatches a change event. * * @param event */ protected void dispatchChange(DebugEventHandler handler, DebugEvent event) { handler.handleChange(event); }
/** * Handles a resume event that is not expecting an immediate suspend event * * @param event the event to handle */ protected void handleResume(DebugEvent event) { refreshRoot(event); }
@Override public synchronized void dispose() { super.dispose(); fExpression = null; }
@Override public void expressionsChanged(IExpression[] expressions) { updateExpressions(expressions, IModelDelta.CONTENT | IModelDelta.STATE); }
/** * Handles a suspend event. * * @param event the event to handle */ protected void handleSuspend(DebugEvent event) { refreshRoot(event); }
/** * Handles an unknown event. * * @param event the event to handle */ protected void handleOther(DebugEvent event) { refreshRoot(event); }
/** * Handles the given suspend event which caused a timeout. It is * paired with its original resume event. * * @param suspend suspend event * @param resume resume event */ protected void handleLateSuspend(DebugEvent suspend, DebugEvent resume) { refreshRoot(suspend); }