mirror of
https://github.com/jashkenas/coffeescript.git
synced 2022-11-09 12:23:24 -05:00
[x] = [y] = [1]
works again
This commit is contained in:
parent
765f57b658
commit
769870b493
3 changed files with 5 additions and 2 deletions
|
@ -991,7 +991,7 @@
|
|||
return value.compile(o);
|
||||
}
|
||||
isObject = this.variable.isObject();
|
||||
if (olength === 1 && !((obj = objects[0]) instanceof SplatNode)) {
|
||||
if (o.top && olength === 1 && !((obj = objects[0]) instanceof SplatNode)) {
|
||||
if (obj instanceof AssignNode) {
|
||||
_ref2 = obj, idx = _ref2.variable.base, obj = _ref2.value;
|
||||
} else {
|
||||
|
|
|
@ -877,7 +877,7 @@ exports.AssignNode = class AssignNode extends BaseNode
|
|||
{objects} = @variable.base
|
||||
return value.compile o unless olength = objects.length
|
||||
isObject = @variable.isObject()
|
||||
if olength is 1 and (obj = objects[0]) not instanceof SplatNode
|
||||
if o.top and olength is 1 and (obj = objects[0]) not instanceof SplatNode
|
||||
# Unroll simplest cases: `{v} = x` -> `v = x.v`
|
||||
if obj instanceof AssignNode
|
||||
{variable: {base: idx}, value: obj} = obj
|
||||
|
|
|
@ -139,3 +139,6 @@ if func func
|
|||
{a} = obj
|
||||
|
||||
ok a is 101
|
||||
|
||||
[x] = {0: y} = {'0': z} = [Math.random()]
|
||||
ok x is y is z, 'destructuring in multiple'
|
||||
|
|
Loading…
Add table
Reference in a new issue