frysk.scopes
Class Function
java.lang.Object
frysk.scopes.Scope
frysk.scopes.NamedScope
frysk.scopes.Function
- All Implemented Interfaces:
- ObjectDeclaration
- Direct Known Subclasses:
- InlinedFunction, OutOfLineFunction
public class Function
- extends NamedScope
In DWARF a subroutine is used to refer to an entity that can either be a
concrete function (Subprogram) or an inlined function (InlinedSubprogram).
Methods inherited from class frysk.scopes.Scope |
getDeclaredObjectByNameRecursive, getDie, getEnums, getInner, getObjectDeclarations, getOuter, getScopes, getSourceLocation, getVariables, isScopeDie, setOuter, toPrint |
struct
Composite struct
type
Type type
locationExpression
private LocationExpression locationExpression
functionType
FunctionType functionType
parameters
LinkedList parameters
Function
public Function(DwarfDie die,
TypeFactory typeFactory)
exploreDie
private void exploreDie(DwarfDie die)
getParameters
public LinkedList getParameters()
setFunctionType
public void setFunctionType(FunctionType functionType)
printScopes
public void printScopes(PrintWriter writer,
DebugInfoFrame frame)
getFunctionType
public FunctionType getFunctionType()
toString
public String toString()
- Overrides:
toString
in class Object
getDeclaredObjectByName
public ObjectDeclaration getDeclaredObjectByName(String name)
- Overrides:
getDeclaredObjectByName
in class Scope
getComposite
public Composite getComposite()
- Returns the structure that this subroutine belongs to. If this
subroutine does not belong to any structs/classes it returns null.
- Returns:
- Struct containing this Subroutine or null
isInlined
public boolean isInlined()
- returns true if:
- this is a concrete instance of an inlined function
- this is an abstrace instance of an inlinable function
- a regular funciton which has been inlined by the compiler
getType
public Type getType(ISA isa)
getValue
public Value getValue(DebugInfoFrame frame)
printParameters
public void printParameters(PrintWriter writer,
DebugInfoFrame frame,
boolean printValues)