Skip to content

Commit

Permalink
Editor PR Feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
rbuckton committed Aug 25, 2021
1 parent 6194172 commit 3a335f7
Showing 1 changed file with 3 additions and 165 deletions.
168 changes: 3 additions & 165 deletions spec.html
Original file line number Diff line number Diff line change
Expand Up @@ -4588,7 +4588,7 @@ <h1>Private Names</h1>

<emu-clause id="sec-classstaticblockdefinition-record-specification-type">
<h1>The ClassStaticBlockDefinition Record Specification Type</h1>
<p>A <dfn>ClassStaticBlockDefinition Record</dfn> is a Record value used to encapsulate the executable code for a class static initialization block.</p>
<p>A <dfn variants="ClassStaticBlockDefinition Records">ClassStaticBlockDefinition Record</dfn> is a Record value used to encapsulate the executable code for a class static initialization block.</p>
<p>ClassStaticBlockDefinition Records have the fields listed in <emu-xref href="#table-classstaticblockdefinition-record-fields"></emu-xref>.</p>
<emu-table id="table-classstaticblockdefinition-record-fields" caption="ClassStaticBlockDefinition Record Fields">
<table>
Expand Down Expand Up @@ -6791,20 +6791,6 @@ <h1>
1. Perform ? DefineField(_O_, _fieldRecord_).
</emu-alg>
</emu-clause>

<emu-clause id="sec-evaluatestaticblock" type="abstract operation">
<h1>
EvaluateStaticBlock (
_receiver_: an Object,
_blockRecord_: a ClassStaticBlockDefinition Record,
)
</h1>
<dl class="header">
</dl>
<emu-alg>
1. Perform ? Call(_blockRecord_.[[BodyFunction]], _receiver_).
</emu-alg>
</emu-clause>
</emu-clause>

<emu-clause id="sec-operations-on-iterator-objects">
Expand Down Expand Up @@ -23870,7 +23856,7 @@ <h1>Static Semantics: Early Errors</h1>
It is a Syntax Error if |ClassStaticBlockStatementList| Contains |SuperCall| is *true*.
</li>
<li>
It is a Syntax Error if ContainsAwait of |ClassStaticBlockStatementList| is *true*.
It is a Syntax Error if |ClassStaticBlockStatementList| Contains `await` is *true*.
</li>
</ul>
</emu-clause>
Expand Down Expand Up @@ -24172,154 +24158,6 @@ <h1>Static Semantics: ContainsArguments</h1>
</emu-alg>
</emu-clause>

<emu-clause id="sec-static-semantics-containsawait" type="sdo" aoid="ContainsAwait">
<h1>Static Semantics: ContainsAwait</h1>

<p>Every grammar production alternative in this specification which is not listed below implicitly has the following default definition of ContainsAwait:</p>
<emu-alg>
1. For each child node _child_ of this Parse Node, do
1. If _child_ is an instance of a nonterminal, then
1. If ContainsAwait for _child_ is *true*, return *true*.
1. Return *false*.
</emu-alg>

<emu-grammar>
FunctionDeclaration :
`function` BindingIdentifier `(` FormalParameters `)` `{` FunctionBody `}`
`function` `(` FormalParameters `)` `{` FunctionBody `}`

FunctionExpression :
`function` BindingIdentifier? `(` FormalParameters `)` `{` FunctionBody `}`

GeneratorDeclaration :
`function` `*` BindingIdentifier `(` FormalParameters `)` `{` GeneratorBody `}`
`function` `*` `(` FormalParameters `)` `{` GeneratorBody `}`

GeneratorExpression :
`function` `*` BindingIdentifier? `(` FormalParameters `)` `{` GeneratorBody `}`

AsyncGeneratorDeclaration :
`async` `function` `*` BindingIdentifier `(` FormalParameters `)` `{` AsyncGeneratorBody `}`
`async` `function` `*` `(` FormalParameters `)` `{` AsyncGeneratorBody `}`

AsyncGeneratorExpression :
`async` `function` `*` BindingIdentifier? `(` FormalParameters `)` `{` AsyncGeneratorBody `}`

AsyncFunctionDeclaration :
`async` `function` BindingIdentifier `(` FormalParameters `)` `{` AsyncFunctionBody `}`
`async` `function` `(` FormalParameters `)` `{` AsyncFunctionBody `}`

AsyncFunctionExpression :
`async` `function` BindingIdentifier? `(` FormalParameters `)` `{` AsyncFunctionBody `}`
</emu-grammar>
<emu-alg>
1. Return *false*.
</emu-alg>
<emu-note>
<p>Static semantic rules that depend upon substructure generally do not look into function definitions.</p>
</emu-note>

<emu-grammar>ClassTail : ClassHeritage? `{` ClassBody `}`</emu-grammar>
<emu-alg>
1. If |ClassHeritage| is present, then
1. If ContainsAwait for |ClassHeritage| is *true*, return *true*.
1. Return the result of ComputedPropertyContainsAwait for |ClassBody|.
</emu-alg>
<emu-note>
<p>Static semantic rules that depend upon substructure generally do not look into class bodies except for |PropertyName|s.</p>
</emu-note>

