Class DWARFFunction
java.lang.Object
ghidra.app.util.bin.format.dwarf4.next.DWARFFunction
Represents a function that was read from DWARF information.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionlong
boolean
boolean
boolean
boolean
-
Method Summary
Modifier and TypeMethodDescriptionReturns aFunctionDefinition
that reflects this function's information.void
commitLocalVariable
(DWARFVariable dvar, Function gfunc) getLocalVarByOffset
(long offset) Returns the DWARFVariable that starts at the specified stack offset.getNonParamSymbolNames
(Function gfunc) getParameters
(boolean includeStorageDetail) Returns this function's parameters as a list ofParameter
instances.getRange()
boolean
boolean
boolean
isInLocalVarStorageArea
(long offset) Returns true if the specified stack offset is within the function's local variable storage area.static DWARFFunction
read
(DIEAggregate diea) Create a function instance from the information found in the specified DIEA.toString()
-
Field Details
-
diea
-
name
-
namespace
-
address
-
highAddress
-
frameBase
public long frameBase -
callingConvention
-
prototypeModel
-
retval
-
params
-
varArg
public boolean varArg -
localVars
-
localVarErrors
public boolean localVarErrors -
signatureCommitMode
-
noReturn
public boolean noReturn -
sourceInfo
-
isExternal
public boolean isExternal
-
-
Method Details
-
read
Create a function instance from the information found in the specified DIEA.- Parameters:
diea
- DW_TAG_subprogramDIEAggregate
- Returns:
- new
DWARFFunction
, or null if invalid DWARF information - Throws:
IOException
- if error accessing attribute valuesDWARFExpressionException
- if error accessing attribute values
-
getProgram
-
getRange
-
getCallingConventionName
-
getLocalVarByOffset
Returns the DWARFVariable that starts at the specified stack offset.- Parameters:
offset
- stack offset- Returns:
- local variable that starts at offset, or null if not present
-
isInLocalVarStorageArea
public boolean isInLocalVarStorageArea(long offset) Returns true if the specified stack offset is within the function's local variable storage area.- Parameters:
offset
- stack offset to test- Returns:
- true if stack offset is within this function's local variable area
-
hasConflictWithParamStorage
- Throws:
InvalidInputException
-
hasConflictWithExistingLocalVariableStorage
public boolean hasConflictWithExistingLocalVariableStorage(DWARFVariable dvar, Function gfunc) throws InvalidInputException - Throws:
InvalidInputException
-
getAllParamNames
-
getAllLocalVariableNames
-
getExistingLocalVariableNames
-
getNonParamSymbolNames
-
getParameters
Returns this function's parameters as a list ofParameter
instances.- Parameters:
includeStorageDetail
- boolean flag, if true storage information will be included, if false, VariableStorage.UNASSIGNED_STORAGE will be used- Returns:
- list of Parameters
- Throws:
InvalidInputException
-
asFuncDef
Returns aFunctionDefinition
that reflects this function's information.- Returns:
FunctionDefinition
that reflects this function's information
-
commitLocalVariable
-
toString
-