SymbolGroup Class

The SymbolGroup class creates a symbol group storing a tree of expanded symbols rooted on a fake "locals" root element. More...

Header: #include <SymbolGroup>
Inherited By:

LocalsSymbolGroup and WatchesSymbolGroup

Public Types

Public Functions

virtual ~SymbolGroup()
bool accept(int &visitor) const
int *addSymbol(const std::string &, const std::string &, const std::string &, const std::string &, std::string *)
int *addSymbol(const std::string &, const std::string &, const std::string &, std::string *)
bool assign(const std::string &node, int valueEncoding, const std::string &value, const int &ctx, std::string *errorMessage)
bool collapse(const std::string &node, std::string *errorMessage)
std::string debug(const std::string &iname = std::string(), const std::string &filter = std::string(), unsigned int verbosity = 0) const
CIDebugSymbolGroup *debugSymbolGroup() const
std::string dump(const int &ctx, const int &p = ...) const
std::string dump(const std::string &iname, const int &ctx, const int &p, std::string *errorMessage)
bool expand(const std::string &node, std::string *errorMessage)
unsigned int expandList(const int &nodes, std::string *errorMessage)
unsigned int expandListRunComplexDumpers(const int &nodes, const int &ctx, std::string *errorMessage)
bool expandRunComplexDumpers(const std::string &node, const int &ctx, std::string *errorMessage)
int *find(const std::string &) const
void markUninitialized(const int &nodes)
int *root()
const int *root() const
bool typeCast(const std::string &iname, const std::string &desiredType, std::string *errorMessage)

Static Public Members

bool getSymbolParameters(CIDebugSymbolGroup *m_symbolGroup, unsigned long start, unsigned long count, SymbolGroup::SymbolParameterVector *vec, std::string *errorMessage)

Protected Functions

SymbolGroup(CIDebugSymbolGroup *, const SymbolGroup::SymbolParameterVector &vec, const std::string &rootModule, const char *rootName)
bool removeSymbol(int *n, std::string *errorMessage)

Static Protected Members

bool getSymbolParameters(CIDebugSymbolGroup *m_symbolGroup, SymbolGroup::SymbolParameterVector *vec, std::string *errorMessage)

Detailed Description

The SymbolGroup class creates a symbol group storing a tree of expanded symbols rooted on a fake "locals" root element.

Provides a find() function based on inames ("locals.this.i1.data") and dump() functions used for GDBMI-format dumping and debug helpers. Qt Creator's WatchModel is fed from this class. It basically represents the symbol group tree with some additional node types (Reference and Map Node types.

Member Type Documentation

typedef SymbolGroup::AbstractSymbolGroupNodePtrVector

typedef SymbolGroup::SymbolParameterVector

Member Function Documentation

[protected] SymbolGroup::SymbolGroup(CIDebugSymbolGroup *, const SymbolGroup::SymbolParameterVector &vec, const std::string &rootModule, const char *rootName)

Default constructs an instance of SymbolGroup.

[virtual] SymbolGroup::~SymbolGroup()

Destroys the instance of SymbolGroup. The destructor is virtual.

bool SymbolGroup::accept(int &visitor) const

int *SymbolGroup::addSymbol(const std::string &, const std::string &, const std::string &, const std::string &, std::string *)

int *SymbolGroup::addSymbol(const std::string &, const std::string &, const std::string &, std::string *)

bool SymbolGroup::assign(const std::string &node, int valueEncoding, const std::string &value, const int &ctx, std::string *errorMessage)

bool SymbolGroup::collapse(const std::string &node, std::string *errorMessage)

std::string SymbolGroup::debug(const std::string &iname = std::string(), const std::string &filter = std::string(), unsigned int verbosity = 0) const

CIDebugSymbolGroup *SymbolGroup::debugSymbolGroup() const

std::string SymbolGroup::dump(const int &ctx, const int &p = ...) const

std::string SymbolGroup::dump(const std::string &iname, const int &ctx, const int &p, std::string *errorMessage)

bool SymbolGroup::expand(const std::string &node, std::string *errorMessage)

unsigned int SymbolGroup::expandList(const int &nodes, std::string *errorMessage)

unsigned int SymbolGroup::expandListRunComplexDumpers(const int &nodes, const int &ctx, std::string *errorMessage)

bool SymbolGroup::expandRunComplexDumpers(const std::string &node, const int &ctx, std::string *errorMessage)

int *SymbolGroup::find(const std::string &) const

[static] bool SymbolGroup::getSymbolParameters(CIDebugSymbolGroup *m_symbolGroup, unsigned long start, unsigned long count, SymbolGroup::SymbolParameterVector *vec, std::string *errorMessage)

[static protected] bool SymbolGroup::getSymbolParameters(CIDebugSymbolGroup *m_symbolGroup, SymbolGroup::SymbolParameterVector *vec, std::string *errorMessage)

void SymbolGroup::markUninitialized(const int &nodes)

[protected] bool SymbolGroup::removeSymbol(int *n, std::string *errorMessage)

int *SymbolGroup::root()

const int *SymbolGroup::root() const

bool SymbolGroup::typeCast(const std::string &iname, const std::string &desiredType, std::string *errorMessage)