diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-01-23 10:06:07 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-01-23 10:06:07 -0800 |
commit | b40afadb4f35bb1df98fb8098c6b4edfe17dc6bd (patch) | |
tree | 4c073d638bc89b4d5fb93fc372e16a7d3928e79e | |
parent | 0eadc1bad8baecfdedbc60c600ee802489a58a9d (diff) |
optimize isFuncType further
-rw-r--r-- | src/parseTools.js | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/parseTools.js b/src/parseTools.js index f5eba4c4..a5939994 100644 --- a/src/parseTools.js +++ b/src/parseTools.js @@ -205,15 +205,16 @@ function isFunctionDef(token, out) { function isPossiblyFunctionType(type) { // A quick but unreliable way to see if something is a function type. Yes is just 'maybe', no is definite. var len = type.length; - return type[len-2] == ')' && type[len-1] == '*' && type.indexOf('(') > 0; + return type[len-2] == ')' && type[len-1] == '*'; } function isFunctionType(type, out) { if (!isPossiblyFunctionType(type)) return false; type = type.substr(0, type.length-1); // remove final '*' + var firstOpen = type.indexOf('('); + if (firstOpen <= 0) return false; type = type.replace(/"[^"]+"/g, '".."'); var lastOpen = type.lastIndexOf('('); - var firstOpen = type.indexOf('('); var returnType; if (firstOpen == lastOpen) { returnType = type.substr(0, type.indexOf(' ')); |