Extending Qt Creator Manual | SymbolGroup

Extending Qt Creator Manual 4.4.0

# 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

- List of all members, including inherited members

## Public Types

typedef | AbstractSymbolGroupNodePtrVector
typedef | SymbolParameterVector

## Public Functions

virtual | ~SymbolGroup()
bool | accept(SymbolGroupNodeVisitor &visitor) const
SymbolGroupNode * | addSymbol(const std::string &module, const std::string &name, const std::string &displayName, const std::string &iname, std::string *errorMessage)
SymbolGroupNode * | addSymbol(const std::string &module, const std::string &name, const std::string &iname, std::string *errorMessage)
bool | assign(const std::string &node, int valueEncoding, const std::string &value, const SymbolGroupValueContext &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 verbosity = 0) const
CIDebugSymbolGroup * | debugSymbolGroup() const
std::string | dump(const SymbolGroupValueContext &ctx, const DumpParameters &p = DumpParameters()) const
std::string | dump(const std::string &iname, const SymbolGroupValueContext &ctx, const DumpParameters &p, std::string *errorMessage)
bool | expand(const std::string &node, std::string *errorMessage)
unsigned | expandList(const std::vector<std::string> &nodes, std::string *errorMessage)
unsigned | expandListRunComplexDumpers(const std::vector<std::string> &nodes, const SymbolGroupValueContext &ctx, std::string *errorMessage)
bool | expandRunComplexDumpers(const std::string &node, const SymbolGroupValueContext &ctx, std::string *errorMessage)
AbstractSymbolGroupNode * | find(const std::string &iname) const
void | markUninitialized(const std::vector<std::string> &nodes)
SymbolGroupNode * | root()
const SymbolGroupNode * | 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, SymbolParameterVector *vec, std::string *errorMessage)

## Protected Functions

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

## Static Protected Members

bool | getSymbolParameters(CIDebugSymbolGroup *m_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 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(SymbolGroupNodeVisitor &visitor) const

### SymbolGroupNode *SymbolGroup::addSymbol(const std::string &module, const std::string &name, const std::string &displayName, const std::string &iname, std::string *errorMessage)

### SymbolGroupNode *SymbolGroup::addSymbol(const std::string &module, const std::string &name, const std::string &iname, std::string *errorMessage)

### bool SymbolGroup::assign(const std::string &node, int valueEncoding, const std::string &value, const SymbolGroupValueContext &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 verbosity = 0) const

### CIDebugSymbolGroup *SymbolGroup::debugSymbolGroup() const

### std::string SymbolGroup::dump(const SymbolGroupValueContext &ctx, const DumpParameters &p = DumpParameters()) const

### std::string SymbolGroup::dump(const std::string &iname, const SymbolGroupValueContext &ctx, const DumpParameters &p, std::string *errorMessage)

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

### unsigned SymbolGroup::expandList(const std::vector<std::string> &nodes, std::string *errorMessage)

### unsigned SymbolGroup::expandListRunComplexDumpers(const std::vector<std::string> &nodes, const SymbolGroupValueContext &ctx, std::string *errorMessage)

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

### AbstractSymbolGroupNode *SymbolGroup::find(const std::string &iname) const

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

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

### void SymbolGroup::markUninitialized(const std::vector<std::string> &nodes)

### `[protected]` bool SymbolGroup::removeSymbol(AbstractSymbolGroupNode *n, std::string *errorMessage)

### SymbolGroupNode *SymbolGroup::root()

### const SymbolGroupNode *SymbolGroup::root() const

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