diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-11-12 08:47:49 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-11-12 08:47:49 -0800 |
commit | 57b8e5a49801661495b14ddc33c4775c7844e174 (patch) | |
tree | 483222e08fbada0e2b4aadeb42e53994375ab059 /src | |
parent | 1b031e02d33baa0889f906b7c1ec2f04fabe16d5 (diff) |
ignore first L when demangling, literalness is irrelevant to the main name
Diffstat (limited to 'src')
-rw-r--r-- | src/preamble.js | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/preamble.js b/src/preamble.js index e552f782..27016c14 100644 --- a/src/preamble.js +++ b/src/preamble.js @@ -709,6 +709,7 @@ function demangle(func) { i++; // skip E return parts; } + var first = true; function parse(rawList, limit, allowVoid) { // main parser limit = limit || Infinity; var ret = '', list = []; @@ -723,7 +724,7 @@ function demangle(func) { if (limit === 0) return rawList ? [name] : name; } else { // not namespaced - if (func[i] === 'K') i++; // ignore const + if (func[i] === 'K' || (first && func[i] === 'L')) i++; // ignore const and first 'L' var size = parseInt(func.substr(i)); if (size) { var pre = size.toString().length; @@ -731,6 +732,7 @@ function demangle(func) { i += pre + size; } } + first = false; if (func[i] === 'I') { i++; var iList = parse(true); |