diff --git a/packages/babylon/src/parser/expression.js b/packages/babylon/src/parser/expression.js index 391981ae28..e819ed1b71 100644 --- a/packages/babylon/src/parser/expression.js +++ b/packages/babylon/src/parser/expression.js @@ -635,7 +635,7 @@ pp.parseObj = function (isPattern, refShorthandDefaultPos) { } if (this.hasFeature("objectRestSpread") && this.match(tt.ellipsis)) { prop = this.parseSpread(); - prop.type = "SpreadProperty"; + prop.type = isPattern ? "RestProperty" : "SpreadProperty"; node.properties.push(prop); continue; } diff --git a/packages/babylon/src/parser/lval.js b/packages/babylon/src/parser/lval.js index 0d477fd10c..d3d4569611 100644 --- a/packages/babylon/src/parser/lval.js +++ b/packages/babylon/src/parser/lval.js @@ -202,7 +202,7 @@ pp.checkLVal = function (expr, isBinding, checkClashes) { this.checkLVal(expr.left, isBinding, checkClashes); break; - case "SpreadProperty": + case "RestProperty": case "RestElement": this.checkLVal(expr.argument, isBinding, checkClashes); break;