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