mirror of
https://github.com/jashkenas/coffeescript.git
synced 2022-11-09 12:23:24 -05:00
nodes: continue while ..
over while .. then
This commit is contained in:
parent
cecae0f965
commit
aed0e8790e
2 changed files with 6 additions and 8 deletions
|
@ -243,7 +243,7 @@
|
||||||
Expressions.prototype.compileExpression = function(node, o) {
|
Expressions.prototype.compileExpression = function(node, o) {
|
||||||
var code;
|
var code;
|
||||||
while (node !== (node = node.unwrap())) {
|
while (node !== (node = node.unwrap())) {
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
node = node.unfoldSoak(o) || node;
|
node = node.unfoldSoak(o) || node;
|
||||||
node.tags.front = true;
|
node.tags.front = true;
|
||||||
|
@ -997,14 +997,13 @@
|
||||||
return new Op(this.context.slice(0, -1), left, new Assign(rite, this.value)).compile(o);
|
return new Op(this.context.slice(0, -1), left, new Assign(rite, this.value)).compile(o);
|
||||||
};
|
};
|
||||||
Assign.prototype.matchParens = function(o, obj) {
|
Assign.prototype.matchParens = function(o, obj) {
|
||||||
var _ref2, idx;
|
|
||||||
while (obj !== (obj = obj.unwrap())) {
|
while (obj !== (obj = obj.unwrap())) {
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
if (!(obj instanceof Literal || obj instanceof Value)) {
|
if (!(obj instanceof Literal || obj instanceof Value)) {
|
||||||
throw SyntaxError('nonreference in destructuring assignment shorthand.');
|
throw SyntaxError('nonreference in destructuring assignment shorthand.');
|
||||||
}
|
}
|
||||||
return _ref2 = Value.wrap(obj).cacheReference(o), obj = _ref2[0], idx = _ref2[1], _ref2;
|
return Value.wrap(obj).cacheReference(o);
|
||||||
};
|
};
|
||||||
return Assign;
|
return Assign;
|
||||||
})();
|
})();
|
||||||
|
|
|
@ -232,7 +232,7 @@ exports.Expressions = class Expressions extends Base
|
||||||
# return the result, and it's an expression, simply return it. If it's a
|
# return the result, and it's an expression, simply return it. If it's a
|
||||||
# statement, ask the statement to do so.
|
# statement, ask the statement to do so.
|
||||||
compileExpression: (node, o) ->
|
compileExpression: (node, o) ->
|
||||||
while node isnt node = node.unwrap() then
|
continue until node is node = node.unwrap()
|
||||||
node = node.unfoldSoak(o) or node
|
node = node.unfoldSoak(o) or node
|
||||||
node.tags.front = on
|
node.tags.front = on
|
||||||
o.level = LEVEL_TOP
|
o.level = LEVEL_TOP
|
||||||
|
@ -846,11 +846,10 @@ exports.Assign = class Assign extends Base
|
||||||
return new Op(@context.slice(0, -1), left, new Assign(rite, @value)).compile o
|
return new Op(@context.slice(0, -1), left, new Assign(rite, @value)).compile o
|
||||||
|
|
||||||
matchParens: (o, obj) ->
|
matchParens: (o, obj) ->
|
||||||
until obj is obj = obj.unwrap() then
|
continue until obj is obj = obj.unwrap()
|
||||||
unless obj instanceof Literal or obj instanceof Value
|
unless obj instanceof Literal or obj instanceof Value
|
||||||
throw SyntaxError 'nonreference in destructuring assignment shorthand.'
|
throw SyntaxError 'nonreference in destructuring assignment shorthand.'
|
||||||
[obj, idx] = Value.wrap(obj).cacheReference o
|
Value.wrap(obj).cacheReference o
|
||||||
|
|
||||||
|
|
||||||
#### Code
|
#### Code
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue