diff options
Diffstat (limited to 'org.eclipse.debug.examples.memory/src/org/eclipse/debug/examples/internal/memory/core/SampleThread.java')
-rw-r--r-- | org.eclipse.debug.examples.memory/src/org/eclipse/debug/examples/internal/memory/core/SampleThread.java | 568 |
1 files changed, 284 insertions, 284 deletions
diff --git a/org.eclipse.debug.examples.memory/src/org/eclipse/debug/examples/internal/memory/core/SampleThread.java b/org.eclipse.debug.examples.memory/src/org/eclipse/debug/examples/internal/memory/core/SampleThread.java index 0ab12f5db..c95ded988 100644 --- a/org.eclipse.debug.examples.memory/src/org/eclipse/debug/examples/internal/memory/core/SampleThread.java +++ b/org.eclipse.debug.examples.memory/src/org/eclipse/debug/examples/internal/memory/core/SampleThread.java @@ -1,287 +1,287 @@ -/*******************************************************************************
- * Copyright (c) 2013, 2015 IBM Corporation and others.
+/******************************************************************************* + * Copyright (c) 2013, 2015 IBM Corporation and others. * - * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
+ * This program and the accompanying materials + * are made available under the terms of the Eclipse Public License 2.0 + * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * - * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.examples.internal.memory.core;
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.DebugElement;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-
-/**
- * Abstract Sample Thread
- *
- */
-public class SampleThread extends DebugElement implements IThread {
-
- private SampleDebugTarget fTarget;
-
- /**
- * Constructs SampleThread
- *
- * @param target
- */
- public SampleThread(SampleDebugTarget target) {
- super(target);
- fTarget = target;
- try {
- getStackFrames();
- } catch (DebugException e) {
- e.printStackTrace();
- }
- fireEvent(new DebugEvent(this, DebugEvent.SUSPEND));
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.IThread#getStackFrames()
- */
- @Override
- public IStackFrame[] getStackFrames() throws DebugException {
- return ((SampleDebugTarget) getDebugTarget()).getEngine().getStackframes(this);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.IThread#hasStackFrames()
- */
- @Override
- public boolean hasStackFrames() throws DebugException {
-
- return true;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.IThread#getPriority()
- */
- @Override
- public int getPriority() throws DebugException {
-
- return 0;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.IThread#getTopStackFrame()
- */
- @Override
- public IStackFrame getTopStackFrame() throws DebugException {
- return ((SampleDebugTarget) getDebugTarget()).getEngine().getStackframes(this)[0];
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.IThread#getName()
- */
- @Override
- public String getName() throws DebugException {
- return Messages.SampleThread_0;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.IThread#getBreakpoints()
- */
- @Override
- public IBreakpoint[] getBreakpoints() {
-
- return new IBreakpoint[0];
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.IDebugElement#getModelIdentifier()
- */
- @Override
- public String getModelIdentifier() {
- return fTarget.getModelIdentifier();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.IDebugElement#getDebugTarget()
- */
- @Override
- public IDebugTarget getDebugTarget() {
- return fTarget;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.IDebugElement#getLaunch()
- */
- @Override
- public ILaunch getLaunch() {
- return fTarget.getLaunch();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.ISuspendResume#canResume()
- */
- @Override
- public boolean canResume() {
- return fTarget.canResume();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.ISuspendResume#canSuspend()
- */
- @Override
- public boolean canSuspend() {
- return fTarget.canSuspend();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.ISuspendResume#isSuspended()
- */
- @Override
- public boolean isSuspended() {
- return fTarget.isSuspended();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.ISuspendResume#resume()
- */
- @Override
- public void resume() throws DebugException {
- fTarget.resume();
-
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.ISuspendResume#suspend()
- */
- @Override
- public void suspend() throws DebugException {
- fTarget.suspend();
-
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.IStep#canStepInto()
- */
- @Override
- public boolean canStepInto() {
-
- return false;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.IStep#canStepOver()
- */
- @Override
- public boolean canStepOver() {
- if (!fTarget.isTerminated()) {
- return true;
- }
-
- return fTarget.isSuspended();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.IStep#canStepReturn()
- */
- @Override
- public boolean canStepReturn() {
-
- return false;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.IStep#isStepping()
- */
- @Override
- public boolean isStepping() {
-
- return false;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.IStep#stepInto()
- */
- @Override
- public void stepInto() throws DebugException {
-
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.IStep#stepOver()
- */
- @Override
- public void stepOver() throws DebugException {
- fTarget.resume();
- fTarget.suspend();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.IStep#stepReturn()
- */
- @Override
- public void stepReturn() throws DebugException {
-
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.ITerminate#canTerminate()
- */
- @Override
- public boolean canTerminate() {
- return fTarget.canTerminate();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.ITerminate#isTerminated()
- */
- @Override
- public boolean isTerminated() {
- return fTarget.isTerminated();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.ITerminate#terminate()
- */
- @Override
- public void terminate() throws DebugException {
- fTarget.terminate();
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public <T> T getAdapter(Class<T> adapter) {
- if (adapter == ILaunch.class) {
- return (T) getLaunch();
- }
- return super.getAdapter(adapter);
- }
-}
+ * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.debug.examples.internal.memory.core; + +import org.eclipse.debug.core.DebugEvent; +import org.eclipse.debug.core.DebugException; +import org.eclipse.debug.core.ILaunch; +import org.eclipse.debug.core.model.DebugElement; +import org.eclipse.debug.core.model.IBreakpoint; +import org.eclipse.debug.core.model.IDebugTarget; +import org.eclipse.debug.core.model.IStackFrame; +import org.eclipse.debug.core.model.IThread; + +/** + * Abstract Sample Thread + * + */ +public class SampleThread extends DebugElement implements IThread { + + private SampleDebugTarget fTarget; + + /** + * Constructs SampleThread + * + * @param target + */ + public SampleThread(SampleDebugTarget target) { + super(target); + fTarget = target; + try { + getStackFrames(); + } catch (DebugException e) { + e.printStackTrace(); + } + fireEvent(new DebugEvent(this, DebugEvent.SUSPEND)); + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.core.model.IThread#getStackFrames() + */ + @Override + public IStackFrame[] getStackFrames() throws DebugException { + return ((SampleDebugTarget) getDebugTarget()).getEngine().getStackframes(this); + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.core.model.IThread#hasStackFrames() + */ + @Override + public boolean hasStackFrames() throws DebugException { + + return true; + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.core.model.IThread#getPriority() + */ + @Override + public int getPriority() throws DebugException { + + return 0; + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.core.model.IThread#getTopStackFrame() + */ + @Override + public IStackFrame getTopStackFrame() throws DebugException { + return ((SampleDebugTarget) getDebugTarget()).getEngine().getStackframes(this)[0]; + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.core.model.IThread#getName() + */ + @Override + public String getName() throws DebugException { + return Messages.SampleThread_0; + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.core.model.IThread#getBreakpoints() + */ + @Override + public IBreakpoint[] getBreakpoints() { + + return new IBreakpoint[0]; + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.core.model.IDebugElement#getModelIdentifier() + */ + @Override + public String getModelIdentifier() { + return fTarget.getModelIdentifier(); + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.core.model.IDebugElement#getDebugTarget() + */ + @Override + public IDebugTarget getDebugTarget() { + return fTarget; + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.core.model.IDebugElement#getLaunch() + */ + @Override + public ILaunch getLaunch() { + return fTarget.getLaunch(); + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.core.model.ISuspendResume#canResume() + */ + @Override + public boolean canResume() { + return fTarget.canResume(); + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.core.model.ISuspendResume#canSuspend() + */ + @Override + public boolean canSuspend() { + return fTarget.canSuspend(); + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.core.model.ISuspendResume#isSuspended() + */ + @Override + public boolean isSuspended() { + return fTarget.isSuspended(); + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.core.model.ISuspendResume#resume() + */ + @Override + public void resume() throws DebugException { + fTarget.resume(); + + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.core.model.ISuspendResume#suspend() + */ + @Override + public void suspend() throws DebugException { + fTarget.suspend(); + + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.core.model.IStep#canStepInto() + */ + @Override + public boolean canStepInto() { + + return false; + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.core.model.IStep#canStepOver() + */ + @Override + public boolean canStepOver() { + if (!fTarget.isTerminated()) { + return true; + } + + return fTarget.isSuspended(); + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.core.model.IStep#canStepReturn() + */ + @Override + public boolean canStepReturn() { + + return false; + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.core.model.IStep#isStepping() + */ + @Override + public boolean isStepping() { + + return false; + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.core.model.IStep#stepInto() + */ + @Override + public void stepInto() throws DebugException { + + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.core.model.IStep#stepOver() + */ + @Override + public void stepOver() throws DebugException { + fTarget.resume(); + fTarget.suspend(); + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.core.model.IStep#stepReturn() + */ + @Override + public void stepReturn() throws DebugException { + + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.core.model.ITerminate#canTerminate() + */ + @Override + public boolean canTerminate() { + return fTarget.canTerminate(); + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.core.model.ITerminate#isTerminated() + */ + @Override + public boolean isTerminated() { + return fTarget.isTerminated(); + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.core.model.ITerminate#terminate() + */ + @Override + public void terminate() throws DebugException { + fTarget.terminate(); + + } + + @SuppressWarnings("unchecked") + @Override + public <T> T getAdapter(Class<T> adapter) { + if (adapter == ILaunch.class) { + return (T) getLaunch(); + } + return super.getAdapter(adapter); + } +} |