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();
|
||||
|
||||
if (node.body.body.length === 0 && path.isCompletionRecord()) {
|
||||
node.body.body.unshift(
|
||||
t.expressionStatement(scope.buildUndefinedNode()),
|
||||
);
|
||||
}
|
||||
|
||||
node.body.body.unshift(
|
||||
t.variableDeclaration("var", [
|
||||
t.variableDeclarator(left, t.cloneNode(temp)),
|
||||
]),
|
||||
t.expressionStatement(
|
||||
t.assignmentExpression("=", left, t.cloneNode(temp)),
|
||||
),
|
||||
);
|
||||
|
||||
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 []) {
|
||||
var {
|
||||
var _ref3 = _ref2;
|
||||
({
|
||||
a
|
||||
} = _ref2,
|
||||
b = babelHelpers.objectWithoutProperties(_ref2, ["a"]);
|
||||
} = _ref3);
|
||||
b = babelHelpers.objectWithoutProperties(_ref3, ["a"]);
|
||||
_ref3;
|
||||
}
|
||||
|
||||
async function a() {
|
||||
for await (var _ref3 of []) {
|
||||
var {
|
||||
for await (var _ref4 of []) {
|
||||
var _ref5 = _ref4;
|
||||
({
|
||||
a
|
||||
} = _ref3,
|
||||
b = babelHelpers.objectWithoutProperties(_ref3, ["a"]);
|
||||
} = _ref5);
|
||||
b = babelHelpers.objectWithoutProperties(_ref5, ["a"]);
|
||||
_ref5;
|
||||
}
|
||||
} // skip
|
||||
|
||||
|
||||
@ -449,8 +449,14 @@ export default declare((api, options) => {
|
||||
|
||||
path.ensureBlock();
|
||||
|
||||
if (node.body.body.length === 0 && path.isCompletionRecord()) {
|
||||
node.body.body.unshift(
|
||||
t.expressionStatement(scope.buildUndefinedNode()),
|
||||
);
|
||||
}
|
||||
|
||||
node.body.body.unshift(
|
||||
t.variableDeclaration("var", [t.variableDeclarator(left, temp)]),
|
||||
t.expressionStatement(t.assignmentExpression("=", left, temp)),
|
||||
);
|
||||
|
||||
return;
|
||||
|
||||
@ -1,3 +1,7 @@
|
||||
for (var [name, value] in obj) {
|
||||
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];
|
||||
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 ([ name, before, after ] of test.expectation.registers) {
|
||||
|
||||
}
|
||||
|
||||
@ -5,3 +5,12 @@ for (var _ref of test.expectation.registers) {
|
||||
var before = _ref2[1];
|
||||
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