package bluej.debugger;

import threadchecker.OnThread;
import threadchecker.Tag;

import java.util.List;


| A class defining the debugger thread primitives needed by BlueJ. | | @author Michael Cahill | @author Michael Kolling | @author Andrew Patterson | public abstract class DebuggerThread { public abstract String getName(); public abstract String getStatus(); @OnThread(Tag.Any) public abstract boolean isSuspended(); public abstract boolean isAtBreakpoint(); public abstract String getClass(int frameNo); public abstract String getClassSourceName(int frameNo); public abstract int getLineNumber(int frameNo); public abstract boolean isKnownSystemThread();
| Get the current execution of the stack. This is only reliable if the | thread is currently halted. | @OnThread(Tag.Any) public abstract List getStack(); @OnThread(Tag.Any) public abstract List getLocalVariables(int frameNo); public abstract boolean varIsObject(int frameNo, int index); public abstract DebuggerObject getStackObject(int frameNo, int index);
| Return the current instance object of some frame on this thread. | The returned object may represent the null reference if the frame | is for a static method. | @OnThread(Tag.Any) public abstract DebuggerObject getCurrentObject(int frameNo);
| Return the current class of this thread (may return null if the | class cannot be determined). | public abstract DebuggerClass getCurrentClass(int frameNo); public abstract void setSelectedFrame(int frame); public abstract int getSelectedFrame(); @OnThread(Tag.Any) public abstract void halt(); @OnThread(Tag.Any) public abstract void cont();
| Step to the next line in the current method. This is only valid when the thread is | suspended. It is safe to call this from a DebuggerListener. | public abstract void step();
| Step to the next executed line (which might be in a called method). This is only valid when the | thread is suspended. It is safe to call this from a DebuggerListener. | @OnThread(Tag.Any) public abstract void stepInto(); @OnThread(Tag.Any) public abstract boolean sameThread(DebuggerThread thread); }
top, use, map, abstract class DebuggerThread

.   getName
.   getStatus
.   isSuspended
.   isAtBreakpoint
.   getClass
.   getClassSourceName
.   getLineNumber
.   isKnownSystemThread
.   getStack
.   getLocalVariables
.   varIsObject
.   getStackObject
.   getCurrentObject
.   getCurrentClass
.   setSelectedFrame
.   getSelectedFrame
.   halt
.   cont
.   step
.   stepInto
.   sameThread




70 neLoCode + 15 LoComm