aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-10-30 17:35:11 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-10-30 17:38:47 -0700
commitec784ebc61671843c44f341c84b4c008ef0982f0 (patch)
treecd64c2432c8b88f7994d24d0b2bb835c972ec189
parent233f79bafda245925bd39b82e45b1dfa5a75a73f (diff)
handle more return types in getReturnType
-rw-r--r--src/parseTools.js3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/parseTools.js b/src/parseTools.js
index 314c5ffb..de80eb07 100644
--- a/src/parseTools.js
+++ b/src/parseTools.js
@@ -301,6 +301,9 @@ function getReturnType(type) {
if (pointingLevels(type) > 1) return '*'; // the type of a call can be either the return value, or the entire function. ** or more means it is a return value
var lastOpen = type.lastIndexOf('(');
if (lastOpen > 0) {
+ // handle things like void (i32)* (i32, void (i32)*)*
+ var closeStar = type.indexOf(')*');
+ if (closeStar > 0 && closeStar < type.length-2) lastOpen = closeStar+3;
return type.substr(0, lastOpen-1);
}
return type;