More tests for AssignmentPattern

This commit is contained in:
Joe Savona
2023-03-27 10:34:16 -07:00
parent 6d434cc777
commit 4a826985db
5 changed files with 50 additions and 4 deletions
+2 -4
View File
@@ -1795,16 +1795,14 @@ function lowerReorderableExpression(
builder: HIRBuilder,
expr: NodePath<t.Expression>
): Place {
if (isReorderableExpression(builder, expr)) {
return lowerExpressionToTemporary(builder, expr);
} else {
if (!isReorderableExpression(builder, expr)) {
builder.errors.push({
reason: `(BuildHIR::node.lowerReorderableExpression) Expression type '${expr.type}' cannot be safely reordered`,
severity: ErrorSeverity.Todo,
nodePath: expr,
});
return buildTemporaryPlace(builder, expr.node.loc ?? GeneratedSource);
}
return lowerExpressionToTemporary(builder, expr);
}
function isReorderableExpression(
@@ -0,0 +1,21 @@
## Input
```javascript
function Component([a = 2]) {
return a;
}
```
## Code
```javascript
function Component(t13) {
const [t14] = t13;
const a = t14 === undefined ? 2 : t14;
return a;
}
```
@@ -0,0 +1,3 @@
function Component([a = 2]) {
return a;
}
@@ -0,0 +1,21 @@
## Input
```javascript
function Component({ a = 2 }) {
return a;
}
```
## Code
```javascript
function Component(t13) {
const { a: t14 } = t13;
const a = t14 === undefined ? 2 : t14;
return a;
}
```
@@ -0,0 +1,3 @@
function Component({ a = 2 }) {
return a;
}