Package ghidra.program.model.pcode
Class HighFunctionSymbol
java.lang.Object
ghidra.program.model.pcode.HighSymbol
ghidra.program.model.pcode.HighFunctionSymbol
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, dtmanage, entryList, function, ID_BASE, name, type
-
Constructor Summary
ConstructorDescriptionHighFunctionSymbol
(Address addr, int size, HighFunction function) Construct given an Address, size, and decompiler function model for the symbol. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Encode the symbol description as an element to the stream.Fetch the namespace owning this symbol, if it exists.boolean
isGlobal()
Is this symbol in the global scope or some other global namespaceMethods inherited from class ghidra.program.model.pcode.HighSymbol
addMapEntry, decode, decodeHeader, decodeMapSym, encodeHeader, encodeMapSym, getCategoryIndex, getDataType, getFirstUseOffset, getFirstWholeMap, getHighFunction, getHighVariable, getId, getMutability, getName, getPCAddress, getProgram, getSize, getStorage, getSymbol, isHiddenReturn, isIsolated, isNameLocked, isParameter, isThisPointer, isTypeLocked, setCategory, setNameLock, setTypeLock
-
Constructor Details
-
HighFunctionSymbol
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 Details
-
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
Description copied from class:HighSymbol
Fetch the namespace owning this symbol, if it exists.- Overrides:
getNamespace
in classHighSymbol
- Returns:
- the Namespace object or null
-
encode
Description copied from class:HighSymbol
Encode the symbol description as an element to the stream. This does NOT save the mappings.- Overrides:
encode
in classHighSymbol
- Parameters:
encoder
- is the stream encoder- Throws:
IOException
- for errors in the underlying stream
-