Package ghidra.program.model.pcode
Class HighFunctionSymbol
- java.lang.Object
-
- ghidra.program.model.pcode.HighSymbol
-
- ghidra.program.model.pcode.HighFunctionSymbol
-
public class HighFunctionSymbol extends HighSymbol
A function symbol that encapsulates detailed information about a particular function for the purposes of decompilation. The detailed model is provided by a backing HighFunction object.
-
-
Field Summary
-
Fields inherited from class ghidra.program.model.pcode.HighSymbol
category, categoryIndex, entryList, function, ID_BASE, name, type
-
-
Constructor Summary
Constructors Constructor Description HighFunctionSymbol(Address addr, int size, HighFunction function)
Construct given an Address, size, and decompiler function model for the symbol.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Namespace
getNamespace()
Fetch the namespace owning this symbol, if it exists.boolean
isGlobal()
Is this symbol in the global scope or some other global namespacevoid
saveXML(java.lang.StringBuilder buf)
Save the symbol description as a tag to the XML stream.-
Methods inherited from class ghidra.program.model.pcode.HighSymbol
addMapEntry, buildMapSymXML, getCategoryIndex, getDataType, getFirstUseOffset, getFirstWholeMap, getHighFunction, getHighVariable, getId, getName, getPCAddress, getProgram, getSize, getStorage, getSymbol, isHiddenReturn, isIsolated, isNameLocked, isParameter, isReadOnly, isThisPointer, isTypeLocked, restoreMapSymXML, restoreXML, restoreXMLHeader, saveXMLHeader, setCategory, setHighVariable, setNameLock, setTypeLock
-
-
-
-
Constructor Detail
-
HighFunctionSymbol
public HighFunctionSymbol(Address addr, int size, HighFunction function)
Construct given an Address, size, and decompiler function model for the symbol. The Address is typically the entry point of the function but may be different if the function is getting mapped from elsewhere (i.e. the EXTERNAL space). The size is given in bytes but generally isn't the true size of the function. The size needs to make the symbol just big enough to absorb any off-cut Address queries.- Parameters:
addr
- is the starting Address of the symbolsize
- is the pseudo-size of the functionfunction
- is the decompiler model of the function
-
-
Method Detail
-
isGlobal
public boolean isGlobal()
Description copied from class:HighSymbol
Is this symbol in the global scope or some other global namespace- Overrides:
isGlobal
in classHighSymbol
- Returns:
- true if this is global
-
getNamespace
public Namespace getNamespace()
Description copied from class:HighSymbol
Fetch the namespace owning this symbol, if it exists.- Overrides:
getNamespace
in classHighSymbol
- Returns:
- the Namespace object or null
-
saveXML
public void saveXML(java.lang.StringBuilder buf)
Description copied from class:HighSymbol
Save the symbol description as a tag to the XML stream. This does NOT save the mappings.- Overrides:
saveXML
in classHighSymbol
- Parameters:
buf
- is the XML stream
-
-