package org.nodeclipse.debug.model;
import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.model.IDebugTarget;
import org.eclipse.debug.core.model.IRegisterGroup;
import org.eclipse.debug.core.model.IStackFrame;
import org.eclipse.debug.core.model.IThread;
import org.eclipse.debug.core.model.IVariable;
public class StackFrame extends NodeDebugElement implements IStackFrame {
private Thread thread;
private IVariable[] variables;
public StackFrame(IDebugTarget target, Thread thread) {
super(target);
// TODO Auto-generated constructor stub
this.thread = thread;
}
@Override
public boolean canStepInto() {
return thread.canStepInto();
}
@Override
public boolean canStepOver() {
return thread.canStepOver();
}
@Override
public boolean canStepReturn() {
return thread.canStepReturn();
}
@Override
public boolean isStepping() {
return thread.isStepping();
}
@Override
public void stepInto() throws DebugException {
thread.stepInto();
}
@Override
public void stepOver() throws DebugException {
thread.stepOver();
}
@Override
public void stepReturn() throws DebugException {
thread.stepReturn();
}
@Override
public boolean canResume() {
return getDebugTarget().canResume();
}
@Override
public boolean canSuspend() {
return getDebugTarget().canSuspend();
}
@Override
public boolean isSuspended() {
return getDebugTarget().isSuspended();
}
@Override
public void resume() throws DebugException {
getDebugTarget().resume();
}
@Override
public void suspend() throws DebugException {
getDebugTarget().suspend();
}
@Override
public boolean canTerminate() {
return getDebugTarget().canTerminate();
}
@Override
public boolean isTerminated() {
return getDebugTarget().isTerminated();
}
@Override
public void terminate() throws DebugException {
getDebugTarget().terminate();
}
@Override
public IThread getThread() {
return thread;
}
@Override
public IVariable[] getVariables() throws DebugException {
// TODO Auto-generated method stub
if (variables == null) {
// variables = getVariablesImpl();
}
return variables;
}
@Override
public boolean hasVariables() throws DebugException {
return true;
}
@Override
public int getLineNumber() throws DebugException {
// TODO Auto-generated method stub
return 0;
}
@Override
public int getCharStart() throws DebugException {
// TODO Auto-generated method stub
return 0;
}
@Override
public int getCharEnd() throws DebugException {
// TODO Auto-generated method stub
return 0;
}
@Override
public String getName() throws DebugException {
// TODO Auto-generated method stub
return null;
}
@Override
public IRegisterGroup[] getRegisterGroups() throws DebugException {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean hasRegisterGroups() throws DebugException {
// TODO Auto-generated method stub
return false;
}
}