diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-10-16 16:10:02 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-10-16 16:10:02 -0700 |
commit | 87cdaae25aa168a0850a278f07616d97b580234d (patch) | |
tree | e1829395432b41722d7a49d99107ed977edd5f65 /src/parseTools.js | |
parent | c3dfcb7c7c923557e352c17dafe7b9c44ecdc925 (diff) |
do not add ',' tokens during param list processing
Diffstat (limited to 'src/parseTools.js')
-rw-r--r-- | src/parseTools.js | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/parseTools.js b/src/parseTools.js index e3b1df6d..3856c17e 100644 --- a/src/parseTools.js +++ b/src/parseTools.js @@ -376,7 +376,6 @@ var SPLIT_TOKEN_LIST_SPLITTERS = set(',', 'to'); // 'to' can separate parameters function splitTokenList(tokens) { if (tokens.length == 0) return []; if (!tokens.slice) tokens = tokens.tokens; - if (tokens.slice(-1)[0].text != ',') tokens.push({text:','}); var ret = []; var seg = []; for (var i = 0; i < tokens.length; i++) { @@ -386,24 +385,22 @@ function splitTokenList(tokens) { seg = []; } else if (token.text == ';') { ret.push(seg); - break; + return ret; } else { seg.push(token); } } + if (seg.length) ret.push(seg); return ret; } function parseParamTokens(params) { if (params.length === 0) return []; var ret = []; - if (params[params.length-1].text != ',') { - params.push({ text: ',' }); - } var anonymousIndex = 0; while (params.length > 0) { var i = 0; - while (params[i].text != ',') i++; + while (i < params.length && params[i].text != ',') i++; var segment = params.slice(0, i); params = params.slice(i+1); segment = cleanSegment(segment); |