Commits

John McCall committed 8505c4a00de
Further refactoring/simplification of the demangler. Not NFC: changes some of the demangling tree schemata (in interest of regularity and expressivity) and, incidentally, improves support for initializer manglings. The main schema change is that Path is now gone, and instead the first child of an entity is its context. All contexts are now labelled with their kind (variable/function/etc.) rather than that being much more obscure or missing. A secondary change is that the top-level node is now a single node with the <global> and all its attributes as children, rather than being weirdly sibling-linked. Also, the representation has changed so that nodes link only to their children, not to siblings or parents, which means that it is no longer necessary to clone nodes when replacing substitutions. Finally, dump/print was brought in from swift-demangler and made part of the core API for debugging purposes. Swift SVN r11470