From 7480f55e5373d0980eba5d78574916cade985036 Mon Sep 17 00:00:00 2001 From: Jeremy Ashkenas Date: Sun, 1 May 2011 10:03:50 -0400 Subject: [PATCH] making end implicit tokens generated --- lib/rewriter.js | 5 ++++- src/rewriter.coffee | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/rewriter.js b/lib/rewriter.js index 7a2eb43d..f4c4003b 100644 --- a/lib/rewriter.js +++ b/lib/rewriter.js @@ -121,7 +121,10 @@ return ((tag === 'TERMINATOR' || tag === 'OUTDENT') && !((two != null ? two[0] : void 0) === ':' || (one != null ? one[0] : void 0) === '@' && (three != null ? three[0] : void 0) === ':')) || (tag === ',' && one && ((_ref2 = one[0]) !== 'IDENTIFIER' && _ref2 !== 'NUMBER' && _ref2 !== 'STRING' && _ref2 !== '@' && _ref2 !== 'TERMINATOR' && _ref2 !== 'OUTDENT')); }; action = function(token, i) { - return this.tokens.splice(i, 0, ['}', '}', token[2]]); + var tok; + tok = ['}', '}', token[2]]; + tok.generated = true; + return this.tokens.splice(i, 0, tok); }; return this.scanTokens(function(token, i, tokens) { var ago, idx, tag, tok, value, _ref, _ref2; diff --git a/src/rewriter.coffee b/src/rewriter.coffee index b6a0ac19..c738e4a1 100644 --- a/src/rewriter.coffee +++ b/src/rewriter.coffee @@ -104,7 +104,10 @@ class exports.Rewriter not (two?[0] is ':' or one?[0] is '@' and three?[0] is ':')) or (tag is ',' and one and one[0] not in ['IDENTIFIER', 'NUMBER', 'STRING', '@', 'TERMINATOR', 'OUTDENT']) - action = (token, i) -> @tokens.splice i, 0, ['}', '}', token[2]] + action = (token, i) -> + tok = ['}', '}', token[2]] + tok.generated = yes + @tokens.splice i, 0, tok @scanTokens (token, i, tokens) -> if (tag = token[0]) in EXPRESSION_START stack.push [(if tag is 'INDENT' and @tag(i - 1) is '{' then '{' else tag), i]