1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Implement new method setCurrentStackFrame().

This commit is contained in:
Alain Magloire 2003-01-29 02:56:48 +00:00
parent 634ee50f22
commit e44439b1a2

View file

@ -28,9 +28,9 @@ import org.eclipse.cdt.debug.mi.core.output.MIStackListFramesInfo;
*/ */
public class Thread extends CObject implements ICDIThread { public class Thread extends CObject implements ICDIThread {
static StackFrame[] noStack = new StackFrame[0]; static ICDIStackFrame[] noStack = new ICDIStackFrame[0];
int id; int id;
StackFrame currentFrame; ICDIStackFrame currentFrame;
int stackdepth = 0; int stackdepth = 0;
public Thread(ICDITarget target, int threadId) { public Thread(ICDITarget target, int threadId) {
@ -55,7 +55,7 @@ public class Thread extends CObject implements ICDIThread {
if (currentFrame == null) { if (currentFrame == null) {
ICDIStackFrame[] frames = getStackFrames(0, 0); ICDIStackFrame[] frames = getStackFrames(0, 0);
if (frames.length > 0) { if (frames.length > 0) {
currentFrame = (StackFrame)frames[0]; currentFrame = frames[0];
} }
} }
return currentFrame; return currentFrame;
@ -66,7 +66,7 @@ public class Thread extends CObject implements ICDIThread {
*/ */
public ICDIStackFrame[] getStackFrames() throws CDIException { public ICDIStackFrame[] getStackFrames() throws CDIException {
StackFrame[] stacks = noStack; ICDIStackFrame[] stacks = noStack;
Session session = (Session)getTarget().getSession(); Session session = (Session)getTarget().getSession();
Target currentTarget = (Target)session.getCurrentTarget(); Target currentTarget = (Target)session.getCurrentTarget();
ICDIThread currentThread = currentTarget.getCurrentThread(); ICDIThread currentThread = currentTarget.getCurrentThread();
@ -137,7 +137,7 @@ public class Thread extends CObject implements ICDIThread {
* @see org.eclipse.cdt.debug.core.cdi.model.ICDIThread#getStackFrames() * @see org.eclipse.cdt.debug.core.cdi.model.ICDIThread#getStackFrames()
*/ */
public ICDIStackFrame[] getStackFrames(int low, int high) throws CDIException { public ICDIStackFrame[] getStackFrames(int low, int high) throws CDIException {
StackFrame[] stacks = noStack; ICDIStackFrame[] stacks = noStack;
Session session = (Session)getTarget().getSession(); Session session = (Session)getTarget().getSession();
Target currentTarget = (Target)session.getCurrentTarget(); Target currentTarget = (Target)session.getCurrentTarget();
ICDIThread currentThread = currentTarget.getCurrentThread(); ICDIThread currentThread = currentTarget.getCurrentThread();
@ -179,18 +179,13 @@ public class Thread extends CObject implements ICDIThread {
* @see org.eclipse.cdt.debug.core.cdi.model.ICDIThread#setCurrentStackFrame(ICDIStackFrame) * @see org.eclipse.cdt.debug.core.cdi.model.ICDIThread#setCurrentStackFrame(ICDIStackFrame)
*/ */
public void setCurrentStackFrame(ICDIStackFrame stackframe) throws CDIException { public void setCurrentStackFrame(ICDIStackFrame stackframe) throws CDIException {
if (stackframe instanceof StackFrame) {
setCurrentStackFrame((StackFrame)stackframe);
} else {
throw new CDIException("Unknown stackframe");
}
}
public void setCurrentStackFrame(StackFrame stackframe) throws CDIException {
setCurrentStackFrame(stackframe, true); setCurrentStackFrame(stackframe, true);
} }
public void setCurrentStackFrame(StackFrame stackframe, boolean doUpdate) throws CDIException { /**
* @see org.eclipse.cdt.debug.core.cdi.model.ICDIThread#setCurrentStackFrame(ICDIStackFrame, boolean)
*/
public void setCurrentStackFrame(ICDIStackFrame stackframe, boolean doUpdate) throws CDIException {
int frameNum = 0; int frameNum = 0;
if (stackframe != null) { if (stackframe != null) {
frameNum = stackframe.getLevel(); frameNum = stackframe.getLevel();