diff --git a/Spec.html b/Spec.html index da35e94..86652d4 100644 --- a/Spec.html +++ b/Spec.html @@ -33,15 +33,13 @@

Spread Properties

Syntax

- - IdentifierReference - CoverInitializedName - PropertyName:AssignmentExpression - MethodDefinition - - ...AssignmentExpression - - + + PropertyDefinition[Yield, Await] : + IdentifierReference[?Yield, ?Await] + CoverInitializedName[?Yield, ?Await] + PropertyName[?Yield, ?Await] + `...` AssignmentExpression[In, ?Yield, ?Await] +

Runtime Semantics: PropertyDefinitionEvaluation

@@ -66,30 +64,27 @@

Rest Properties

Syntax

- - {AssignmentRestProperty} - {AssignmentPropertyList} - {AssignmentPropertyList,AssignmentRestProperty} - + + ObjectAssignmentPattern[Yield, Await] : + `{` AssignmentRestProperty[?Yield, ?Await]? `}` + `{` AssignmentPropertyList[?Yield, ?Await] `}` + `{` AssignmentPropertyList[?Yield, ?Await] `,` AssignmentRestProperty[?Yield, ?Await]? `}` - - - ...DestructuringAssignmentTarget - - + + AssignmentRestProperty[Yield, Await] : + `...` DestructuringAssignmentTarget[Yield, Await] + - - {BindingRestProperty} - {BindingPropertyList} - {BindingPropertyList,BindingRestProperty} - + ObjectBindingPattern[Yield, Await] : + `{` BindingRestProperty[?Yield, ?Await]? `}` + `{` BindingPropertyList[?Yield, ?Await] `}` + `{` BindingPropertyList[?Yield, ?Await] `,` BindingRestProperty[?Yield, ?Await]? `}` - - - ...BindingIdentifier - ...BindingPattern - - + + BindingRestProperty[Yield, Await] : + `...` BindingIdentifier[?Yield, ?Await] + +

Runtime Semantics: DestructuringAssignmentEvaluation

@@ -177,7 +172,7 @@

Runtime Semantics: PropertyDestructuringAssignmentEvaluation

Runtime Semantics: RestDestructuringAssignmentEvaluation

With parameters _value_ and _excludedNames_.

- AssignmentRestProperty[Yield] : `...` DestructuringAssignmentTarget + AssignmentRestProperty[Yield, Await] : `...` DestructuringAssignmentTarget 1. If |DestructuringAssignmentTarget| is neither an |ObjectLiteral| nor an |ArrayLiteral|, then 1. Let _lref_ be the result of evaluating |DestructuringAssignmentTarget|. @@ -187,7 +182,7 @@

Runtime Semantics: RestDestructuringAssignmentEvaluation

1. ReturnIfAbrupt(_assignStatus_). 1. If |DestructuringAssignmentTarget| is neither an |ObjectLiteral| nor an |ArrayLiteral|, then 1. Return PutValue(_lref_, _restObj_). - 1. Let _nestedAssignmentPattern_ be the parse of the source text corresponding to |DestructuringAssignmentTarget| using either |AssignmentPattern| or |AssignmentPattern[Yield]| as the goal symbol depending upon whether this |AssignmentRestProperty| has the [Yield] parameter. + 1. Let _nestedAssignmentPattern_ be the parse of the source text corresponding to |DestructuringAssignmentTarget| using either |AssignmentPattern[?Yield, ?Await]| as the goal symbol, adopting the parameter values from |AssignmentRestProperty|. 1. Return the result of performing DestructuringAssignmentEvaluation of _nestedAssignmentPattern_ with _restObj_ as the argument.
@@ -284,14 +279,6 @@

Runtime Semantics: RestBindingInitialization

1. If _environment_ is *undefined*, return PutValue(_lhs_, _restObj_). 1. Return InitializeReferencedBinding(_lhs_, _restObj_). - - BindingRestProperty : `...` BindingPattern - - 1. Let _restObj_ be ObjectCreate(%ObjectPrototype%). - 1. Let _assignStatus_ be CopyDataProperties(_restObj_, _value_, _excludedNames_). - 1. ReturnIfAbrupt(_assignStatus_). - 1. Return the result of performing BindingInitialization of |BindingPattern| with _restObj_ and _environment_ as the arguments. -