aboutsummaryrefslogtreecommitdiff
path: root/src/parseTools.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-10-16 16:10:02 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-10-16 16:10:02 -0700
commit87cdaae25aa168a0850a278f07616d97b580234d (patch)
treee1829395432b41722d7a49d99107ed977edd5f65 /src/parseTools.js
parentc3dfcb7c7c923557e352c17dafe7b9c44ecdc925 (diff)
do not add ',' tokens during param list processing
Diffstat (limited to 'src/parseTools.js')
-rw-r--r--src/parseTools.js9
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);