The PTree::Encoding class is used to represent
variable and type names, as they may be
cross-referenced (in the symbol table, for example).
Try to get as close to the IA64 spec
(http://www.codesourcery.com/cxx-abi/abi.html#mangling)
as possible.
The old implementation suffers a number of
limitations, such as not being able to represent
all overloadable operators, or non-type template
parameters / arguments.
The design of the existing class is not robust,
as it exposes too much detail to the user, and
makes it possible to create invalid encodings. |