aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-11-12 08:47:49 -0800
committerAlon Zakai <alonzakai@gmail.com>2013-11-12 08:47:49 -0800
commit57b8e5a49801661495b14ddc33c4775c7844e174 (patch)
tree483222e08fbada0e2b4aadeb42e53994375ab059 /src
parent1b031e02d33baa0889f906b7c1ec2f04fabe16d5 (diff)
ignore first L when demangling, literalness is irrelevant to the main name
Diffstat (limited to 'src')
-rw-r--r--src/preamble.js4
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);