OSDN Git Service

[MS Demangler] Refactor some of the name parsing code.
authorZachary Turner <zturner@google.com>
Sat, 28 Jul 2018 22:10:42 +0000 (22:10 +0000)
committerZachary Turner <zturner@google.com>
Sat, 28 Jul 2018 22:10:42 +0000 (22:10 +0000)
commit71650da2ad2e33fec90f90568d67cdee3e9eb12f
tree9224295377912fe46a6d82e2bb0fdaa0fb035df9
parent789dd7b80553033d6747e369dfa0837773007714
[MS Demangler] Refactor some of the name parsing code.

There are some very subtle differences between how one should
parse symbol names and type names.  They differ with respect
to back-referencing, the set of legal values that can appear
as the unqualified portion, and various other aspects.

By separating the parsing code into separate paths, we can
remove a lot of ambiguity during the demangling process, which
is necessary for demangling more complicated things like
function local statics, nested classes, and lambdas.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@338207 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Demangle/MicrosoftDemangle.cpp