<emu-grammar>
ArrowFunction : ArrowParameters `=>` ConciseBody

AsyncArrowFunction :
`async` AsyncArrowBindingIdentifier `=>` AsyncConciseBody
CoverCallExpressionAndAsyncArrowHead `=>` AsyncConciseBody
</emu-grammar>
<emu-alg>
1. Return *false*.
</emu-alg>
<emu-note>
<p>Static semantic rules that depend upon substructure containing `await` do not need to look into arrow functions.</p>
</emu-note>

<emu-grammar>
UnaryExpression : AwaitExpression
</emu-grammar>
<emu-alg>
1. Return *true*.
</emu-alg>

<emu-grammar>
ForInOfStatement : `for` `await` `(` LeftHandSideExpression `of` AssignmentExpression `)` Statement

ForInOfStatement : `for` `await` `(` `var` ForBinding `of` AssignmentExpression `)` Statement

ForInOfStatement : `for` `await` `(` ForDeclaration `of` AssignmentExpression `)` Statement
</emu-grammar>
<emu-alg>
1. Return *true*.
</emu-alg>
</emu-clause>

<emu-clause id="sec-static-semantics-computedpropertycontainsawait" type="sdo" aoid="ComputedPropertyContainsAwait">
<h1>Static Semantics: ComputedPropertyContainsAwait</h1>
<emu-grammar>
ClassElementName : PrivateIdentifier

PropertyName : LiteralPropertyName
</emu-grammar>
<emu-alg>
1. Return *false*.
</emu-alg>
<emu-grammar>PropertyName : ComputedPropertyName</emu-grammar>
<emu-alg>
1. Return the result of ContainsAwait for |ComputedPropertyName|.
</emu-alg>
<emu-grammar>
MethodDefinition :
ClassElementName `(` UniqueFormalParameters `)` `{` FunctionBody `}`
`get` ClassElementName `(` `)` `{` FunctionBody `}`
`set` ClassElementName `(` PropertySetParameterList `)` `{` FunctionBody `}`
</emu-grammar>
<emu-alg>
1. Return the result of ComputedPropertyContainsAwait for |ClassElementName|.
</emu-alg>
<emu-grammar>GeneratorMethod : `*` ClassElementName `(` UniqueFormalParameters `)` `{` GeneratorBody `}`</emu-grammar>
<emu-alg>
1. Return the result of ComputedPropertyContainsAwait for |ClassElementName|.
</emu-alg>
<emu-grammar>AsyncGeneratorMethod : `async` `*` ClassElementName `(` UniqueFormalParameters `)` `{` AsyncGeneratorBody `}`</emu-grammar>
<emu-alg>
1. Return the result of ComputedPropertyContainsAwait for |ClassElementName|.
</emu-alg>
<emu-grammar>ClassElementList : ClassElementList ClassElement</emu-grammar>
<emu-alg>
1. If ComputedPropertyContainsAwait for |ClassElementList| is *true*, return *true*.
1. Return the result of ComputedPropertyContainsAwait for |ClassElement|.
</emu-alg>
<emu-grammar>
ClassElement : ClassStaticBlock

ClassElement : `;`
</emu-grammar>
<emu-alg>
1. Return *false*.
</emu-alg>
<emu-grammar>
AsyncMethod : `async` ClassElementName `(` UniqueFormalParameters `)` `{` AsyncFunctionBody `}`
</emu-grammar>
<emu-alg>
1. Return the result of ComputedPropertyContainsAwait for |ClassElementName|.
</emu-alg>
<emu-grammar>
FieldDefinition : ClassElementName Initializer?
</emu-grammar>
<emu-alg>
1. Return the result of ComputedPropertyContainsAwait for |ClassElementName|.
</emu-alg>
</emu-clause>

<emu-clause id="sec-runtime-semantics-classfielddefinitionevaluation" type="sdo" aoid="ClassFieldDefinitionEvaluation">
<h1>Runtime Semantics: ClassFieldDefinitionEvaluation</h1>

Expand Down Expand Up @@ -24523,7 +24361,7 @@ <h1>Runtime Semantics: ClassDefinitionEvaluation</h1>
1. Let _result_ be DefineField(_F_, _elementRecord_).
1. Else,
1. Assert: _elementRecord_ is a ClassStaticBlockDefinition Record.
1. Let _result_ be EvaluateStaticBlock(_F_, _elementRecord_).
1. Let _result_ be ? Call(_elementRecord_.[[BodyFunction]], _F_).
1. If _result_ is an abrupt completion, then
1. Set the running execution context's PrivateEnvironment to _outerPrivateEnvironment_.
1. Return _result_.
Expand Down

0 comments on commit 3a335f7

Please sign in to comment.