Destructuring: Create assignments from ForX non-declaration patterns (#9414)
This commit is contained in:
parent
ede69eef7f
commit
1452e977a0
@ -377,10 +377,16 @@ export default declare((api, opts) => {
|
|||||||
|
|
||||||
path.ensureBlock();
|
path.ensureBlock();
|
||||||
|
|
||||||
|
if (node.body.body.length === 0 && path.isCompletionRecord()) {
|
||||||
node.body.body.unshift(
|
node.body.body.unshift(
|
||||||
t.variableDeclaration("var", [
|
t.expressionStatement(scope.buildUndefinedNode()),
|
||||||
t.variableDeclarator(left, t.cloneNode(temp)),
|
);
|
||||||
]),
|
}
|
||||||
|
|
||||||
|
node.body.body.unshift(
|
||||||
|
t.expressionStatement(
|
||||||
|
t.assignmentExpression("=", left, t.cloneNode(temp)),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|||||||
@ -0,0 +1 @@
|
|||||||
|
for ({a, ...b} of []) {}
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
for (var _ref of []) {
|
||||||
|
var _ref2 = _ref;
|
||||||
|
({
|
||||||
|
a
|
||||||
|
} = _ref2);
|
||||||
|
b = babelHelpers.objectWithoutProperties(_ref2, ["a"]);
|
||||||
|
_ref2;
|
||||||
|
void 0;
|
||||||
|
}
|
||||||
@ -7,18 +7,22 @@ for (var _ref of []) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (var _ref2 of []) {
|
for (var _ref2 of []) {
|
||||||
var {
|
var _ref3 = _ref2;
|
||||||
|
({
|
||||||
a
|
a
|
||||||
} = _ref2,
|
} = _ref3);
|
||||||
b = babelHelpers.objectWithoutProperties(_ref2, ["a"]);
|
b = babelHelpers.objectWithoutProperties(_ref3, ["a"]);
|
||||||
|
_ref3;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function a() {
|
async function a() {
|
||||||
for await (var _ref3 of []) {
|
for await (var _ref4 of []) {
|
||||||
var {
|
var _ref5 = _ref4;
|
||||||
|
({
|
||||||
a
|
a
|
||||||
} = _ref3,
|
} = _ref5);
|
||||||
b = babelHelpers.objectWithoutProperties(_ref3, ["a"]);
|
b = babelHelpers.objectWithoutProperties(_ref5, ["a"]);
|
||||||
|
_ref5;
|
||||||
}
|
}
|
||||||
} // skip
|
} // skip
|
||||||
|
|
||||||
|
|||||||
@ -449,8 +449,14 @@ export default declare((api, options) => {
|
|||||||
|
|
||||||
path.ensureBlock();
|
path.ensureBlock();
|
||||||
|
|
||||||
|
if (node.body.body.length === 0 && path.isCompletionRecord()) {
|
||||||
node.body.body.unshift(
|
node.body.body.unshift(
|
||||||
t.variableDeclaration("var", [t.variableDeclarator(left, temp)]),
|
t.expressionStatement(scope.buildUndefinedNode()),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
node.body.body.unshift(
|
||||||
|
t.expressionStatement(t.assignmentExpression("=", left, temp)),
|
||||||
);
|
);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|||||||
@ -1,3 +1,7 @@
|
|||||||
for (var [name, value] in obj) {
|
for (var [name, value] in obj) {
|
||||||
print("Name: " + name + ", Value: " + value);
|
print("Name: " + name + ", Value: " + value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for ([name, value] in obj) {
|
||||||
|
print("Name: " + name + ", Value: " + value);
|
||||||
|
}
|
||||||
|
|||||||
@ -5,3 +5,11 @@ for (var _ref in obj) {
|
|||||||
var value = _ref2[1];
|
var value = _ref2[1];
|
||||||
print("Name: " + name + ", Value: " + value);
|
print("Name: " + name + ", Value: " + value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (var _ref3 in obj) {
|
||||||
|
var _ref4 = babelHelpers.slicedToArray(_ref3, 2);
|
||||||
|
|
||||||
|
name = _ref4[0];
|
||||||
|
value = _ref4[1];
|
||||||
|
print("Name: " + name + ", Value: " + value);
|
||||||
|
}
|
||||||
|
|||||||
@ -1,3 +1,7 @@
|
|||||||
for (var [ name, before, after ] of test.expectation.registers) {
|
for (var [ name, before, after ] of test.expectation.registers) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for ([ name, before, after ] of test.expectation.registers) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
@ -5,3 +5,12 @@ for (var _ref of test.expectation.registers) {
|
|||||||
var before = _ref2[1];
|
var before = _ref2[1];
|
||||||
var after = _ref2[2];
|
var after = _ref2[2];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (var _ref3 of test.expectation.registers) {
|
||||||
|
var _ref4 = babelHelpers.slicedToArray(_ref3, 3);
|
||||||
|
|
||||||
|
name = _ref4[0];
|
||||||
|
before = _ref4[1];
|
||||||
|
after = _ref4[2];
|
||||||
|
void 0;
|
||||||
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user