mirror of
https://github.com/jashkenas/coffeescript.git
synced 2026-05-03 03:00:14 -04:00
Adding generated token helper function.
This commit is contained in:
@@ -118,8 +118,7 @@
|
||||
};
|
||||
action = function(token, i) {
|
||||
var tok;
|
||||
tok = ['}', '}', token[2]];
|
||||
tok.generated = true;
|
||||
tok = this.generated(['}', '}', token[2]]);
|
||||
return this.tokens.splice(i, 0, tok);
|
||||
};
|
||||
return this.scanTokens(function(token, i, tokens) {
|
||||
@@ -143,10 +142,8 @@
|
||||
}
|
||||
prevTag = this.tag(idx - 1);
|
||||
startsLine = !prevTag || (__indexOf.call(LINEBREAKS, prevTag) >= 0);
|
||||
value = new String('{');
|
||||
value.generated = true;
|
||||
tok = ['{', value, token[2]];
|
||||
tok.generated = true;
|
||||
value = this.generated(new String('{'));
|
||||
tok = this.generated(['{', value, token[2]]);
|
||||
tokens.splice(idx, 0, tok);
|
||||
this.detectEnd(i + 2, condition, action);
|
||||
return 2;
|
||||
@@ -224,7 +221,8 @@
|
||||
starter = tag;
|
||||
_ref2 = this.indentation(token), indent = _ref2[0], outdent = _ref2[1];
|
||||
if (starter === 'THEN') indent.fromThen = true;
|
||||
indent.generated = outdent.generated = true;
|
||||
this.generated(indent);
|
||||
this.generated(outdent);
|
||||
tokens.splice(i + 1, 0, indent);
|
||||
this.detectEnd(i + 2, condition, action);
|
||||
if (tag === 'THEN') tokens.splice(i, 1);
|
||||
@@ -261,6 +259,11 @@
|
||||
return (_ref = this.tokens[i]) != null ? _ref[0] : void 0;
|
||||
};
|
||||
|
||||
Rewriter.prototype.generated = function(token) {
|
||||
token.generated = true;
|
||||
return token;
|
||||
};
|
||||
|
||||
return Rewriter;
|
||||
|
||||
})();
|
||||
|
||||
@@ -118,8 +118,7 @@ class exports.Rewriter
|
||||
one[0] not in ['IDENTIFIER', 'NUMBER', 'STRING', '@', 'TERMINATOR', 'OUTDENT'])
|
||||
|
||||
action = (token, i) ->
|
||||
tok = ['}', '}', token[2]]
|
||||
tok.generated = yes
|
||||
tok = @generated(['}', '}', token[2]])
|
||||
@tokens.splice i, 0, tok
|
||||
|
||||
@scanTokens (token, i, tokens) ->
|
||||
@@ -137,10 +136,8 @@ class exports.Rewriter
|
||||
idx -= 2 while @tag(idx - 2) is 'HERECOMMENT'
|
||||
prevTag = @tag(idx - 1)
|
||||
startsLine = not prevTag or (prevTag in LINEBREAKS)
|
||||
value = new String('{')
|
||||
value.generated = yes
|
||||
tok = ['{', value, token[2]]
|
||||
tok.generated = yes
|
||||
value = @generated(new String('{'))
|
||||
tok = @generated(['{', value, token[2]])
|
||||
tokens.splice idx, 0, tok
|
||||
@detectEnd i + 2, condition, action
|
||||
2
|
||||
@@ -218,7 +215,8 @@ class exports.Rewriter
|
||||
starter = tag
|
||||
[indent, outdent] = @indentation token
|
||||
indent.fromThen = true if starter is 'THEN'
|
||||
indent.generated = outdent.generated = true
|
||||
@generated(indent)
|
||||
@generated(outdent)
|
||||
tokens.splice i + 1, 0, indent
|
||||
@detectEnd i + 2, condition, action
|
||||
tokens.splice i, 1 if tag is 'THEN'
|
||||
@@ -250,6 +248,11 @@ class exports.Rewriter
|
||||
# Look up a tag by token index.
|
||||
tag: (i) -> @tokens[i]?[0]
|
||||
|
||||
# Mark the given token or value generated.
|
||||
generated : (token) ->
|
||||
token.generated = true
|
||||
token
|
||||
|
||||
# Constants
|
||||
# ---------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user