From 63199110f776388987609788eb6e802530169a2b Mon Sep 17 00:00:00 2001 From: Michael Dyck Date: Sun, 17 Apr 2022 23:51:13 -0400 Subject: [PATCH] Editorial: Change "the result of evaluating X" to "Evaluation of X" (#2744) --- spec.html | 400 +++++++++++++++++++++++++++--------------------------- 1 file changed, 200 insertions(+), 200 deletions(-) diff --git a/spec.html b/spec.html index 44b3d4fbb24..3282cd2ae71 100644 --- a/spec.html +++ b/spec.html @@ -842,7 +842,7 @@

Syntax-Directed Operations

1. [id="step-sdo-invocation-example-2"] Perform SyntaxDirectedOperation of _someParseNode_. 1. [id="step-sdo-invocation-example-3"] Perform SyntaxDirectedOperation of _someParseNode_ with argument *"value"*. -

Unless explicitly specified otherwise, all chain productions have an implicit definition for every operation that might be applied to that production's left-hand side nonterminal. The implicit definition simply reapplies the same operation with the same parameters, if any, to the chain production's sole right-hand side nonterminal and then returns the result. For example, assume that some algorithm has a step of the form: “Return the result of evaluating |Block|” and that there is a production:

+

Unless explicitly specified otherwise, all chain productions have an implicit definition for every operation that might be applied to that production's left-hand side nonterminal. The implicit definition simply reapplies the same operation with the same parameters, if any, to the chain production's sole right-hand side nonterminal and then returns the result. For example, assume that some algorithm has a step of the form: “Return Evaluation of |Block|” and that there is a production:

Block : `{` StatementList `}` @@ -851,7 +851,7 @@

Syntax-Directed Operations

Runtime Semantics: Evaluation

Block : `{` StatementList `}` - 1. Return the result of evaluating |StatementList|. + 1. Return Evaluation of |StatementList|. @@ -961,7 +961,7 @@

Implicit Normal Completion

It is an editorial error if a Completion Record is returned from such an abstract operation through any other means. For example, within these abstract operations,

@@ -9662,7 +9662,7 @@

1. If IsAnonymousFunctionDefinition(|Initializer|) is *true*, then 1. Set _v_ to ? NamedEvaluation of |Initializer| with argument _bindingId_. 1. Else, - 1. Let _defaultValue_ be the result of evaluating |Initializer|. + 1. Let _defaultValue_ be Evaluation of |Initializer|. 1. Set _v_ to ? GetValue(_defaultValue_). 1. If _environment_ is *undefined*, return ? PutValue(_lhs_, _v_). 1. Return ? InitializeReferencedBinding(_lhs_, _v_). @@ -9680,7 +9680,7 @@

1. If _v_ is an abrupt completion, set _iteratorRecord_.[[Done]] to *true*. 1. ReturnIfAbrupt(_v_). 1. If |Initializer| is present and _v_ is *undefined*, then - 1. Let _defaultValue_ be the result of evaluating |Initializer|. + 1. Let _defaultValue_ be Evaluation of |Initializer|. 1. Set _v_ to ? GetValue(_defaultValue_). 1. Return ? BindingInitialization of |BindingPattern| with arguments _v_ and _environment_. @@ -13381,7 +13381,7 @@

1. If IsAnonymousFunctionDefinition(|AssignmentExpression|) is *true*, then 1. Let _value_ be ? NamedEvaluation of |Initializer| with argument _functionObject_.[[ClassFieldInitializerName]]. 1. Else, - 1. Let _rhs_ be the result of evaluating |AssignmentExpression|. + 1. Let _rhs_ be Evaluation of |AssignmentExpression|. 1. Let _value_ be ? GetValue(_rhs_). 1. Return Completion Record { [[Type]]: ~return~, [[Value]]: _value_, [[Target]]: ~empty~ }. @@ -18134,7 +18134,7 @@

1. If |Elision| is present, then 1. Set _nextIndex_ to ? ArrayAccumulation of |Elision| with arguments _array_ and _nextIndex_. - 1. Let _initResult_ be the result of evaluating |AssignmentExpression|. + 1. Let _initResult_ be Evaluation of |AssignmentExpression|. 1. Let _initValue_ be ? GetValue(_initResult_). 1. Let _created_ be ! CreateDataPropertyOrThrow(_array_, ! ToString(𝔽(_nextIndex_)), _initValue_). 1. Return _nextIndex_ + 1. @@ -18150,7 +18150,7 @@

1. Set _nextIndex_ to ? ArrayAccumulation of |ElementList| with arguments _array_ and _nextIndex_. 1. If |Elision| is present, then 1. Set _nextIndex_ to ? ArrayAccumulation of |Elision| with arguments _array_ and _nextIndex_. - 1. Let _initResult_ be the result of evaluating |AssignmentExpression|. + 1. Let _initResult_ be Evaluation of |AssignmentExpression|. 1. Let _initValue_ be ? GetValue(_initResult_). 1. Let _created_ be ! CreateDataPropertyOrThrow(_array_, ! ToString(𝔽(_nextIndex_)), _initValue_). 1. Return _nextIndex_ + 1. @@ -18164,7 +18164,7 @@

SpreadElement : `...` AssignmentExpression - 1. Let _spreadRef_ be the result of evaluating |AssignmentExpression|. + 1. Let _spreadRef_ be Evaluation of |AssignmentExpression|. 1. Let _spreadObj_ be ? GetValue(_spreadRef_). 1. Let _iteratorRecord_ be ? GetIterator(_spreadObj_). 1. Repeat, @@ -18353,7 +18353,7 @@

Runtime Semantics: Evaluation

ComputedPropertyName : `[` AssignmentExpression `]` - 1. Let _exprValue_ be the result of evaluating |AssignmentExpression|. + 1. Let _exprValue_ be Evaluation of |AssignmentExpression|. 1. Let _propName_ be ? GetValue(_exprValue_). 1. Return ? ToPropertyKey(_propName_). @@ -18375,7 +18375,7 @@

PropertyDefinition : `...` AssignmentExpression - 1. Let _exprValue_ be the result of evaluating |AssignmentExpression|. + 1. Let _exprValue_ be Evaluation of |AssignmentExpression|. 1. Let _fromValue_ be ? GetValue(_exprValue_). 1. Let _excludedNames_ be a new empty List. 1. Perform ? CopyDataProperties(_object_, _fromValue_, _excludedNames_). @@ -18384,7 +18384,7 @@

PropertyDefinition : IdentifierReference 1. Let _propName_ be StringValue of |IdentifierReference|. - 1. Let _exprValue_ be the result of evaluating |IdentifierReference|. + 1. Let _exprValue_ be Evaluation of |IdentifierReference|. 1. Let _propValue_ be ? GetValue(_exprValue_). 1. Assert: _object_ is an ordinary, extensible object with no non-configurable properties. 1. Perform ! CreateDataPropertyOrThrow(_object_, _propName_, _propValue_). @@ -18392,7 +18392,7 @@

PropertyDefinition : PropertyName `:` AssignmentExpression - 1. Let _propKey_ be the result of evaluating |PropertyName|. + 1. Let _propKey_ be Evaluation of |PropertyName|. 1. ReturnIfAbrupt(_propKey_). 1. If this |PropertyDefinition| is contained within a |Script| that is being evaluated for JSON.parse (see step of JSON.parse), then 1. Let _isProtoSetter_ be *false*. @@ -18403,7 +18403,7 @@

1. If IsAnonymousFunctionDefinition(|AssignmentExpression|) is *true* and _isProtoSetter_ is *false*, then 1. Let _propValue_ be ? NamedEvaluation of |AssignmentExpression| with argument _propKey_. 1. Else, - 1. Let _exprValueRef_ be the result of evaluating |AssignmentExpression|. + 1. Let _exprValueRef_ be Evaluation of |AssignmentExpression|. 1. Let _propValue_ be ? GetValue(_exprValueRef_). 1. If _isProtoSetter_ is *true*, then 1. If Type(_propValue_) is either Object or Null, then @@ -18668,14 +18668,14 @@

Runtime Semantics: SubstitutionEvaluation ( ): either a normal completion co TemplateMiddleList : TemplateMiddle Expression - 1. Let _subRef_ be the result of evaluating |Expression|. + 1. Let _subRef_ be Evaluation of |Expression|. 1. Let _sub_ be ? GetValue(_subRef_). 1. Return « _sub_ ». TemplateMiddleList : TemplateMiddleList TemplateMiddle Expression 1. Let _preceding_ be ? SubstitutionEvaluation of |TemplateMiddleList|. - 1. Let _nextRef_ be the result of evaluating |Expression|. + 1. Let _nextRef_ be Evaluation of |Expression|. 1. Let _next_ be ? GetValue(_nextRef_). 1. Return the list-concatenation of _preceding_ and « _next_ ». @@ -18690,10 +18690,10 @@

Runtime Semantics: Evaluation

SubstitutionTemplate : TemplateHead Expression TemplateSpans 1. Let _head_ be the TV of |TemplateHead| as defined in . - 1. Let _subRef_ be the result of evaluating |Expression|. + 1. Let _subRef_ be Evaluation of |Expression|. 1. Let _sub_ be ? GetValue(_subRef_). 1. Let _middle_ be ? ToString(_sub_). - 1. Let _tail_ be the result of evaluating |TemplateSpans|. + 1. Let _tail_ be Evaluation of |TemplateSpans|. 1. ReturnIfAbrupt(_tail_). 1. Return the string-concatenation of _head_, _middle_, and _tail_. @@ -18706,7 +18706,7 @@

Runtime Semantics: Evaluation

TemplateSpans : TemplateMiddleList TemplateTail - 1. Let _head_ be the result of evaluating |TemplateMiddleList|. + 1. Let _head_ be Evaluation of |TemplateMiddleList|. 1. ReturnIfAbrupt(_head_). 1. Let _tail_ be the TV of |TemplateTail| as defined in . 1. Return the string-concatenation of _head_ and _tail_. @@ -18714,7 +18714,7 @@

Runtime Semantics: Evaluation

TemplateMiddleList : TemplateMiddle Expression 1. Let _head_ be the TV of |TemplateMiddle| as defined in . - 1. Let _subRef_ be the result of evaluating |Expression|. + 1. Let _subRef_ be Evaluation of |Expression|. 1. Let _sub_ be ? GetValue(_subRef_). 1. Let _middle_ be ? ToString(_sub_). 1. Return the string-concatenation of _head_ and _middle_. @@ -18724,10 +18724,10 @@

Runtime Semantics: Evaluation

TemplateMiddleList : TemplateMiddleList TemplateMiddle Expression - 1. Let _rest_ be the result of evaluating |TemplateMiddleList|. + 1. Let _rest_ be Evaluation of |TemplateMiddleList|. 1. ReturnIfAbrupt(_rest_). 1. Let _middle_ be the TV of |TemplateMiddle| as defined in . - 1. Let _subRef_ be the result of evaluating |Expression|. + 1. Let _subRef_ be Evaluation of |Expression|. 1. Let _sub_ be ? GetValue(_subRef_). 1. Let _last_ be ? ToString(_sub_). 1. Return the string-concatenation of _rest_, _middle_, and _last_. @@ -18756,14 +18756,14 @@

Runtime Semantics: Evaluation

PrimaryExpression : CoverParenthesizedExpressionAndArrowParameterList 1. Let _expr_ be the |ParenthesizedExpression| that is covered by |CoverParenthesizedExpressionAndArrowParameterList|. - 1. Return the result of evaluating _expr_. + 1. Return Evaluation of _expr_. ParenthesizedExpression : `(` Expression `)` - 1. Return the result of evaluating |Expression|. This may be of type Reference. + 1. Return Evaluation of |Expression|. This may be of type Reference. -

This algorithm does not apply GetValue to the result of evaluating |Expression|. The principal motivation for this is so that operators such as `delete` and `typeof` may be applied to parenthesized expressions.

+

This algorithm does not apply GetValue to Evaluation of |Expression|. The principal motivation for this is so that operators such as `delete` and `typeof` may be applied to parenthesized expressions.

@@ -18938,42 +18938,42 @@

Property Accessors

Runtime Semantics: Evaluation

MemberExpression : MemberExpression `[` Expression `]` - 1. Let _baseReference_ be the result of evaluating |MemberExpression|. + 1. Let _baseReference_ be Evaluation of |MemberExpression|. 1. Let _baseValue_ be ? GetValue(_baseReference_). 1. If the source text matched by this |MemberExpression| is strict mode code, let _strict_ be *true*; else let _strict_ be *false*. 1. Return ? EvaluatePropertyAccessWithExpressionKey(_baseValue_, |Expression|, _strict_). MemberExpression : MemberExpression `.` IdentifierName - 1. Let _baseReference_ be the result of evaluating |MemberExpression|. + 1. Let _baseReference_ be Evaluation of |MemberExpression|. 1. Let _baseValue_ be ? GetValue(_baseReference_). 1. If the source text matched by this |MemberExpression| is strict mode code, let _strict_ be *true*; else let _strict_ be *false*. 1. Return EvaluatePropertyAccessWithIdentifierKey(_baseValue_, |IdentifierName|, _strict_). MemberExpression : MemberExpression `.` PrivateIdentifier - 1. Let _baseReference_ be the result of evaluating |MemberExpression|. + 1. Let _baseReference_ be Evaluation of |MemberExpression|. 1. Let _baseValue_ be ? GetValue(_baseReference_). 1. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 1. Return MakePrivateReference(_baseValue_, _fieldNameString_). CallExpression : CallExpression `[` Expression `]` - 1. Let _baseReference_ be the result of evaluating |CallExpression|. + 1. Let _baseReference_ be Evaluation of |CallExpression|. 1. Let _baseValue_ be ? GetValue(_baseReference_). 1. If the source text matched by this |CallExpression| is strict mode code, let _strict_ be *true*; else let _strict_ be *false*. 1. Return ? EvaluatePropertyAccessWithExpressionKey(_baseValue_, |Expression|, _strict_). CallExpression : CallExpression `.` IdentifierName - 1. Let _baseReference_ be the result of evaluating |CallExpression|. + 1. Let _baseReference_ be Evaluation of |CallExpression|. 1. Let _baseValue_ be ? GetValue(_baseReference_). 1. If the source text matched by this |CallExpression| is strict mode code, let _strict_ be *true*; else let _strict_ be *false*. 1. Return EvaluatePropertyAccessWithIdentifierKey(_baseValue_, |IdentifierName|, _strict_). CallExpression : CallExpression `.` PrivateIdentifier - 1. Let _baseReference_ be the result of evaluating |CallExpression|. + 1. Let _baseReference_ be Evaluation of |CallExpression|. 1. Let _baseValue_ be ? GetValue(_baseReference_). 1. Let _fieldNameString_ be the StringValue of |PrivateIdentifier|. 1. Return MakePrivateReference(_baseValue_, _fieldNameString_). @@ -18992,7 +18992,7 @@

- 1. Let _propertyNameReference_ be the result of evaluating _expression_. + 1. Let _propertyNameReference_ be Evaluation of _expression_. 1. Let _propertyNameValue_ be ? GetValue(_propertyNameReference_). 1. Let _propertyKey_ be ? ToPropertyKey(_propertyNameValue_). 1. Return the Reference Record { [[Base]]: _baseValue_, [[ReferencedName]]: _propertyKey_, [[Strict]]: _strict_, [[ThisValue]]: ~empty~ }. @@ -19039,7 +19039,7 @@

- 1. Let _ref_ be the result of evaluating _constructExpr_. + 1. Let _ref_ be Evaluation of _constructExpr_. 1. Let _constructor_ be ? GetValue(_ref_). 1. If _arguments_ is ~empty~, let _argList_ be a new empty List. 1. Else, @@ -19061,7 +19061,7 @@

Runtime Semantics: Evaluation

1. Let _expr_ be the |CallMemberExpression| that is covered by |CoverCallExpressionAndAsyncArrowHead|. 1. Let _memberExpr_ be the |MemberExpression| of _expr_. 1. Let _arguments_ be the |Arguments| of _expr_. - 1. Let _ref_ be the result of evaluating _memberExpr_. + 1. Let _ref_ be Evaluation of _memberExpr_. 1. Let _func_ be ? GetValue(_ref_). 1. If _ref_ is a Reference Record, IsPropertyReference(_ref_) is *false*, and _ref_.[[ReferencedName]] is *"eval"*, then 1. If SameValue(_func_, %eval%) is *true*, then @@ -19077,7 +19077,7 @@

Runtime Semantics: Evaluation

A |CallExpression| evaluation that executes step is a direct eval.

CallExpression : CallExpression Arguments - 1. Let _ref_ be the result of evaluating |CallExpression|. + 1. Let _ref_ be Evaluation of |CallExpression|. 1. Let _func_ be ? GetValue(_ref_). 1. Let _thisCall_ be this |CallExpression|. 1. Let _tailCall_ be IsInTailPosition(_thisCall_). @@ -19124,7 +19124,7 @@

Runtime Semantics: Evaluation

1. Let _env_ be GetThisEnvironment(). 1. Let _actualThis_ be ? _env_.GetThisBinding(). - 1. Let _propertyNameReference_ be the result of evaluating |Expression|. + 1. Let _propertyNameReference_ be Evaluation of |Expression|. 1. Let _propertyNameValue_ be ? GetValue(_propertyNameReference_). 1. Let _propertyKey_ be ? ToPropertyKey(_propertyNameValue_). 1. If the source text matched by this |SuperProperty| is strict mode code, let _strict_ be *true*; else let _strict_ be *false*. @@ -19204,14 +19204,14 @@

Runtime Semantics: ArgumentListEvaluation ( ): either a normal completion co ArgumentList : AssignmentExpression - 1. Let _ref_ be the result of evaluating |AssignmentExpression|. + 1. Let _ref_ be Evaluation of |AssignmentExpression|. 1. Let _arg_ be ? GetValue(_ref_). 1. Return « _arg_ ». ArgumentList : `...` AssignmentExpression 1. Let _list_ be a new empty List. - 1. Let _spreadRef_ be the result of evaluating |AssignmentExpression|. + 1. Let _spreadRef_ be Evaluation of |AssignmentExpression|. 1. Let _spreadObj_ be ? GetValue(_spreadRef_). 1. Let _iteratorRecord_ be ? GetIterator(_spreadObj_). 1. Repeat, @@ -19223,14 +19223,14 @@

Runtime Semantics: ArgumentListEvaluation ( ): either a normal completion co ArgumentList : ArgumentList `,` AssignmentExpression 1. Let _precedingArgs_ be ? ArgumentListEvaluation of |ArgumentList|. - 1. Let _ref_ be the result of evaluating |AssignmentExpression|. + 1. Let _ref_ be Evaluation of |AssignmentExpression|. 1. Let _arg_ be ? GetValue(_ref_). 1. Return the list-concatenation of _precedingArgs_ and « _arg_ ». ArgumentList : ArgumentList `,` `...` AssignmentExpression 1. Let _precedingArgs_ be ? ArgumentListEvaluation of |ArgumentList|. - 1. Let _spreadRef_ be the result of evaluating |AssignmentExpression|. + 1. Let _spreadRef_ be Evaluation of |AssignmentExpression|. 1. Let _iteratorRecord_ be ? GetIterator(? GetValue(_spreadRef_)). 1. Repeat, 1. Let _next_ be ? IteratorStep(_iteratorRecord_). @@ -19253,7 +19253,7 @@

Runtime Semantics: ArgumentListEvaluation ( ): either a normal completion co SubstitutionTemplate : TemplateHead Expression TemplateSpans - 1. Let _firstSubRef_ be the result of evaluating |Expression|. + 1. Let _firstSubRef_ be Evaluation of |Expression|. 1. Let _firstSub_ be ? GetValue(_firstSubRef_). 1. Let _restSub_ be ? SubstitutionEvaluation of |TemplateSpans|. 1. Assert: _restSub_ is a possibly empty List. @@ -19273,7 +19273,7 @@

Runtime Semantics: Evaluation

MemberExpression OptionalChain - 1. Let _baseReference_ be the result of evaluating |MemberExpression|. + 1. Let _baseReference_ be Evaluation of |MemberExpression|. 1. Let _baseValue_ be ? GetValue(_baseReference_). 1. If _baseValue_ is *undefined* or *null*, then 1. Return *undefined*. @@ -19284,7 +19284,7 @@

Runtime Semantics: Evaluation

CallExpression OptionalChain - 1. Let _baseReference_ be the result of evaluating |CallExpression|. + 1. Let _baseReference_ be Evaluation of |CallExpression|. 1. Let _baseValue_ be ? GetValue(_baseReference_). 1. If _baseValue_ is *undefined* or *null*, then 1. Return *undefined*. @@ -19295,7 +19295,7 @@

Runtime Semantics: Evaluation

OptionalExpression OptionalChain - 1. Let _baseReference_ be the result of evaluating |OptionalExpression|. + 1. Let _baseReference_ be Evaluation of |OptionalExpression|. 1. Let _baseValue_ be ? GetValue(_baseReference_). 1. If _baseValue_ is *undefined* or *null*, then 1. Return *undefined*. @@ -19378,7 +19378,7 @@

Runtime Semantics: Evaluation

ImportCall : `import` `(` AssignmentExpression `)` 1. Let _referencingScriptOrModule_ be GetActiveScriptOrModule(). - 1. Let _argRef_ be the result of evaluating |AssignmentExpression|. + 1. Let _argRef_ be Evaluation of |AssignmentExpression|. 1. Let _specifier_ be ? GetValue(_argRef_). 1. Let _promiseCapability_ be ! NewPromiseCapability(%Promise%). 1. Let _specifierString_ be Completion(ToString(_specifier_)). @@ -19399,7 +19399,7 @@

Tagged Templates

Runtime Semantics: Evaluation

MemberExpression : MemberExpression TemplateLiteral - 1. Let _tagRef_ be the result of evaluating |MemberExpression|. + 1. Let _tagRef_ be Evaluation of |MemberExpression|. 1. Let _tagFunc_ be ? GetValue(_tagRef_). 1. Let _thisCall_ be this |MemberExpression|. 1. Let _tailCall_ be IsInTailPosition(_thisCall_). @@ -19407,7 +19407,7 @@

Runtime Semantics: Evaluation

CallExpression : CallExpression TemplateLiteral - 1. Let _tagRef_ be the result of evaluating |CallExpression|. + 1. Let _tagRef_ be Evaluation of |CallExpression|. 1. Let _tagFunc_ be ? GetValue(_tagRef_). 1. Let _thisCall_ be this |CallExpression|. 1. Let _tailCall_ be IsInTailPosition(_thisCall_). @@ -19534,7 +19534,7 @@

Postfix Increment Operator

Runtime Semantics: Evaluation

UpdateExpression : LeftHandSideExpression `++` - 1. Let _lhs_ be the result of evaluating |LeftHandSideExpression|. + 1. Let _lhs_ be Evaluation of |LeftHandSideExpression|. 1. Let _oldValue_ be ? ToNumeric(? GetValue(_lhs_)). 1. If Type(_oldValue_) is Number, then 1. Let _newValue_ be Number::add(_oldValue_, *1*𝔽). @@ -19554,7 +19554,7 @@

Postfix Decrement Operator

Runtime Semantics: Evaluation

UpdateExpression : LeftHandSideExpression `--` - 1. Let _lhs_ be the result of evaluating |LeftHandSideExpression|. + 1. Let _lhs_ be Evaluation of |LeftHandSideExpression|. 1. Let _oldValue_ be ? ToNumeric(? GetValue(_lhs_)). 1. If Type(_oldValue_) is Number, then 1. Let _newValue_ be Number::subtract(_oldValue_, *1*𝔽). @@ -19574,7 +19574,7 @@

Prefix Increment Operator

Runtime Semantics: Evaluation

UpdateExpression : `++` UnaryExpression - 1. Let _expr_ be the result of evaluating |UnaryExpression|. + 1. Let _expr_ be Evaluation of |UnaryExpression|. 1. Let _oldValue_ be ? ToNumeric(? GetValue(_expr_)). 1. If Type(_oldValue_) is Number, then 1. Let _newValue_ be Number::add(_oldValue_, *1*𝔽). @@ -19594,7 +19594,7 @@

Prefix Decrement Operator

Runtime Semantics: Evaluation

UpdateExpression : `--` UnaryExpression - 1. Let _expr_ be the result of evaluating |UnaryExpression|. + 1. Let _expr_ be Evaluation of |UnaryExpression|. 1. Let _oldValue_ be ? ToNumeric(? GetValue(_expr_)). 1. If Type(_oldValue_) is Number, then 1. Let _newValue_ be Number::subtract(_oldValue_, *1*𝔽). @@ -19651,7 +19651,7 @@

Static Semantics: Early Errors

Runtime Semantics: Evaluation

UnaryExpression : `delete` UnaryExpression - 1. Let _ref_ be the result of evaluating |UnaryExpression|. + 1. Let _ref_ be Evaluation of |UnaryExpression|. 1. ReturnIfAbrupt(_ref_). 1. If _ref_ is not a Reference Record, return *true*. 1. If IsUnresolvableReference(_ref_) is *true*, then @@ -19685,7 +19685,7 @@

The `void` Operator

Runtime Semantics: Evaluation

UnaryExpression : `void` UnaryExpression - 1. Let _expr_ be the result of evaluating |UnaryExpression|. + 1. Let _expr_ be Evaluation of |UnaryExpression|. 1. Perform ? GetValue(_expr_). 1. Return *undefined*. @@ -19702,7 +19702,7 @@

The `typeof` Operator

Runtime Semantics: Evaluation

UnaryExpression : `typeof` UnaryExpression - 1. Let _val_ be the result of evaluating |UnaryExpression|. + 1. Let _val_ be Evaluation of |UnaryExpression|. 1. If _val_ is a Reference Record, then 1. If IsUnresolvableReference(_val_) is *true*, return *"undefined"*. 1. Set _val_ to ? GetValue(_val_). @@ -19809,7 +19809,7 @@

Unary `+` Operator

Runtime Semantics: Evaluation

UnaryExpression : `+` UnaryExpression - 1. Let _expr_ be the result of evaluating |UnaryExpression|. + 1. Let _expr_ be Evaluation of |UnaryExpression|. 1. Return ? ToNumber(? GetValue(_expr_)). @@ -19825,7 +19825,7 @@

Unary `-` Operator

Runtime Semantics: Evaluation

UnaryExpression : `-` UnaryExpression - 1. Let _expr_ be the result of evaluating |UnaryExpression|. + 1. Let _expr_ be Evaluation of |UnaryExpression|. 1. Let _oldValue_ be ? ToNumeric(? GetValue(_expr_)). 1. Let _T_ be Type(_oldValue_). 1. If Type(_oldValue_) is Number, then @@ -19844,7 +19844,7 @@

Bitwise NOT Operator ( `~` )

Runtime Semantics: Evaluation

UnaryExpression : `~` UnaryExpression - 1. Let _expr_ be the result of evaluating |UnaryExpression|. + 1. Let _expr_ be Evaluation of |UnaryExpression|. 1. Let _oldValue_ be ? ToNumeric(? GetValue(_expr_)). 1. Let _T_ be Type(_oldValue_). 1. If Type(_oldValue_) is Number, then @@ -19863,7 +19863,7 @@

Logical NOT Operator ( `!` )

Runtime Semantics: Evaluation

UnaryExpression : `!` UnaryExpression - 1. Let _expr_ be the result of evaluating |UnaryExpression|. + 1. Let _expr_ be Evaluation of |UnaryExpression|. 1. Let _oldValue_ be ToBoolean(? GetValue(_expr_)). 1. If _oldValue_ is *true*, return *false*. 1. Return *true*. @@ -20045,53 +20045,53 @@

Syntax

Runtime Semantics: Evaluation

RelationalExpression : RelationalExpression `<` ShiftExpression - 1. Let _lref_ be the result of evaluating |RelationalExpression|. + 1. Let _lref_ be Evaluation of |RelationalExpression|. 1. Let _lval_ be ? GetValue(_lref_). - 1. Let _rref_ be the result of evaluating |ShiftExpression|. + 1. Let _rref_ be Evaluation of |ShiftExpression|. 1. Let _rval_ be ? GetValue(_rref_). 1. Let _r_ be ? IsLessThan(_lval_, _rval_, *true*). 1. If _r_ is *undefined*, return *false*. Otherwise, return _r_. RelationalExpression : RelationalExpression `>` ShiftExpression - 1. Let _lref_ be the result of evaluating |RelationalExpression|. + 1. Let _lref_ be Evaluation of |RelationalExpression|. 1. Let _lval_ be ? GetValue(_lref_). - 1. Let _rref_ be the result of evaluating |ShiftExpression|. + 1. Let _rref_ be Evaluation of |ShiftExpression|. 1. Let _rval_ be ? GetValue(_rref_). 1. Let _r_ be ? IsLessThan(_rval_, _lval_, *false*). 1. If _r_ is *undefined*, return *false*. Otherwise, return _r_. RelationalExpression : RelationalExpression `<=` ShiftExpression - 1. Let _lref_ be the result of evaluating |RelationalExpression|. + 1. Let _lref_ be Evaluation of |RelationalExpression|. 1. Let _lval_ be ? GetValue(_lref_). - 1. Let _rref_ be the result of evaluating |ShiftExpression|. + 1. Let _rref_ be Evaluation of |ShiftExpression|. 1. Let _rval_ be ? GetValue(_rref_). 1. Let _r_ be ? IsLessThan(_rval_, _lval_, *false*). 1. If _r_ is *true* or *undefined*, return *false*. Otherwise, return *true*. RelationalExpression : RelationalExpression `>=` ShiftExpression - 1. Let _lref_ be the result of evaluating |RelationalExpression|. + 1. Let _lref_ be Evaluation of |RelationalExpression|. 1. Let _lval_ be ? GetValue(_lref_). - 1. Let _rref_ be the result of evaluating |ShiftExpression|. + 1. Let _rref_ be Evaluation of |ShiftExpression|. 1. Let _rval_ be ? GetValue(_rref_). 1. Let _r_ be ? IsLessThan(_lval_, _rval_, *true*). 1. If _r_ is *true* or *undefined*, return *false*. Otherwise, return *true*. RelationalExpression : RelationalExpression `instanceof` ShiftExpression - 1. Let _lref_ be the result of evaluating |RelationalExpression|. + 1. Let _lref_ be Evaluation of |RelationalExpression|. 1. Let _lval_ be ? GetValue(_lref_). - 1. Let _rref_ be the result of evaluating |ShiftExpression|. + 1. Let _rref_ be Evaluation of |ShiftExpression|. 1. Let _rval_ be ? GetValue(_rref_). 1. Return ? InstanceofOperator(_lval_, _rval_). RelationalExpression : RelationalExpression `in` ShiftExpression - 1. Let _lref_ be the result of evaluating |RelationalExpression|. + 1. Let _lref_ be Evaluation of |RelationalExpression|. 1. Let _lval_ be ? GetValue(_lref_). - 1. Let _rref_ be the result of evaluating |ShiftExpression|. + 1. Let _rref_ be Evaluation of |ShiftExpression|. 1. Let _rval_ be ? GetValue(_rref_). 1. If Type(_rval_) is not Object, throw a *TypeError* exception. 1. Return ? HasProperty(_rval_, ? ToPropertyKey(_lval_)). @@ -20099,7 +20099,7 @@

Runtime Semantics: Evaluation

RelationalExpression : PrivateIdentifier `in` ShiftExpression 1. Let _privateIdentifier_ be the StringValue of |PrivateIdentifier|. - 1. Let _rref_ be the result of evaluating |ShiftExpression|. + 1. Let _rref_ be Evaluation of |ShiftExpression|. 1. Let _rval_ be ? GetValue(_rref_). 1. If Type(_rval_) is not Object, throw a *TypeError* exception. 1. Let _privateEnv_ be the running execution context's PrivateEnvironment. @@ -20153,34 +20153,34 @@

Syntax

Runtime Semantics: Evaluation

EqualityExpression : EqualityExpression `==` RelationalExpression - 1. Let _lref_ be the result of evaluating |EqualityExpression|. + 1. Let _lref_ be Evaluation of |EqualityExpression|. 1. Let _lval_ be ? GetValue(_lref_). - 1. Let _rref_ be the result of evaluating |RelationalExpression|. + 1. Let _rref_ be Evaluation of |RelationalExpression|. 1. Let _rval_ be ? GetValue(_rref_). 1. Return ? IsLooselyEqual(_rval_, _lval_). EqualityExpression : EqualityExpression `!=` RelationalExpression - 1. Let _lref_ be the result of evaluating |EqualityExpression|. + 1. Let _lref_ be Evaluation of |EqualityExpression|. 1. Let _lval_ be ? GetValue(_lref_). - 1. Let _rref_ be the result of evaluating |RelationalExpression|. + 1. Let _rref_ be Evaluation of |RelationalExpression|. 1. Let _rval_ be ? GetValue(_rref_). 1. Let _r_ be ? IsLooselyEqual(_rval_, _lval_). 1. If _r_ is *true*, return *false*. Otherwise, return *true*. EqualityExpression : EqualityExpression `===` RelationalExpression - 1. Let _lref_ be the result of evaluating |EqualityExpression|. + 1. Let _lref_ be Evaluation of |EqualityExpression|. 1. Let _lval_ be ? GetValue(_lref_). - 1. Let _rref_ be the result of evaluating |RelationalExpression|. + 1. Let _rref_ be Evaluation of |RelationalExpression|. 1. Let _rval_ be ? GetValue(_rref_). 1. Return IsStrictlyEqual(_rval_, _lval_). EqualityExpression : EqualityExpression `!==` RelationalExpression - 1. Let _lref_ be the result of evaluating |EqualityExpression|. + 1. Let _lref_ be Evaluation of |EqualityExpression|. 1. Let _lval_ be ? GetValue(_lref_). - 1. Let _rref_ be the result of evaluating |RelationalExpression|. + 1. Let _rref_ be Evaluation of |RelationalExpression|. 1. Let _rval_ be ? GetValue(_rref_). 1. Let _r_ be IsStrictlyEqual(_rval_, _lval_). 1. If _r_ is *true*, return *false*. Otherwise, return *true*. @@ -20292,28 +20292,28 @@

Syntax

Runtime Semantics: Evaluation

LogicalANDExpression : LogicalANDExpression `&&` BitwiseORExpression - 1. Let _lref_ be the result of evaluating |LogicalANDExpression|. + 1. Let _lref_ be Evaluation of |LogicalANDExpression|. 1. Let _lval_ be ? GetValue(_lref_). 1. Let _lbool_ be ToBoolean(_lval_). 1. If _lbool_ is *false*, return _lval_. - 1. Let _rref_ be the result of evaluating |BitwiseORExpression|. + 1. Let _rref_ be Evaluation of |BitwiseORExpression|. 1. Return ? GetValue(_rref_). LogicalORExpression : LogicalORExpression `||` LogicalANDExpression - 1. Let _lref_ be the result of evaluating |LogicalORExpression|. + 1. Let _lref_ be Evaluation of |LogicalORExpression|. 1. Let _lval_ be ? GetValue(_lref_). 1. Let _lbool_ be ToBoolean(_lval_). 1. If _lbool_ is *true*, return _lval_. - 1. Let _rref_ be the result of evaluating |LogicalANDExpression|. + 1. Let _rref_ be Evaluation of |LogicalANDExpression|. 1. Return ? GetValue(_rref_). CoalesceExpression : CoalesceExpressionHead `??` BitwiseORExpression - 1. Let _lref_ be the result of evaluating |CoalesceExpressionHead|. + 1. Let _lref_ be Evaluation of |CoalesceExpressionHead|. 1. Let _lval_ be ? GetValue(_lref_). 1. If _lval_ is *undefined* or *null*, then - 1. Let _rref_ be the result of evaluating |BitwiseORExpression|. + 1. Let _rref_ be Evaluation of |BitwiseORExpression|. 1. Return ? GetValue(_rref_). 1. Otherwise, return _lval_. @@ -20336,13 +20336,13 @@

Syntax

Runtime Semantics: Evaluation

ConditionalExpression : ShortCircuitExpression `?` AssignmentExpression `:` AssignmentExpression - 1. Let _lref_ be the result of evaluating |ShortCircuitExpression|. + 1. Let _lref_ be Evaluation of |ShortCircuitExpression|. 1. Let _lval_ be ToBoolean(? GetValue(_lref_)). 1. If _lval_ is *true*, then - 1. Let _trueRef_ be the result of evaluating the first |AssignmentExpression|. + 1. Let _trueRef_ be Evaluation of the first |AssignmentExpression|. 1. Return ? GetValue(_trueRef_). 1. Else, - 1. Let _falseRef_ be the result of evaluating the second |AssignmentExpression|. + 1. Let _falseRef_ be Evaluation of the second |AssignmentExpression|. 1. Return ? GetValue(_falseRef_). @@ -20402,26 +20402,26 @@

Runtime Semantics: Evaluation

AssignmentExpression : LeftHandSideExpression `=` AssignmentExpression 1. If |LeftHandSideExpression| is neither an |ObjectLiteral| nor an |ArrayLiteral|, then - 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. + 1. Let _lref_ be Evaluation of |LeftHandSideExpression|. 1. ReturnIfAbrupt(_lref_). 1. If IsAnonymousFunctionDefinition(|AssignmentExpression|) and IsIdentifierRef of |LeftHandSideExpression| are both *true*, then 1. Let _rval_ be ? NamedEvaluation of |AssignmentExpression| with argument _lref_.[[ReferencedName]]. 1. Else, - 1. Let _rref_ be the result of evaluating |AssignmentExpression|. + 1. Let _rref_ be Evaluation of |AssignmentExpression|. 1. Let _rval_ be ? GetValue(_rref_). 1. [id="step-assignmentexpression-evaluation-simple-putvalue"] Perform ? PutValue(_lref_, _rval_). 1. Return _rval_. 1. Let _assignmentPattern_ be the |AssignmentPattern| that is covered by |LeftHandSideExpression|. - 1. Let _rref_ be the result of evaluating |AssignmentExpression|. + 1. Let _rref_ be Evaluation of |AssignmentExpression|. 1. Let _rval_ be ? GetValue(_rref_). 1. Perform ? DestructuringAssignmentEvaluation of _assignmentPattern_ with argument _rval_. 1. Return _rval_. AssignmentExpression : LeftHandSideExpression AssignmentOperator AssignmentExpression - 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. + 1. Let _lref_ be Evaluation of |LeftHandSideExpression|. 1. [id="step-assignmentexpression-evaluation-compound-getvalue"] Let _lval_ be ? GetValue(_lref_). - 1. Let _rref_ be the result of evaluating |AssignmentExpression|. + 1. Let _rref_ be Evaluation of |AssignmentExpression|. 1. Let _rval_ be ? GetValue(_rref_). 1. Let _assignmentOpText_ be the source text matched by |AssignmentOperator|. 1. Let _opText_ be the sequence of Unicode code points associated with _assignmentOpText_ in the following table: @@ -20449,41 +20449,41 @@

Runtime Semantics: Evaluation

AssignmentExpression : LeftHandSideExpression `&&=` AssignmentExpression - 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. + 1. Let _lref_ be Evaluation of |LeftHandSideExpression|. 1. [id="step-assignmentexpression-evaluation-lgcl-and-getvalue"] Let _lval_ be ? GetValue(_lref_). 1. Let _lbool_ be ToBoolean(_lval_). 1. If _lbool_ is *false*, return _lval_. 1. If IsAnonymousFunctionDefinition(|AssignmentExpression|) is *true* and IsIdentifierRef of |LeftHandSideExpression| is *true*, then 1. Let _rval_ be ? NamedEvaluation of |AssignmentExpression| with argument _lref_.[[ReferencedName]]. 1. Else, - 1. Let _rref_ be the result of evaluating |AssignmentExpression|. + 1. Let _rref_ be Evaluation of |AssignmentExpression|. 1. Let _rval_ be ? GetValue(_rref_). 1. [id="step-assignmentexpression-evaluation-lgcl-and-putvalue"] Perform ? PutValue(_lref_, _rval_). 1. Return _rval_. AssignmentExpression : LeftHandSideExpression `||=` AssignmentExpression - 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. + 1. Let _lref_ be Evaluation of |LeftHandSideExpression|. 1. [id="step-assignmentexpression-evaluation-lgcl-or-getvalue"] Let _lval_ be ? GetValue(_lref_). 1. Let _lbool_ be ToBoolean(_lval_). 1. If _lbool_ is *true*, return _lval_. 1. If IsAnonymousFunctionDefinition(|AssignmentExpression|) is *true* and IsIdentifierRef of |LeftHandSideExpression| is *true*, then 1. Let _rval_ be ? NamedEvaluation of |AssignmentExpression| with argument _lref_.[[ReferencedName]]. 1. Else, - 1. Let _rref_ be the result of evaluating |AssignmentExpression|. + 1. Let _rref_ be Evaluation of |AssignmentExpression|. 1. Let _rval_ be ? GetValue(_rref_). 1. [id="step-assignmentexpression-evaluation-lgcl-or-putvalue"] Perform ? PutValue(_lref_, _rval_). 1. Return _rval_. AssignmentExpression : LeftHandSideExpression `??=` AssignmentExpression - 1. Let _lref_ be the result of evaluating |LeftHandSideExpression|. + 1. Let _lref_ be Evaluation of |LeftHandSideExpression|. 1. [id="step-assignmentexpression-evaluation-lgcl-nullish-getvalue"] Let _lval_ be ? GetValue(_lref_). 1. If _lval_ is neither *undefined* nor *null*, return _lval_. 1. If IsAnonymousFunctionDefinition(|AssignmentExpression|) is *true* and IsIdentifierRef of |LeftHandSideExpression| is *true*, then 1. Let _rval_ be ? NamedEvaluation of |AssignmentExpression| with argument _lref_.[[ReferencedName]]. 1. Else, - 1. Let _rref_ be the result of evaluating |AssignmentExpression|. + 1. Let _rref_ be Evaluation of |AssignmentExpression|. 1. Let _rval_ be ? GetValue(_rref_). 1. [id="step-assignmentexpression-evaluation-lgcl-nullish-putvalue"] Perform ? PutValue(_lref_, _rval_). 1. Return _rval_. @@ -20570,9 +20570,9 @@

- 1. Let _lref_ be the result of evaluating _leftOperand_. + 1. Let _lref_ be Evaluation of _leftOperand_. 1. Let _lval_ be ? GetValue(_lref_). - 1. Let _rref_ be the result of evaluating _rightOperand_. + 1. Let _rref_ be Evaluation of _rightOperand_. 1. Let _rval_ be ? GetValue(_rref_). 1. Return ? ApplyStringOrNumericBinaryOperator(_lval_, _opText_, _rval_). @@ -20770,7 +20770,7 @@

1. If IsAnonymousFunctionDefinition(|Initializer|) is *true*, then 1. Set _v_ to ? NamedEvaluation of |Initializer| with argument _P_. 1. Else, - 1. Let _defaultValue_ be the result of evaluating |Initializer|. + 1. Let _defaultValue_ be Evaluation of |Initializer|. 1. Set _v_ to ? GetValue(_defaultValue_). 1. Perform ? PutValue(_lref_, _v_). 1. Return « _P_ ». @@ -20778,7 +20778,7 @@

AssignmentProperty : PropertyName `:` AssignmentElement - 1. Let _name_ be the result of evaluating |PropertyName|. + 1. Let _name_ be Evaluation of |PropertyName|. 1. ReturnIfAbrupt(_name_). 1. Perform ? KeyedDestructuringAssignmentEvaluation of |AssignmentElement| with arguments _value_ and _name_. 1. Return « _name_ ». @@ -20796,7 +20796,7 @@

AssignmentRestProperty : `...` DestructuringAssignmentTarget - 1. Let _lref_ be the result of evaluating |DestructuringAssignmentTarget|. + 1. Let _lref_ be Evaluation of |DestructuringAssignmentTarget|. 1. ReturnIfAbrupt(_lref_). 1. Let _restObj_ be OrdinaryObjectCreate(%Object.prototype%). 1. Perform ? CopyDataProperties(_restObj_, _value_, _excludedNames_). @@ -20852,7 +20852,7 @@

AssignmentElement : DestructuringAssignmentTarget Initializer? 1. If |DestructuringAssignmentTarget| is neither an |ObjectLiteral| nor an |ArrayLiteral|, then - 1. Let _lref_ be the result of evaluating |DestructuringAssignmentTarget|. + 1. Let _lref_ be Evaluation of |DestructuringAssignmentTarget|. 1. ReturnIfAbrupt(_lref_). 1. If _iteratorRecord_.[[Done]] is *false*, then 1. Let _next_ be Completion(IteratorStep(_iteratorRecord_)). @@ -20868,7 +20868,7 @@

1. If IsAnonymousFunctionDefinition(|Initializer|) is *true* and IsIdentifierRef of |DestructuringAssignmentTarget| is *true*, then 1. Let _v_ be ? NamedEvaluation of |Initializer| with argument _lref_.[[ReferencedName]]. 1. Else, - 1. Let _defaultValue_ be the result of evaluating |Initializer|. + 1. Let _defaultValue_ be Evaluation of |Initializer|. 1. Let _v_ be ? GetValue(_defaultValue_). 1. Else, let _v_ be _value_. 1. If |DestructuringAssignmentTarget| is an |ObjectLiteral| or an |ArrayLiteral|, then @@ -20882,7 +20882,7 @@

AssignmentRestElement : `...` DestructuringAssignmentTarget 1. If |DestructuringAssignmentTarget| is neither an |ObjectLiteral| nor an |ArrayLiteral|, then - 1. Let _lref_ be the result of evaluating |DestructuringAssignmentTarget|. + 1. Let _lref_ be Evaluation of |DestructuringAssignmentTarget|. 1. ReturnIfAbrupt(_lref_). 1. Let _A_ be ! ArrayCreate(0). 1. Let _n_ be 0. @@ -20916,14 +20916,14 @@

AssignmentElement : DestructuringAssignmentTarget Initializer? 1. If |DestructuringAssignmentTarget| is neither an |ObjectLiteral| nor an |ArrayLiteral|, then - 1. Let _lref_ be the result of evaluating |DestructuringAssignmentTarget|. + 1. Let _lref_ be Evaluation of |DestructuringAssignmentTarget|. 1. ReturnIfAbrupt(_lref_). 1. Let _v_ be ? GetV(_value_, _propertyName_). 1. If |Initializer| is present and _v_ is *undefined*, then 1. If IsAnonymousFunctionDefinition(|Initializer|) and IsIdentifierRef of |DestructuringAssignmentTarget| are both *true*, then 1. Let _rhsValue_ be ? NamedEvaluation of |Initializer| with argument _lref_.[[ReferencedName]]. 1. Else, - 1. Let _defaultValue_ be the result of evaluating |Initializer|. + 1. Let _defaultValue_ be Evaluation of |Initializer|. 1. Let _rhsValue_ be ? GetValue(_defaultValue_). 1. Else, let _rhsValue_ be _v_. 1. If |DestructuringAssignmentTarget| is an |ObjectLiteral| or an |ArrayLiteral|, then @@ -20948,9 +20948,9 @@

Syntax

Runtime Semantics: Evaluation

Expression : Expression `,` AssignmentExpression - 1. Let _lref_ be the result of evaluating |Expression|. + 1. Let _lref_ be Evaluation of |Expression|. 1. Perform ? GetValue(_lref_). - 1. Let _rref_ be the result of evaluating |AssignmentExpression|. + 1. Let _rref_ be Evaluation of |AssignmentExpression|. 1. Return ? GetValue(_rref_). @@ -21014,7 +21014,7 @@

Runtime Semantics: Evaluation

HoistableDeclaration : FunctionDeclaration - 1. Return the result of evaluating |FunctionDeclaration|. + 1. Return Evaluation of |FunctionDeclaration|. BreakableStatement : @@ -21072,7 +21072,7 @@

Runtime Semantics: Evaluation

1. Let _blockEnv_ be NewDeclarativeEnvironment(_oldEnv_). 1. Perform BlockDeclarationInstantiation(|StatementList|, _blockEnv_). 1. Set the running execution context's LexicalEnvironment to _blockEnv_. - 1. Let _blockValue_ be the result of evaluating |StatementList|. + 1. Let _blockValue_ be Evaluation of |StatementList|. 1. Set the running execution context's LexicalEnvironment to _oldEnv_. 1. Return _blockValue_.
@@ -21081,9 +21081,9 @@

Runtime Semantics: Evaluation

StatementList : StatementList StatementListItem - 1. Let _sl_ be the result of evaluating |StatementList|. + 1. Let _sl_ be Evaluation of |StatementList|. 1. ReturnIfAbrupt(_sl_). - 1. Let _s_ be the result of evaluating |StatementListItem|. + 1. Let _s_ be Evaluation of |StatementListItem|. 1. Return ? UpdateEmpty(_s_, _sl_). @@ -21183,15 +21183,15 @@

Static Semantics: Early Errors

Runtime Semantics: Evaluation

LexicalDeclaration : LetOrConst BindingList `;` - 1. Let _next_ be the result of evaluating |BindingList|. + 1. Let _next_ be Evaluation of |BindingList|. 1. ReturnIfAbrupt(_next_). 1. Return ~empty~. BindingList : BindingList `,` LexicalBinding - 1. Let _next_ be the result of evaluating |BindingList|. + 1. Let _next_ be Evaluation of |BindingList|. 1. ReturnIfAbrupt(_next_). - 1. Return the result of evaluating |LexicalBinding|. + 1. Return Evaluation of |LexicalBinding|. LexicalBinding : BindingIdentifier @@ -21209,14 +21209,14 @@

Runtime Semantics: Evaluation

1. If IsAnonymousFunctionDefinition(|Initializer|) is *true*, then 1. Let _value_ be ? NamedEvaluation of |Initializer| with argument _bindingId_. 1. Else, - 1. Let _rhs_ be the result of evaluating |Initializer|. + 1. Let _rhs_ be Evaluation of |Initializer|. 1. Let _value_ be ? GetValue(_rhs_). 1. Perform ? InitializeReferencedBinding(_lhs_, _value_). 1. Return ~empty~.
LexicalBinding : BindingPattern Initializer - 1. Let _rhs_ be the result of evaluating |Initializer|. + 1. Let _rhs_ be Evaluation of |Initializer|. 1. Let _value_ be ? GetValue(_rhs_). 1. Let _env_ be the running execution context's LexicalEnvironment. 1. Return ? BindingInitialization of |BindingPattern| with arguments _value_ and _env_. @@ -21247,15 +21247,15 @@

Syntax

Runtime Semantics: Evaluation

VariableStatement : `var` VariableDeclarationList `;` - 1. Let _next_ be the result of evaluating |VariableDeclarationList|. + 1. Let _next_ be Evaluation of |VariableDeclarationList|. 1. ReturnIfAbrupt(_next_). 1. Return ~empty~. VariableDeclarationList : VariableDeclarationList `,` VariableDeclaration - 1. Let _next_ be the result of evaluating |VariableDeclarationList|. + 1. Let _next_ be Evaluation of |VariableDeclarationList|. 1. ReturnIfAbrupt(_next_). - 1. Return the result of evaluating |VariableDeclaration|. + 1. Return Evaluation of |VariableDeclaration|. VariableDeclaration : BindingIdentifier @@ -21268,7 +21268,7 @@

Runtime Semantics: Evaluation

1. If IsAnonymousFunctionDefinition(|Initializer|) is *true*, then 1. Let _value_ be ? NamedEvaluation of |Initializer| with argument _bindingId_. 1. Else, - 1. Let _rhs_ be the result of evaluating |Initializer|. + 1. Let _rhs_ be Evaluation of |Initializer|. 1. Let _value_ be ? GetValue(_rhs_). 1. [id="step-vardecllist-evaluation-putvalue"] Perform ? PutValue(_lhs_, _value_). 1. Return ~empty~. @@ -21278,7 +21278,7 @@

Runtime Semantics: Evaluation

VariableDeclaration : BindingPattern Initializer - 1. Let _rhs_ be the result of evaluating |Initializer|. + 1. Let _rhs_ be Evaluation of |Initializer|. 1. Let _rval_ be ? GetValue(_rhs_). 1. Return ? BindingInitialization of |BindingPattern| with arguments _rval_ and *undefined*. @@ -21361,7 +21361,7 @@

BindingProperty : PropertyName `:` BindingElement - 1. Let _P_ be the result of evaluating |PropertyName|. + 1. Let _P_ be Evaluation of |PropertyName|. 1. ReturnIfAbrupt(_P_). 1. Perform ? KeyedBindingInitialization of |BindingElement| with arguments _value_, _environment_, and _P_. 1. Return « _P_ ». @@ -21405,7 +21405,7 @@

1. Let _v_ be ? GetV(_value_, _propertyName_). 1. If |Initializer| is present and _v_ is *undefined*, then - 1. Let _defaultValue_ be the result of evaluating |Initializer|. + 1. Let _defaultValue_ be Evaluation of |Initializer|. 1. Set _v_ to ? GetValue(_defaultValue_). 1. Return ? BindingInitialization of |BindingPattern| with arguments _v_ and _environment_. @@ -21418,7 +21418,7 @@

1. If IsAnonymousFunctionDefinition(|Initializer|) is *true*, then 1. Set _v_ to ? NamedEvaluation of |Initializer| with argument _bindingId_. 1. Else, - 1. Let _defaultValue_ be the result of evaluating |Initializer|. + 1. Let _defaultValue_ be Evaluation of |Initializer|. 1. Set _v_ to ? GetValue(_defaultValue_). 1. If _environment_ is *undefined*, return ? PutValue(_lhs_, _v_). 1. Return ? InitializeReferencedBinding(_lhs_, _v_). @@ -21459,7 +21459,7 @@

Syntax

Runtime Semantics: Evaluation

ExpressionStatement : Expression `;` - 1. Let _exprRef_ be the result of evaluating |Expression|. + 1. Let _exprRef_ be Evaluation of |Expression|. 1. Return ? GetValue(_exprRef_). @@ -21501,22 +21501,22 @@

Static Semantics: Early Errors

Runtime Semantics: Evaluation

IfStatement : `if` `(` Expression `)` Statement `else` Statement - 1. Let _exprRef_ be the result of evaluating |Expression|. + 1. Let _exprRef_ be Evaluation of |Expression|. 1. Let _exprValue_ be ToBoolean(? GetValue(_exprRef_)). 1. If _exprValue_ is *true*, then - 1. Let _stmtCompletion_ be the result of evaluating the first |Statement|. + 1. Let _stmtCompletion_ be Evaluation of the first |Statement|. 1. Else, - 1. Let _stmtCompletion_ be the result of evaluating the second |Statement|. + 1. Let _stmtCompletion_ be Evaluation of the second |Statement|. 1. Return ? UpdateEmpty(_stmtCompletion_, *undefined*). IfStatement : `if` `(` Expression `)` Statement - 1. Let _exprRef_ be the result of evaluating |Expression|. + 1. Let _exprRef_ be Evaluation of |Expression|. 1. Let _exprValue_ be ToBoolean(? GetValue(_exprRef_)). 1. If _exprValue_ is *false*, then 1. Return *undefined*. 1. Else, - 1. Let _stmtCompletion_ be the result of evaluating |Statement|. + 1. Let _stmtCompletion_ be Evaluation of |Statement|. 1. Return ? UpdateEmpty(_stmtCompletion_, *undefined*). @@ -21617,10 +21617,10 @@

1. Let _V_ be *undefined*. 1. Repeat, - 1. Let _stmtResult_ be the result of evaluating |Statement|. + 1. Let _stmtResult_ be Evaluation of |Statement|. 1. If LoopContinues(_stmtResult_, _labelSet_) is *false*, return ? UpdateEmpty(_stmtResult_, _V_). 1. If _stmtResult_.[[Value]] is not ~empty~, set _V_ to _stmtResult_.[[Value]]. - 1. Let _exprRef_ be the result of evaluating |Expression|. + 1. Let _exprRef_ be Evaluation of |Expression|. 1. Let _exprValue_ be ? GetValue(_exprRef_). 1. If ToBoolean(_exprValue_) is *false*, return _V_. @@ -21660,10 +21660,10 @@

1. Let _V_ be *undefined*. 1. Repeat, - 1. Let _exprRef_ be the result of evaluating |Expression|. + 1. Let _exprRef_ be Evaluation of |Expression|. 1. Let _exprValue_ be ? GetValue(_exprRef_). 1. If ToBoolean(_exprValue_) is *false*, return _V_. - 1. Let _stmtResult_ be the result of evaluating |Statement|. + 1. Let _stmtResult_ be Evaluation of |Statement|. 1. If LoopContinues(_stmtResult_, _labelSet_) is *false*, return ? UpdateEmpty(_stmtResult_, _V_). 1. If _stmtResult_.[[Value]] is not ~empty~, set _V_ to _stmtResult_.[[Value]]. @@ -21715,13 +21715,13 @@

ForStatement : `for` `(` Expression? `;` Expression? `;` Expression? `)` Statement 1. If the first |Expression| is present, then - 1. Let _exprRef_ be the result of evaluating the first |Expression|. + 1. Let _exprRef_ be Evaluation of the first |Expression|. 1. Perform ? GetValue(_exprRef_). 1. Return ? ForBodyEvaluation(the second |Expression|, the third |Expression|, |Statement|, « », _labelSet_). ForStatement : `for` `(` `var` VariableDeclarationList `;` Expression? `;` Expression? `)` Statement - 1. Let _varDcl_ be the result of evaluating |VariableDeclarationList|. + 1. Let _varDcl_ be Evaluation of |VariableDeclarationList|. 1. ReturnIfAbrupt(_varDcl_). 1. Return ? ForBodyEvaluation(the first |Expression|, the second |Expression|, |Statement|, « », _labelSet_). @@ -21737,7 +21737,7 @@

1. Else, 1. Perform ! _loopEnv_.CreateMutableBinding(_dn_, *false*). 1. Set the running execution context's LexicalEnvironment to _loopEnv_. - 1. Let _forDcl_ be the result of evaluating |LexicalDeclaration|. + 1. Let _forDcl_ be Evaluation of |LexicalDeclaration|. 1. If _forDcl_ is an abrupt completion, then 1. Set the running execution context's LexicalEnvironment to _oldEnv_. 1. Return ? _forDcl_. @@ -21765,15 +21765,15 @@

1. Perform ? CreatePerIterationEnvironment(_perIterationBindings_). 1. Repeat, 1. If _test_ is not ~[empty]~, then - 1. Let _testRef_ be the result of evaluating _test_. + 1. Let _testRef_ be Evaluation of _test_. 1. Let _testValue_ be ? GetValue(_testRef_). 1. If ToBoolean(_testValue_) is *false*, return _V_. - 1. Let _result_ be the result of evaluating _stmt_. + 1. Let _result_ be Evaluation of _stmt_. 1. If LoopContinues(_result_, _labelSet_) is *false*, return ? UpdateEmpty(_result_, _V_). 1. If _result_.[[Value]] is not ~empty~, set _V_ to _result_.[[Value]]. 1. Perform ? CreatePerIterationEnvironment(_perIterationBindings_). 1. If _increment_ is not ~[empty]~, then - 1. Let _incRef_ be the result of evaluating _increment_. + 1. Let _incRef_ be Evaluation of _increment_. 1. Perform ? GetValue(_incRef_). @@ -22053,7 +22053,7 @@

1. For each String _name_ of _uninitializedBoundNames_, do 1. Perform ! _newEnv_.CreateMutableBinding(_name_, *false*). 1. Set the running execution context's LexicalEnvironment to _newEnv_. - 1. Let _exprRef_ be the result of evaluating _expr_. + 1. Let _exprRef_ be Evaluation of _expr_. 1. Set the running execution context's LexicalEnvironment to _oldEnv_. 1. Let _exprValue_ be ? GetValue(_exprRef_). 1. If _iterationKind_ is ~enumerate~, then @@ -22102,7 +22102,7 @@

1. Let _nextValue_ be ? IteratorValue(_nextResult_). 1. If _lhsKind_ is either ~assignment~ or ~varBinding~, then 1. If _destructuring_ is *false*, then - 1. Let _lhsRef_ be the result of evaluating _lhs_. (It may be evaluated repeatedly.) + 1. Let _lhsRef_ be Evaluation of _lhs_. (It may be evaluated repeatedly.) 1. Else, 1. Assert: _lhsKind_ is ~lexicalBinding~. 1. Assert: _lhs_ is a |ForDeclaration|. @@ -22138,7 +22138,7 @@

1. Else, 1. Assert: _iterationKind_ is ~iterate~. 1. Return ? IteratorClose(_iteratorRecord_, _status_). - 1. Let _result_ be the result of evaluating _stmt_. + 1. Let _result_ be Evaluation of _stmt_. 1. Set the running execution context's LexicalEnvironment to _oldEnv_. 1. If LoopContinues(_result_, _labelSet_) is *false*, then 1. If _iterationKind_ is ~enumerate~, then @@ -22438,7 +22438,7 @@

Runtime Semantics: Evaluation

ReturnStatement : `return` Expression `;` - 1. Let _exprRef_ be the result of evaluating |Expression|. + 1. Let _exprRef_ be Evaluation of |Expression|. 1. Let _exprValue_ be ? GetValue(_exprRef_). 1. If GetGeneratorKind() is ~async~, set _exprValue_ to ? Await(_exprValue_). 1. Return Completion Record { [[Type]]: ~return~, [[Value]]: _exprValue_, [[Target]]: ~empty~ }. @@ -22481,12 +22481,12 @@

Static Semantics: Early Errors

Runtime Semantics: Evaluation

WithStatement : `with` `(` Expression `)` Statement - 1. Let _val_ be the result of evaluating |Expression|. + 1. Let _val_ be Evaluation of |Expression|. 1. Let _obj_ be ? ToObject(? GetValue(_val_)). 1. Let _oldEnv_ be the running execution context's LexicalEnvironment. 1. Let _newEnv_ be NewObjectEnvironment(_obj_, *true*, _oldEnv_). 1. Set the running execution context's LexicalEnvironment to _newEnv_. - 1. Let _C_ be the result of evaluating |Statement|. + 1. Let _C_ be Evaluation of |Statement|. 1. Set the running execution context's LexicalEnvironment to _oldEnv_. 1. Return ? UpdateEmpty(_C_, *undefined*). @@ -22552,7 +22552,7 @@

1. If _found_ is *false*, then 1. Set _found_ to ? CaseClauseIsSelected(_C_, _input_). 1. If _found_ is *true*, then - 1. Let _R_ be the result of evaluating _C_. + 1. Let _R_ be Evaluation of _C_. 1. If _R_.[[Value]] is not ~empty~, set _V_ to _R_.[[Value]]. 1. If _R_ is an abrupt completion, return ? UpdateEmpty(_R_, _V_). 1. Return _V_. @@ -22569,7 +22569,7 @@

1. If _found_ is *false*, then 1. Set _found_ to ? CaseClauseIsSelected(_C_, _input_). 1. If _found_ is *true*, then - 1. Let _R_ be the result of evaluating _C_. + 1. Let _R_ be Evaluation of _C_. 1. If _R_.[[Value]] is not ~empty~, set _V_ to _R_.[[Value]]. 1. If _R_ is an abrupt completion, return ? UpdateEmpty(_R_, _V_). 1. Let _foundInB_ be *false*. @@ -22582,16 +22582,16 @@

1. If _foundInB_ is *false*, then 1. Set _foundInB_ to ? CaseClauseIsSelected(_C_, _input_). 1. If _foundInB_ is *true*, then - 1. Let _R_ be the result of evaluating |CaseClause| _C_. + 1. Let _R_ be Evaluation of |CaseClause| _C_. 1. If _R_.[[Value]] is not ~empty~, set _V_ to _R_.[[Value]]. 1. If _R_ is an abrupt completion, return ? UpdateEmpty(_R_, _V_). 1. If _foundInB_ is *true*, return _V_. - 1. Let _R_ be the result of evaluating |DefaultClause|. + 1. Let _R_ be Evaluation of |DefaultClause|. 1. If _R_.[[Value]] is not ~empty~, set _V_ to _R_.[[Value]]. 1. If _R_ is an abrupt completion, return ? UpdateEmpty(_R_, _V_). 1. NOTE: The following is another complete iteration of the second |CaseClauses|. 1. For each |CaseClause| _C_ of _B_, do - 1. Let _R_ be the result of evaluating |CaseClause| _C_. + 1. Let _R_ be Evaluation of |CaseClause| _C_. 1. If _R_.[[Value]] is not ~empty~, set _V_ to _R_.[[Value]]. 1. If _R_ is an abrupt completion, return ? UpdateEmpty(_R_, _V_). 1. Return _V_. @@ -22611,7 +22611,7 @@

1. Assert: _C_ is an instance of the production CaseClause : `case` Expression `:` StatementList?. - 1. Let _exprRef_ be the result of evaluating the |Expression| of _C_. + 1. Let _exprRef_ be Evaluation of the |Expression| of _C_. 1. Let _clauseSelector_ be ? GetValue(_exprRef_). 1. Return IsStrictlyEqual(_input_, _clauseSelector_). @@ -22624,7 +22624,7 @@

Runtime Semantics: Evaluation

SwitchStatement : `switch` `(` Expression `)` CaseBlock - 1. Let _exprRef_ be the result of evaluating |Expression|. + 1. Let _exprRef_ be Evaluation of |Expression|. 1. Let _switchValue_ be ? GetValue(_exprRef_). 1. Let _oldEnv_ be the running execution context's LexicalEnvironment. 1. Let _blockEnv_ be NewDeclarativeEnvironment(_oldEnv_). @@ -22643,7 +22643,7 @@

Runtime Semantics: Evaluation

CaseClause : `case` Expression `:` StatementList - 1. Return the result of evaluating |StatementList|. + 1. Return Evaluation of |StatementList|. DefaultClause : `default` `:` @@ -22651,7 +22651,7 @@

Runtime Semantics: Evaluation

DefaultClause : `default` `:` StatementList - 1. Return the result of evaluating |StatementList|. + 1. Return Evaluation of |StatementList|. @@ -22728,7 +22728,7 @@

BreakableStatement : SwitchStatement - 1. Let _stmtResult_ be the result of evaluating |SwitchStatement|. + 1. Let _stmtResult_ be Evaluation of |SwitchStatement|. 1. If _stmtResult_.[[Type]] is ~break~, then 1. If _stmtResult_.[[Target]] is ~empty~, then 1. If _stmtResult_.[[Value]] is ~empty~, set _stmtResult_ to NormalCompletion(*undefined*). @@ -22749,7 +22749,7 @@

LabelledItem : FunctionDeclaration - 1. Return the result of evaluating |FunctionDeclaration|. + 1. Return Evaluation of |FunctionDeclaration|. Statement : @@ -22767,7 +22767,7 @@

DebuggerStatement - 1. Return the result of evaluating |Statement|. + 1. Return Evaluation of |Statement|.

The only two productions of |Statement| which have special semantics for LabelledEvaluation are |BreakableStatement| and |LabelledStatement|.

@@ -22787,7 +22787,7 @@

Syntax

Runtime Semantics: Evaluation

ThrowStatement : `throw` Expression `;` - 1. Let _exprRef_ be the result of evaluating |Expression|. + 1. Let _exprRef_ be Evaluation of |Expression|. 1. Let _exprValue_ be ? GetValue(_exprRef_). 1. Return ThrowCompletion(_exprValue_). @@ -22856,13 +22856,13 @@

1. If _status_ is an abrupt completion, then 1. Set the running execution context's LexicalEnvironment to _oldEnv_. 1. Return ? _status_. - 1. Let _B_ be the result of evaluating |Block|. + 1. Let _B_ be Evaluation of |Block|. 1. Set the running execution context's LexicalEnvironment to _oldEnv_. 1. Return ? _B_. Catch : `catch` Block - 1. Return the result of evaluating |Block|. + 1. Return Evaluation of |Block|.

No matter how control leaves the |Block| the LexicalEnvironment is always restored to its former state.

@@ -22873,24 +22873,24 @@

Runtime Semantics: Evaluation

TryStatement : `try` Block Catch - 1. Let _B_ be the result of evaluating |Block|. + 1. Let _B_ be Evaluation of |Block|. 1. If _B_.[[Type]] is ~throw~, let _C_ be Completion(CatchClauseEvaluation of |Catch| with argument _B_.[[Value]]). 1. Else, let _C_ be _B_. 1. Return ? UpdateEmpty(_C_, *undefined*). TryStatement : `try` Block Finally - 1. Let _B_ be the result of evaluating |Block|. - 1. Let _F_ be the result of evaluating |Finally|. + 1. Let _B_ be Evaluation of |Block|. + 1. Let _F_ be Evaluation of |Finally|. 1. If _F_.[[Type]] is ~normal~, set _F_ to _B_. 1. Return ? UpdateEmpty(_F_, *undefined*). TryStatement : `try` Block Catch Finally - 1. Let _B_ be the result of evaluating |Block|. + 1. Let _B_ be Evaluation of |Block|. 1. If _B_.[[Type]] is ~throw~, let _C_ be Completion(CatchClauseEvaluation of |Catch| with argument _B_.[[Value]]). 1. Else, let _C_ be _B_. - 1. Let _F_ be the result of evaluating |Finally|. + 1. Let _F_ be Evaluation of |Finally|. 1. If _F_.[[Type]] is ~normal~, set _F_ to _C_. 1. Return ? UpdateEmpty(_F_, *undefined*). @@ -23323,7 +23323,7 @@

FunctionBody : FunctionStatementList 1. Perform ? FunctionDeclarationInstantiation(_functionObject_, _argumentsList_). - 1. Return the result of evaluating |FunctionStatementList|. + 1. Return Evaluation of |FunctionStatementList|. @@ -23506,7 +23506,7 @@

ConciseBody : ExpressionBody 1. Perform ? FunctionDeclarationInstantiation(_functionObject_, _argumentsList_). - 1. Return the result of evaluating |ExpressionBody|. + 1. Return Evaluation of |ExpressionBody|. @@ -23541,7 +23541,7 @@

Runtime Semantics: Evaluation

ExpressionBody : AssignmentExpression - 1. Let _exprRef_ be the result of evaluating |AssignmentExpression|. + 1. Let _exprRef_ be Evaluation of |AssignmentExpression|. 1. Let _exprValue_ be ? GetValue(_exprRef_). 1. Return Completion Record { [[Type]]: ~return~, [[Value]]: _exprValue_, [[Target]]: ~empty~ }. @@ -23658,7 +23658,7 @@

MethodDefinition : ClassElementName `(` UniqueFormalParameters `)` `{` FunctionBody `}` - 1. Let _propKey_ be the result of evaluating |ClassElementName|. + 1. Let _propKey_ be Evaluation of |ClassElementName|. 1. ReturnIfAbrupt(_propKey_). 1. Let _env_ be the running execution context's LexicalEnvironment. 1. Let _privateEnv_ be the running execution context's PrivateEnvironment. @@ -23690,7 +23690,7 @@

MethodDefinition : `get` ClassElementName `(` `)` `{` FunctionBody `}` - 1. Let _propKey_ be the result of evaluating |ClassElementName|. + 1. Let _propKey_ be Evaluation of |ClassElementName|. 1. ReturnIfAbrupt(_propKey_). 1. Let _env_ be the running execution context's LexicalEnvironment. 1. Let _privateEnv_ be the running execution context's PrivateEnvironment. @@ -23708,7 +23708,7 @@

MethodDefinition : `set` ClassElementName `(` PropertySetParameterList `)` `{` FunctionBody `}` - 1. Let _propKey_ be the result of evaluating |ClassElementName|. + 1. Let _propKey_ be Evaluation of |ClassElementName|. 1. ReturnIfAbrupt(_propKey_). 1. Let _env_ be the running execution context's LexicalEnvironment. 1. Let _privateEnv_ be the running execution context's PrivateEnvironment. @@ -23725,7 +23725,7 @@

GeneratorMethod : `*` ClassElementName `(` UniqueFormalParameters `)` `{` GeneratorBody `}` - 1. Let _propKey_ be the result of evaluating |ClassElementName|. + 1. Let _propKey_ be Evaluation of |ClassElementName|. 1. ReturnIfAbrupt(_propKey_). 1. Let _env_ be the running execution context's LexicalEnvironment. 1. Let _privateEnv_ be the running execution context's PrivateEnvironment. @@ -23741,7 +23741,7 @@

AsyncGeneratorMethod : `async` `*` ClassElementName `(` UniqueFormalParameters `)` `{` AsyncGeneratorBody `}` - 1. Let _propKey_ be the result of evaluating |ClassElementName|. + 1. Let _propKey_ be Evaluation of |ClassElementName|. 1. ReturnIfAbrupt(_propKey_). 1. Let _env_ be the running execution context's LexicalEnvironment. 1. Let _privateEnv_ be the running execution context's PrivateEnvironment. @@ -23757,7 +23757,7 @@

AsyncMethod : `async` ClassElementName `(` UniqueFormalParameters `)` `{` AsyncFunctionBody `}` - 1. Let _propKey_ be the result of evaluating |ClassElementName|. + 1. Let _propKey_ be Evaluation of |ClassElementName|. 1. ReturnIfAbrupt(_propKey_). 1. Let _env_ be the LexicalEnvironment of the running execution context. 1. Let _privateEnv_ be the running execution context's PrivateEnvironment. @@ -23965,14 +23965,14 @@

Runtime Semantics: Evaluation

YieldExpression : `yield` AssignmentExpression - 1. Let _exprRef_ be the result of evaluating |AssignmentExpression|. + 1. Let _exprRef_ be Evaluation of |AssignmentExpression|. 1. Let _value_ be ? GetValue(_exprRef_). 1. Return ? Yield(_value_). YieldExpression : `yield` `*` AssignmentExpression 1. Let _generatorKind_ be GetGeneratorKind(). - 1. Let _exprRef_ be the result of evaluating |AssignmentExpression|. + 1. Let _exprRef_ be Evaluation of |AssignmentExpression|. 1. Let _value_ be ? GetValue(_exprRef_). 1. Let _iteratorRecord_ be ? GetIterator(_value_, _generatorKind_). 1. Let _iterator_ be _iteratorRecord_.[[Iterator]]. @@ -24664,7 +24664,7 @@

FieldDefinition : ClassElementName Initializer? - 1. Let _name_ be the result of evaluating |ClassElementName|. + 1. Let _name_ be Evaluation of |ClassElementName|. 1. ReturnIfAbrupt(_name_). 1. If |Initializer?| is present, then 1. Let _formalParameterList_ be an instance of the production FormalParameters : [empty]. @@ -24715,7 +24715,7 @@

ClassStaticBlockBody : ClassStaticBlockStatementList 1. Perform ? FunctionDeclarationInstantiation(_functionObject_, « »). - 1. Return the result of evaluating |ClassStaticBlockStatementList|. + 1. Return Evaluation of |ClassStaticBlockStatementList|. @@ -24794,7 +24794,7 @@

1. Else, 1. Set the running execution context's LexicalEnvironment to _classEnv_. 1. NOTE: The running execution context's PrivateEnvironment is _outerPrivateEnvironment_ when evaluating |ClassHeritage|. - 1. Let _superclassRef_ be the result of evaluating |ClassHeritage|. + 1. Let _superclassRef_ be Evaluation of |ClassHeritage|. 1. Set the running execution context's LexicalEnvironment to _env_. 1. Let _superclass_ be ? GetValue(_superclassRef_). 1. If _superclass_ is *null*, then @@ -25131,7 +25131,7 @@

Runtime Semantics: Evaluation

AwaitExpression : `await` UnaryExpression - 1. Let _exprRef_ be the result of evaluating |UnaryExpression|. + 1. Let _exprRef_ be Evaluation of |UnaryExpression|. 1. Let _value_ be ? GetValue(_exprRef_). 1. Return ? Await(_value_). @@ -25827,7 +25827,7 @@

1. Let _script_ be _scriptRecord_.[[ECMAScriptCode]]. 1. Let _result_ be Completion(GlobalDeclarationInstantiation(_script_, _globalEnv_)). 1. If _result_.[[Type]] is ~normal~, then - 1. Set _result_ to the result of evaluating _script_. + 1. Set _result_ to Evaluation of _script_. 1. If _result_.[[Type]] is ~normal~ and _result_.[[Value]] is ~empty~, then 1. Set _result_ to NormalCompletion(*undefined*). 1. Suspend _scriptContext_ and remove it from the execution context stack. @@ -27772,7 +27772,7 @@

1. If _module_.[[HasTLA]] is *false*, then 1. Assert: _capability_ is not present. 1. Push _moduleContext_ onto the execution context stack; _moduleContext_ is now the running execution context. - 1. Let _result_ be the result of evaluating _module_.[[ECMAScriptCode]]. + 1. Let _result_ be Evaluation of _module_.[[ECMAScriptCode]]. 1. Suspend _moduleContext_ and remove it from the execution context stack. 1. Resume the context that is now on the top of the execution context stack as the running execution context. 1. If _result_ is an abrupt completion, then @@ -27941,16 +27941,16 @@

Runtime Semantics: Evaluation

ModuleBody : ModuleItemList - 1. Let _result_ be the result of evaluating |ModuleItemList|. + 1. Let _result_ be Evaluation of |ModuleItemList|. 1. If _result_.[[Type]] is ~normal~ and _result_.[[Value]] is ~empty~, then 1. Return *undefined*. 1. Return ? _result_. ModuleItemList : ModuleItemList ModuleItem - 1. Let _sl_ be the result of evaluating |ModuleItemList|. + 1. Let _sl_ be Evaluation of |ModuleItemList|. 1. ReturnIfAbrupt(_sl_). - 1. Let _s_ be the result of evaluating |ModuleItem|. + 1. Let _s_ be Evaluation of |ModuleItem|. 1. Return ? UpdateEmpty(_s_, _sl_). @@ -28466,15 +28466,15 @@

Runtime Semantics: Evaluation

ExportDeclaration : `export` VariableStatement - 1. Return the result of evaluating |VariableStatement|. + 1. Return Evaluation of |VariableStatement|. ExportDeclaration : `export` Declaration - 1. Return the result of evaluating |Declaration|. + 1. Return Evaluation of |Declaration|. ExportDeclaration : `export` `default` HoistableDeclaration - 1. Return the result of evaluating |HoistableDeclaration|. + 1. Return Evaluation of |HoistableDeclaration|. ExportDeclaration : `export` `default` ClassDeclaration @@ -28490,7 +28490,7 @@

Runtime Semantics: Evaluation

1. If IsAnonymousFunctionDefinition(|AssignmentExpression|) is *true*, then 1. Let _value_ be ? NamedEvaluation of |AssignmentExpression| with argument *"default"*. 1. Else, - 1. Let _rhs_ be the result of evaluating |AssignmentExpression|. + 1. Let _rhs_ be Evaluation of |AssignmentExpression|. 1. Let _value_ be ? GetValue(_rhs_). 1. Let _env_ be the running execution context's LexicalEnvironment. 1. Perform ? InitializeBoundName(*"\*default\*"*, _value_, _env_). @@ -28692,7 +28692,7 @@

1. Push _evalContext_ onto the execution context stack; _evalContext_ is now the running execution context. 1. Let _result_ be Completion(EvalDeclarationInstantiation(_body_, _varEnv_, _lexEnv_, _privateEnv_, _strictEval_)). 1. If _result_.[[Type]] is ~normal~, then - 1. Set _result_ to the result of evaluating _body_. + 1. Set _result_ to Evaluation of _body_. 1. If _result_.[[Type]] is ~normal~ and _result_.[[Value]] is ~empty~, then 1. Set _result_ to NormalCompletion(*undefined*). 1. Suspend _evalContext_ and remove it from the execution context stack. @@ -42371,7 +42371,7 @@

JSON.parse ( _text_ [ , _reviver_ ] )

1. [id="step-json-parse-parse"] Let _script_ be ParseText(StringToCodePoints(_scriptString_), |Script|). 1. NOTE: The early error rules defined in have special handling for the above invocation of ParseText. 1. Assert: _script_ is a Parse Node. - 1. [id="step-json-parse-eval"] Let _completion_ be the result of evaluating _script_. + 1. [id="step-json-parse-eval"] Let _completion_ be Evaluation of _script_. 1. NOTE: The PropertyDefinitionEvaluation semantics defined in have special handling for the above evaluation. 1. Let _unfiltered_ be _completion_.[[Value]]. 1. [id="step-json-parse-assert-type"] Assert: _unfiltered_ is either a String, Number, Boolean, Null, or an Object that is defined by either an |ArrayLiteral| or an |ObjectLiteral|. @@ -45009,7 +45009,7 @@

1. Set the Generator component of _genContext_ to _generator_. 1. [fence-effects="user-code"] Set the code evaluation state of _genContext_ such that when evaluation is resumed for that execution context the following steps will be performed: 1. If _generatorBody_ is a Parse Node, then - 1. Let _result_ be the result of evaluating _generatorBody_. + 1. Let _result_ be Evaluation of _generatorBody_. 1. Else, 1. Assert: _generatorBody_ is an Abstract Closure with no parameters. 1. Let _result_ be _generatorBody_(). @@ -45362,7 +45362,7 @@

1. Set the Generator component of _genContext_ to _generator_. 1. [fence-effects="user-code"] Set the code evaluation state of _genContext_ such that when evaluation is resumed for that execution context the following steps will be performed: 1. If _generatorBody_ is a Parse Node, then - 1. Let _result_ be the result of evaluating _generatorBody_. + 1. Let _result_ be Evaluation of _generatorBody_. 1. Else, 1. Assert: _generatorBody_ is an Abstract Closure with no parameters. 1. Let _result_ be Completion(_generatorBody_()). @@ -45755,7 +45755,7 @@

1. Assert: _promiseCapability_ is a PromiseCapability Record. 1. Let _runningContext_ be the running execution context. 1. [fence-effects="user-code"] Set the code evaluation state of _asyncContext_ such that when evaluation is resumed for that execution context the following steps will be performed: - 1. Let _result_ be the result of evaluating _asyncBody_. + 1. Let _result_ be Evaluation of _asyncBody_. 1. Assert: If we return here, the async function either threw an exception or performed an implicit or explicit return; all awaiting is done. 1. Remove _asyncContext_ from the execution context stack and restore the execution context that is at the top of the execution context stack as the running execution context. 1. If _result_.[[Type]] is ~normal~, then @@ -48090,7 +48090,7 @@

Initializers in ForIn Statement Heads

1. If IsAnonymousFunctionDefinition(|Initializer|) is *true*, then 1. Let _value_ be ? NamedEvaluation of |Initializer| with argument _bindingId_. 1. Else, - 1. Let _rhs_ be the result of evaluating |Initializer|. + 1. Let _rhs_ be Evaluation of |Initializer|. 1. Let _value_ be ? GetValue(_rhs_). 1. Perform ? PutValue(_lhs_, _value_). 1. Let _keyResult_ be ? ForIn/OfHeadEvaluation(« », |Expression|, ~enumerate~).