frysk.debuginfo
Class DebugInfoFrame

java.lang.Object
  extended by frysk.stack.Frame
      extended by frysk.stack.FrameDecorator
          extended by frysk.debuginfo.DebugInfoFrame
Direct Known Subclasses:
VirtualDebugInfoFrame

public class DebugInfoFrame
extends FrameDecorator


Field Summary
private  LinkedList inlinedSubprograms
           
private  SourceLocation line
           
private  LineXXX lineXXX
           
private  Scope scope
           
private  Function subprogram
           
private  TypeFactory typeFactory
           
 
Constructor Summary
protected DebugInfoFrame(FrameDecorator inner, Frame decorated)
           
 
Method Summary
 LinkedList getInlinedSubprograms()
          returns a LinkedList of all the inlined instances in this frame.
 DebugInfoFrame getInnerDebugInfoFrame()
           
 SourceLocation getLine()
          Return this frame's list of lines as an array; returns an empty array if there is no line number information available.
 LineXXX getLineXXX()
          XXX: This function should not be used DOM information (LineXXX) should be moved out of DebugInfoFrame.
 DebugInfoFrame getOuterDebugInfoFrame()
           
 Scope getScopes()
          Returns a linked list of scopes starting with the innermost scope containing the current pc.
 Function getSubprogram()
           
private  void printScope(PrintWriter writer, Scope scope, String indentString)
           
 void printScopes(PrintWriter writer)
           
 void setSubprogram(Function subprogram)
           
 void toPrint(PrintWriter writer, PrintDebugInfoStackOptions options)
           
 Frame unwind()
          Returns this Frame's outer frame; or null if there is no frame.
 
Methods inherited from class frysk.stack.FrameDecorator
getAddress, getAdjustedAddress, getFrameIdentifier, getRegister, getSymbol, getUndecoratedFrame, setRegister
 
Methods inherited from class frysk.stack.Frame
getInner, getLibraryName, getOuter, getRegister, getRegisterValue, getTask, level, printLevel, printLibraryName, toPrint, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

subprogram

private Function subprogram

scope

private Scope scope

inlinedSubprograms

private LinkedList inlinedSubprograms

typeFactory

private final TypeFactory typeFactory

line

private SourceLocation line

lineXXX

private LineXXX lineXXX
Constructor Detail

DebugInfoFrame

protected DebugInfoFrame(FrameDecorator inner,
                         Frame decorated)
Method Detail

getSubprogram

public final Function getSubprogram()

getScopes

public final Scope getScopes()
Returns a linked list of scopes starting with the innermost scope containing the current pc.

Returns:

getInlinedSubprograms

public final LinkedList getInlinedSubprograms()
returns a LinkedList of all the inlined instances in this frame. The first item in the list is the inner most (narrowest scope) inlined function.

Returns:

getLine

public SourceLocation getLine()
Return this frame's list of lines as an array; returns an empty array if there is no line number information available. The lack of line-number information can be determined with the test: <>.getLine() == Line.NULL.


getLineXXX

public LineXXX getLineXXX()
XXX: This function should not be used DOM information (LineXXX) should be moved out of DebugInfoFrame.

Returns:

toPrint

public void toPrint(PrintWriter writer,
                    PrintDebugInfoStackOptions options)

printScopes

public void printScopes(PrintWriter writer)

printScope

private void printScope(PrintWriter writer,
                        Scope scope,
                        String indentString)

setSubprogram

public final void setSubprogram(Function subprogram)

getInnerDebugInfoFrame

public DebugInfoFrame getInnerDebugInfoFrame()

getOuterDebugInfoFrame

public DebugInfoFrame getOuterDebugInfoFrame()

unwind

public Frame unwind()
Description copied from class: Frame
Returns this Frame's outer frame; or null if there is no frame.

Specified by:
unwind in class Frame