|
Ghidra 11.4.2
Ghidra internal decompiler documentation.
|
Basic elements of a parameter: address, data-type, properties. More...
#include <fspec.hh>
Public Types | |
| enum | { isthis = 1 , hiddenretparm = 2 , indirectstorage = 4 , namelock = 8 , typelock = 16 , sizelock = 32 } |
Public Member Functions | |
| void | swapMarkup (ParameterPieces &op) |
| Swap data-type markup between this and another parameter. | |
| void | assignAddressFromPieces (vector< VarnodeData > &pieces, bool mostToLeast, Architecture *glb) |
| Generate a parameter address given the list of Varnodes making up the parameter. | |
Public Attributes | |
| Address | addr |
| Storage address of the parameter. | |
| Datatype * | type |
| The datatype of the parameter. | |
| uint4 | flags |
| additional attributes of the parameter | |
Basic elements of a parameter: address, data-type, properties.
| anonymous enum |
| Enumerator | |
|---|---|
| isthis | Parameter is "this" pointer. |
| hiddenretparm | Parameter is hidden pointer to return value, mirrors Varnode::hiddenretparm. |
| indirectstorage | Parameter is indirect pointer to true parameter, mirrors Varnode::indirectstorage. |
| namelock | Parameter's name is locked, mirrors Varnode::namelock. |
| typelock | Parameter's data-type is locked, mirrors Varnode::typelock. |
| sizelock | Size of the parameter is locked (but not the data-type) |
| void ghidra::ParameterPieces::assignAddressFromPieces | ( | vector< VarnodeData > & | pieces, |
| bool | mostToLeast, | ||
| Architecture * | glb | ||
| ) |
Generate a parameter address given the list of Varnodes making up the parameter.
| pieces | is the given list of Varnodes |
| mostToLeast | is true if the list is ordered most significant to least |
| glb | is the Architecture |
References addr, ghidra::AddrSpaceManager::findAddJoin(), ghidra::VarnodeData::getAddr(), ghidra::JoinRecord::getUnified(), ghidra::JoinRecord::mergeSequence(), and ghidra::Architecture::translate.
Referenced by ghidra::MultiSlotAssign::assignAddress(), ghidra::MultiMemberAssign::assignAddress(), and ghidra::MultiSlotDualAssign::assignAddress().
| void ghidra::ParameterPieces::swapMarkup | ( | ParameterPieces & | op | ) |