Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.eclipse.debug.core.model
Interface IStackFrame  view IStackFrame download IStackFrame.java

All Superinterfaces:
org.eclipse.core.runtime.IAdaptable, IDebugElement, IStep, ISuspendResume, ITerminate

public interface IStackFrame
extends IDebugElement, IStep, ISuspendResume, ITerminate

A stack frame represents an execution context in a suspended thread. A stack frame contains variables representing visible locals and arguments at the current execution location. Minimally, a stack frame supports the following:

A debug model implementation may choose to re-use or discard stack frames on iterative thread suspensions. Clients cannot assume that stack frames are identical or equal across iterative thread suspensions and must check for equality on iterative suspensions if they wish to re-use the objects.

A debug model implementation that preserves equality across iterative suspensions may display more desirable behavior in some clients. For example, if stack frames are preserved while stepping, a UI client would be able to update the UI incrementally, rather than collapse and redraw the entire list.

Clients may implement this interface.


Method Summary
 int getCharEnd()
          Returns the index of the last character in the associated source element that corresponds to the current location of the instruction pointer in this stack frame, or -1 if the information is unavailable.
 int getCharStart()
          Returns the index of the first character in the associated source element that corresponds to the current location of the instruction pointer in this stack frame, or -1 if the information is unavailable.
 int getLineNumber()
          Returns the line number of the instruction pointer in this stack frame that corresponds to a line in an associated source element, or -1 if line number information is unavailable.
 java.lang.String getName()
          Returns the name of this stack frame.
 IRegisterGroup[] getRegisterGroups()
          Returns the register groups assigned to this stack frame, or an empty collection if no register groups are assigned to this stack frame.
 IThread getThread()
          Returns the thread this stack frame is contained in.
 IVariable[] getVariables()
          Returns the visible variables in this stack frame.
 boolean hasRegisterGroups()
          Returns whether this stack frame contains any register groups.
 boolean hasVariables()
          Returns whether this stack frame currently contains any visible variables.
 
Methods inherited from interface org.eclipse.debug.core.model.IDebugElement
getDebugTarget, getLaunch, getModelIdentifier
 
Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
 
Methods inherited from interface org.eclipse.debug.core.model.IStep
canStepInto, canStepOver, canStepReturn, isStepping, stepInto, stepOver, stepReturn
 
Methods inherited from interface org.eclipse.debug.core.model.ISuspendResume
canResume, canSuspend, isSuspended, resume, suspend
 
Methods inherited from interface org.eclipse.debug.core.model.ITerminate
canTerminate, isTerminated, terminate
 

Method Detail

getThread

public IThread getThread()
Returns the thread this stack frame is contained in.

Since:
2.0

getVariables

public IVariable[] getVariables()
                         throws org.eclipse.debug.core.DebugException
Returns the visible variables in this stack frame. An empty collection is returned if there are no visible variables.

Since:
2.0

hasVariables

public boolean hasVariables()
                     throws org.eclipse.debug.core.DebugException
Returns whether this stack frame currently contains any visible variables.

Since:
2.0

getLineNumber

public int getLineNumber()
                  throws org.eclipse.debug.core.DebugException
Returns the line number of the instruction pointer in this stack frame that corresponds to a line in an associated source element, or -1 if line number information is unavailable.


getCharStart

public int getCharStart()
                 throws org.eclipse.debug.core.DebugException
Returns the index of the first character in the associated source element that corresponds to the current location of the instruction pointer in this stack frame, or -1 if the information is unavailable.

If a debug model supports expression level stepping, the start/end character ranges are used to highlight the expression within a line that is being executed.

Since:
2.0

getCharEnd

public int getCharEnd()
               throws org.eclipse.debug.core.DebugException
Returns the index of the last character in the associated source element that corresponds to the current location of the instruction pointer in this stack frame, or -1 if the information is unavailable.

If a debug model supports expression level stepping, the start/end character ranges are used to highlight the expression within a line that is being executed.

Since:
2.0

getName

public java.lang.String getName()
                         throws org.eclipse.debug.core.DebugException
Returns the name of this stack frame. Name format is debug model specific, and should be specified by a debug model.


getRegisterGroups

public IRegisterGroup[] getRegisterGroups()
                                   throws org.eclipse.debug.core.DebugException
Returns the register groups assigned to this stack frame, or an empty collection if no register groups are assigned to this stack frame.

Since:
2.0

hasRegisterGroups

public boolean hasRegisterGroups()
                          throws org.eclipse.debug.core.DebugException
Returns whether this stack frame contains any register groups.

Since:
2.0