#include <Aggregate.h>
Public Member Functions | |
| virtual | ~Aggregate () |
| SYMTAB_EXPORT Offset | getOffset () const |
| SYMTAB_EXPORT unsigned | getSize () const |
| SYMTAB_EXPORT Module * | getModule () const |
| SYMTAB_EXPORT Region * | getRegion () const |
| SYMTAB_EXPORT bool | addSymbol (Symbol *sym) |
| virtual SYMTAB_EXPORT bool | removeSymbol (Symbol *sym)=0 |
| SYMTAB_EXPORT bool | getSymbols (std::vector< Symbol * > &syms) const |
| SYMTAB_EXPORT Symbol * | getFirstSymbol () const |
| SYMTAB_EXPORT const std::vector< std::string > & | getAllMangledNames () |
| SYMTAB_EXPORT const std::vector< std::string > & | getAllPrettyNames () |
| SYMTAB_EXPORT const std::vector< std::string > & | getAllTypedNames () |
| virtual SYMTAB_EXPORT bool | addMangledName (std::string name, bool isPrimary) |
| virtual SYMTAB_EXPORT bool | addPrettyName (std::string name, bool isPrimary) |
| virtual SYMTAB_EXPORT bool | addTypedName (std::string name, bool isPrimary) |
| SYMTAB_EXPORT bool | setModule (Module *mod) |
| SYMTAB_EXPORT bool | setSize (unsigned size) |
| SYMTAB_EXPORT bool | setOffset (unsigned offset) |
| bool | operator== (const Aggregate &a) |
Protected Member Functions | |
| SYMTAB_EXPORT | Aggregate () |
| SYMTAB_EXPORT | Aggregate (Symbol *sym) |
| bool | addMangledNameInt (std::string name, bool isPrimary) |
| bool | addPrettyNameInt (std::string name, bool isPrimary) |
| bool | addTypedNameInt (std::string name, bool isPrimary) |
| SYMTAB_EXPORT bool | removeSymbolInt (Symbol *sym) |
| virtual SYMTAB_EXPORT bool | changeSymbolOffset (Symbol *sym) |
| void | restore_type_by_id (SerializerBase *, Type *&, unsigned) THROW_SPEC(SerializerError) |
| void | restore_module_by_name (SerializerBase *, std::string &) THROW_SPEC(SerializerError) |
| void | rebuild_symbol_vector (SerializerBase *, std::vector< Address > &) THROW_SPEC(SerializerError) |
| SYMTAB_EXPORT void | serialize_aggregate (SerializerBase *, const char *="Aggregate") THROW_SPEC(SerializerError) |
Protected Attributes | |
| Module * | module_ |
| std::vector< Symbol * > | symbols_ |
| Symbol * | firstSymbol |
| Offset | offset_ |
| std::vector< std::string > | mangledNames_ |
| std::vector< std::string > | prettyNames_ |
| std::vector< std::string > | typedNames_ |
Friends | |
| class | Symtab |
| struct | SymbolCompareByAddr |
| std::ostream & | operator<< (std::ostream &os, const Dyninst::SymtabAPI::Aggregate &) |
Definition at line 57 of file Aggregate.h.
| Aggregate::Aggregate | ( | ) | [protected] |
Definition at line 53 of file Aggregate.C.
| Aggregate::Aggregate | ( | Symbol * | sym | ) | [protected] |
Definition at line 58 of file Aggregate.C.
References firstSymbol, Dyninst::SymtabAPI::Symbol::getMangledName(), Dyninst::SymtabAPI::Symbol::getModule(), Dyninst::SymtabAPI::Symbol::getOffset(), Dyninst::SymtabAPI::Symbol::getPrettyName(), Dyninst::SymtabAPI::Symbol::getTypedName(), mangledNames_, module_, offset_, prettyNames_, symbols_, and typedNames_.
| virtual Dyninst::SymtabAPI::Aggregate::~Aggregate | ( | ) | [inline, virtual] |
Definition at line 69 of file Aggregate.h.
| virtual SYMTAB_EXPORT bool Dyninst::SymtabAPI::Aggregate::addMangledName | ( | std::string | name, | |
| bool | isPrimary | |||
| ) | [virtual] |
| bool Dyninst::SymtabAPI::Aggregate::addMangledNameInt | ( | std::string | name, | |
| bool | isPrimary | |||
| ) | [protected] |
| virtual SYMTAB_EXPORT bool Dyninst::SymtabAPI::Aggregate::addPrettyName | ( | std::string | name, | |
| bool | isPrimary | |||
| ) | [virtual] |
| bool Dyninst::SymtabAPI::Aggregate::addPrettyNameInt | ( | std::string | name, | |
| bool | isPrimary | |||
| ) | [protected] |
| bool Aggregate::addSymbol | ( | Symbol * | sym | ) |
Definition at line 117 of file Aggregate.C.
References Dyninst::SymtabAPI::Module::fileName(), firstSymbol, Dyninst::SymtabAPI::Symbol::getMangledName(), Dyninst::SymtabAPI::Symbol::getModule(), Dyninst::SymtabAPI::Symbol::getOffset(), Dyninst::SymtabAPI::Symbol::getPrettyName(), Dyninst::SymtabAPI::Symbol::getTypedName(), mangledNames_, module_, offset_, prettyNames_, symbols_, and typedNames_.
Referenced by Dyninst::SymtabAPI::Symtab::addSymbolToAggregates().
| virtual SYMTAB_EXPORT bool Dyninst::SymtabAPI::Aggregate::addTypedName | ( | std::string | name, | |
| bool | isPrimary | |||
| ) | [virtual] |
| bool Dyninst::SymtabAPI::Aggregate::addTypedNameInt | ( | std::string | name, | |
| bool | isPrimary | |||
| ) | [protected] |
| bool Aggregate::changeSymbolOffset | ( | Symbol * | sym | ) | [protected, virtual] |
Definition at line 282 of file Aggregate.C.
References Dyninst::SymtabAPI::Symtab::addSymbolToAggregates(), Dyninst::SymtabAPI::Symtab::changeAggregateOffset(), Dyninst::SymtabAPI::Module::exec(), firstSymbol, Dyninst::SymtabAPI::Symbol::getOffset(), getOffset(), module_, offset_, removeSymbolInt(), and symbols_.
Referenced by Dyninst::SymtabAPI::Symtab::changeSymbolOffset().
| const vector< std::string > & Aggregate::getAllMangledNames | ( | ) |
Definition at line 102 of file Aggregate.C.
References mangledNames_.
Referenced by Dyninst::SymtabAPI::DwarfWalker::parse_int(), and Dyninst::SymtabAPI::DwarfWalker::parseFormalParam().
| const vector< std::string > & Aggregate::getAllPrettyNames | ( | ) |
Definition at line 107 of file Aggregate.C.
References prettyNames_.
Referenced by enumLocalSymbols().
| const vector< std::string > & Aggregate::getAllTypedNames | ( | ) |
Definition at line 112 of file Aggregate.C.
References typedNames_.
| Symbol * Aggregate::getFirstSymbol | ( | ) | const |
Definition at line 195 of file Aggregate.C.
References firstSymbol.
Referenced by Dyninst::SymtabAPI::SymtabReader::getContainingSymbol(), and Dyninst::SymtabAPI::Function::getSize().
| SYMTAB_EXPORT Module* Dyninst::SymtabAPI::Aggregate::getModule | ( | ) | const [inline] |
Definition at line 73 of file Aggregate.h.
References module_.
Referenced by add_type_info(), enumLocalSymbols(), and findLocalVars().
| Offset Aggregate::getOffset | ( | ) | const |
Definition at line 72 of file Aggregate.C.
References FILE__, firstSymbol, fprintf, and offset_.
Referenced by changeSymbolOffset(), Dyninst::SymtabAPI::Symtab::deleteFunction(), Dyninst::SymtabAPI::Symtab::deleteVariable(), enumLocalVars(), Dyninst::SymtabAPI::Function::expandLocation(), Dyninst::SymtabAPI::Function::getSize(), Dyninst::SymtabAPI::Symtab::getTOCoffset(), Dyninst::SymtabAPI::Object::parseStabFileLineInfo(), and Dyninst::SymtabAPI::Symtab::rebuild_funcvar_hashes().
| Region * Aggregate::getRegion | ( | ) | const |
Definition at line 92 of file Aggregate.C.
References FILE__, firstSymbol, fprintf, and Dyninst::SymtabAPI::Symbol::getRegion().
Referenced by Dyninst::SymtabAPI::Symtab::addSymbolToAggregates().
| unsigned Aggregate::getSize | ( | ) | const |
Definition at line 82 of file Aggregate.C.
References FILE__, firstSymbol, fprintf, and Dyninst::SymtabAPI::Symbol::getSize().
| bool Aggregate::getSymbols | ( | std::vector< Symbol * > & | syms | ) | const |
Definition at line 189 of file Aggregate.C.
References symbols_.
Referenced by Dyninst::SymtabAPI::Symtab::deleteAggregate().
| bool Aggregate::operator== | ( | const Aggregate & | a | ) |
Reimplemented in Dyninst::SymtabAPI::Function, and Dyninst::SymtabAPI::Variable.
Definition at line 597 of file Aggregate.C.
References FILE__, fprintf, Dyninst::SymtabAPI::Module::fullName(), Dyninst::SymtabAPI::Symbol::getOffset(), Dyninst::SymtabAPI::Symbol::getSize(), Dyninst::SymtabAPI::Symbol::getType(), mangledNames_, module_, prettyNames_, symbols_, and typedNames_.
| void Aggregate::rebuild_symbol_vector | ( | SerializerBase * | , | |
| std::vector< Address > & | ||||
| ) | [protected] |
Definition at line 504 of file Aggregate.C.
| virtual SYMTAB_EXPORT bool Dyninst::SymtabAPI::Aggregate::removeSymbol | ( | Symbol * | sym | ) | [pure virtual] |
Implemented in Dyninst::SymtabAPI::Function, and Dyninst::SymtabAPI::Variable.
Referenced by Dyninst::SymtabAPI::Symtab::deleteSymbol().
| bool Aggregate::removeSymbolInt | ( | Symbol * | sym | ) | [protected] |
Definition at line 171 of file Aggregate.C.
References firstSymbol, Dyninst::SymtabAPI::Symbol::getOffset(), offset_, and symbols_.
Referenced by changeSymbolOffset(), Dyninst::SymtabAPI::Variable::removeSymbol(), and Dyninst::SymtabAPI::Function::removeSymbol().
| void Aggregate::restore_module_by_name | ( | SerializerBase * | , | |
| std::string & | ||||
| ) | [protected] |
Definition at line 425 of file Aggregate.C.
| void Aggregate::restore_type_by_id | ( | SerializerBase * | , | |
| Type *& | , | |||
| unsigned | ||||
| ) | [protected] |
Definition at line 378 of file Aggregate.C.
| void Aggregate::serialize_aggregate | ( | SerializerBase * | , | |
| const char * | = "Aggregate" | |||
| ) | [protected] |
Definition at line 593 of file Aggregate.C.
| SYMTAB_EXPORT bool Dyninst::SymtabAPI::Aggregate::setModule | ( | Module * | mod | ) |
| SYMTAB_EXPORT bool Dyninst::SymtabAPI::Aggregate::setOffset | ( | unsigned | offset | ) |
| SYMTAB_EXPORT bool Dyninst::SymtabAPI::Aggregate::setSize | ( | unsigned | size | ) |
| std::ostream& operator<< | ( | std::ostream & | os, | |
| const Dyninst::SymtabAPI::Aggregate & | ||||
| ) | [friend] |
Reimplemented in Dyninst::SymtabAPI::Function, and Dyninst::SymtabAPI::Variable.
friend struct SymbolCompareByAddr [friend] |
Definition at line 60 of file Aggregate.h.
Referenced by Dyninst::SymtabAPI::Function::getSize().
friend class Symtab [friend] |
Reimplemented in Dyninst::SymtabAPI::Function, and Dyninst::SymtabAPI::Variable.
Definition at line 59 of file Aggregate.h.
Symbol* Dyninst::SymtabAPI::Aggregate::firstSymbol [protected] |
Definition at line 114 of file Aggregate.h.
Referenced by addSymbol(), Aggregate(), changeSymbolOffset(), getFirstSymbol(), getOffset(), getRegion(), getSize(), and removeSymbolInt().
std::vector<std::string> Dyninst::SymtabAPI::Aggregate::mangledNames_ [protected] |
Definition at line 117 of file Aggregate.h.
Referenced by addSymbol(), Aggregate(), getAllMangledNames(), operator<<(), and operator==().
Module* Dyninst::SymtabAPI::Aggregate::module_ [protected] |
Definition at line 111 of file Aggregate.h.
Referenced by addSymbol(), Aggregate(), changeSymbolOffset(), Dyninst::SymtabAPI::Function::expandLocation(), Dyninst::SymtabAPI::Function::findLocalVariable(), Dyninst::SymtabAPI::Function::getLocalVariables(), getModule(), Dyninst::SymtabAPI::Function::getParams(), Dyninst::SymtabAPI::Variable::getType(), operator<<(), operator==(), Dyninst::SymtabAPI::Variable::removeSymbol(), and Dyninst::SymtabAPI::Function::removeSymbol().
Offset Dyninst::SymtabAPI::Aggregate::offset_ [protected] |
Definition at line 115 of file Aggregate.h.
Referenced by addSymbol(), Aggregate(), changeSymbolOffset(), getOffset(), Dyninst::SymtabAPI::SymbolCompareByAddr::operator()(), and removeSymbolInt().
std::vector<std::string> Dyninst::SymtabAPI::Aggregate::prettyNames_ [protected] |
Definition at line 118 of file Aggregate.h.
Referenced by addSymbol(), Aggregate(), getAllPrettyNames(), operator<<(), and operator==().
std::vector<Symbol *> Dyninst::SymtabAPI::Aggregate::symbols_ [protected] |
Definition at line 113 of file Aggregate.h.
Referenced by addSymbol(), Aggregate(), changeSymbolOffset(), Dyninst::SymtabAPI::Function::getPtrOffset(), Dyninst::SymtabAPI::Function::getSize(), getSymbols(), Dyninst::SymtabAPI::Function::getTOCOffset(), operator==(), Dyninst::SymtabAPI::Variable::removeSymbol(), Dyninst::SymtabAPI::Function::removeSymbol(), and removeSymbolInt().
std::vector<std::string> Dyninst::SymtabAPI::Aggregate::typedNames_ [protected] |
Definition at line 119 of file Aggregate.h.
Referenced by addSymbol(), Aggregate(), getAllTypedNames(), operator<<(), and operator==().
1.6.1