STABS

Node:Nested Symbols, Next:Basic Cplusplus Types, Previous:Class Names, Up:Cplusplus

### Defining a Symbol Within Another Type

In C++, a symbol (such as a type name) can be defined within another type.

In stabs, this is sometimes represented by making the name of a symbol which contains `::`. Such a pair of colons does not end the name of the symbol, the way a single colon would (see String Field). I'm not sure how consistently used or well thought out this mechanism is. So that a pair of colons in this position always has this meaning, `:` cannot be used as a symbol descriptor.

For example, if the string for a stab is `foo::bar::baz:t5=*6`, then `foo::bar::baz` is the name of the symbol, `t` is the symbol descriptor, and `5=*6` is the type information.