An Encoding represents a mangled (type) name. Here is a quick reference of the grammar:
Special function names:
return a copy of the underlaying buffer FIXME: this is a temporary workaround while there are still places that use raw strings
if this Encoding represents a qualified name, return the name of the outer scope
if this Encoding represents a qualified name, return the name of the symbol inside the outer scope, else return the unmodified name
return a copy of the underlaying buffer FIXME: this is a temporary workaround while there are still places that use raw strings
if this Encoding represents a qualified name, return the name of the outer scope
if this Encoding represents a qualified name, return the name of the symbol inside the outer scope, else return the unmodified name