| 
    decompiler
    1.0.0
    
   | 
 
A Symbol that labels code internal to a function. More...
#include <database.hh>
  
 Public Member Functions | |
| LabSymbol (Scope *sc, const string &nm) | |
| Construct given name.  More... | |
| LabSymbol (Scope *sc) | |
| Constructor for use with restoreXml.  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... | |
| const string & | getName (void) const | 
| Get the local name of the symbol.  | |
| Datatype * | getType (void) const | 
| Get the data-type.  | |
| uint8 | getId (void) const | 
| Get a unique id for the symbol.  | |
| uint4 | getFlags (void) const | 
| Get the boolean properties of the Symbol.  | |
| uint4 | getDisplayFormat (void) const | 
| Get the format to display the Symbol in.  | |
| int2 | getCategory (void) const | 
| Get the Symbol category.  | |
| uint2 | getCategoryIndex (void) const | 
| Get the position of the Symbol within its category.  | |
| bool | isTypeLocked (void) const | 
| Is the Symbol type-locked.  | |
| bool | isNameLocked (void) const | 
| Is the Symbol name-locked.  | |
| bool | isSizeTypeLocked (void) const | 
| Is the Symbol size type-locked.  | |
| bool | isThisPointer (void) const | 
| Is this the "this" pointer.  | |
| bool | isIndirectStorage (void) const | 
| Is storage really a pointer to the true Symbol.  | |
| bool | isHiddenReturn (void) const | 
| Is this a reference to the function return value.  | |
| bool | isNameUndefined (void) const | 
| Does this have an undefined name.  More... | |
| bool | isMultiEntry (void) const | 
| Does this have more than one entire mapping.  | |
| bool | hasMergeProblems (void) const | 
| Were some SymbolEntrys not merged.  | |
| void | setMergeProblems (void) | 
| Mark that some SymbolEntrys could not be merged.  | |
| bool | isIsolated (void) const | 
| Return true if this is isolated from speculative merging.  | |
| void | setIsolated (bool val) | 
| Set whether this Symbol should be speculatively merged.  More... | |
| Scope * | getScope (void) const | 
| Get the scope owning this Symbol.  | |
| 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 | numEntries (void) const | 
| Return the number of SymbolEntrys.  | |
| SymbolEntry * | getMapEntry (int4 i) const | 
| Return the i-th SymbolEntry for this Symbol.  | |
| 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... | |
Private Member Functions | |
| void | buildType (void) | 
| Build placeholder data-type.  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 | |
| virtual | ~Symbol (void) | 
| Destructor.  | |
| 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 labels code internal to a function.
| LabSymbol::LabSymbol | ( | Scope * | sc, | 
| const string & | nm | ||
| ) | 
Construct given name.
References buildType(), and Symbol::name.
| LabSymbol::LabSymbol | ( | Scope * | sc | ) | 
Constructor for use with restoreXml.
References buildType().
      
  | 
  private | 
Build placeholder data-type.
Label symbols don't really have a data-type, so we just put a size 1 placeholder.
References Scope::getArch(), TypeFactory::getBase(), Symbol::scope, Symbol::type, TYPE_UNKNOWN, and Architecture::types.
Referenced by LabSymbol().
      
  | 
  virtual | 
Restore this Symbol from an XML stream.
| el | is the root XML tag of the symbol | 
Reimplemented from Symbol.
References Symbol::restoreXmlHeader().
      
  | 
  virtual | 
Save this Symbol to an XML stream.
| s | is the output stream | 
Reimplemented from Symbol.
References Symbol::saveXmlHeader().
 1.8.11