Dyninst::SymtabAPI::Aggregate Class Reference

#include <Aggregate.h>

Inheritance diagram for Dyninst::SymtabAPI::Aggregate:
Dyninst::SymtabAPI::Function Dyninst::SymtabAPI::Variable

Public Member Functions

virtual ~Aggregate ()
SYMTAB_EXPORT Offset getOffset () const
SYMTAB_EXPORT unsigned getSize () const
SYMTAB_EXPORT ModulegetModule () const
SYMTAB_EXPORT RegiongetRegion () 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 SymbolgetFirstSymbol () 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

Modulemodule_
std::vector< Symbol * > symbols_
SymbolfirstSymbol
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 &)

Detailed Description

Definition at line 57 of file Aggregate.h.


Constructor & Destructor Documentation

Aggregate::Aggregate (  )  [protected]

Definition at line 53 of file Aggregate.C.

Aggregate::Aggregate ( Symbol sym  )  [protected]
virtual Dyninst::SymtabAPI::Aggregate::~Aggregate (  )  [inline, virtual]

Definition at line 69 of file Aggregate.h.


Member Function Documentation

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  ) 
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]
const vector< std::string > & Aggregate::getAllMangledNames (  ) 
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
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
Region * Aggregate::getRegion (  )  const
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  ) 
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]
bool Aggregate::removeSymbolInt ( Symbol sym  )  [protected]
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  ) 

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const Dyninst::SymtabAPI::Aggregate  
) [friend]
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.


Field Documentation

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==().

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]
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==().


The documentation for this class was generated from the following files:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 12 Jul 2013 for SymtabAPI by  doxygen 1.6.1