|
Ghidra Decompiler Analysis Engine
|
A Symbol that holds equate information for a constant. More...
#include <database.hh>


Public Member Functions | |
| bool | isValueClose (uintb op2Value, int4 size) const |
| Is the given value similar to this equate. More... | |
| virtual void | saveXml (ostream &s) const |
| Save this Symbol to an XML stream. More... | |
| virtual void | restoreXml (const Element *el) |
| Restore this Symbol from an XML stream. More... | |
Public Member Functions inherited from Symbol | |
| Symbol (Scope *sc, const string &nm, Datatype *ct) | |
| Construct given a name and data-type. More... | |
| Symbol (Scope *sc) | |
| Construct for use with restoreXml() More... | |
| bool | isNameUndefined (void) const |
| Does this have an undefined name. More... | |
| void | setIsolated (bool val) |
| Set whether this Symbol should be speculatively merged. More... | |
| SymbolEntry * | getFirstWholeMap (void) const |
| Get the first entire mapping of the symbol. More... | |
| SymbolEntry * | getMapEntry (const Address &addr) const |
| Get first mapping of the symbol that contains the given Address. More... | |
| int4 | getMapEntryPosition (const SymbolEntry *entry) const |
| Position of given SymbolEntry within this multi-entry Symbol. More... | |
| int4 | getResolutionDepth (const Scope *useScope) const |
| Get number of scope names needed to resolve this symbol. More... | |
| void | saveXmlHeader (ostream &s) const |
| Save basic Symbol properties as XML attributes. More... | |
| void | restoreXmlHeader (const Element *el) |
| Restore basic Symbol properties from XML. More... | |
| void | saveXmlBody (ostream &s) const |
| Save details of the Symbol to XML. More... | |
| void | restoreXmlBody (List::const_iterator iter) |
| Restore details of the Symbol from XML. More... | |
| virtual int4 | getBytesConsumed (void) const |
| Get number of bytes consumed within the address->symbol map. More... | |
Additional Inherited Members | |
Public Types inherited from Symbol | |
| enum | { force_hex = 1, force_dec = 2, force_oct = 3, force_bin = 4, force_char = 5, size_typelock = 8, isolate = 16, merge_problems = 32, is_this_ptr = 64 } |
| Possible display (dispflag) properties for a Symbol. More... | |
Static Public Attributes inherited from Symbol | |
| static uint8 | ID_BASE = 0x4000000000000000L |
| Base of internal ID's. | |
Protected Member Functions inherited from Symbol | |
| void | setDisplayFormat (uint4 val) |
| Set the display format for this Symbol. More... | |
| void | checkSizeTypeLock (void) |
| Calculate if size_typelock property is on. More... | |
| void | setThisPointer (bool val) |
| Toggle whether this is the "this" pointer for a class method. More... | |
Protected Attributes inherited from Symbol | |
| Scope * | scope |
| The scope that owns this symbol. | |
| string | name |
| The local name of the symbol. | |
| Datatype * | type |
| The symbol's data-type. | |
| uint4 | nameDedup |
| id to distinguish symbols with the same name | |
| uint4 | flags |
| Varnode-like properties of the symbol. | |
| uint4 | dispflags |
| Flags affecting the display of this symbol. | |
| int2 | category |
| Special category (-1==none 0=parameter 1=equate) | |
| uint2 | catindex |
| Index within category. | |
| uint8 | symbolId |
| Unique id, 0=unassigned. | |
| vector< list< SymbolEntry >::iterator > | mapentry |
| List of storage locations labeled with this Symbol. | |
| const Scope * | depthScope |
| Scope associated with current depth resolution. | |
| int4 | depthResolution |
| Number of namespace elements required to resolve symbol in current scope. | |
| uint4 | wholeCount |
| Number of SymbolEntries that map to the whole Symbol. | |
A Symbol that holds equate information for a constant.
This is a symbol that labels a constant. It can either replace the constant's token with the symbol name, or it can force a conversion in the emitted format of the constant.
| bool EquateSymbol::isValueClose | ( | uintb | op2Value, |
| int4 | size | ||
| ) | const |
Is the given value similar to this equate.
An EquateSymbol should survive certain kinds of transforms during decompilation, such as negation, twos-complementing, adding or subtracting 1. Return true if the given value looks like a transform of this type relative to the underlying value of this equate.
| op2Value | is the given value |
| size | is the number of bytes of precision |
|
virtual |
|
virtual |
1.8.17