Skip to content
This repository was archived by the owner on Jan 26, 2022. It is now read-only.

Commit eb4584d

Browse files
committed
Add clause IDs and AOIDs.
1 parent 64a1ac1 commit eb4584d

8 files changed

+53
-53
lines changed

spec/abstract-operations.html

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<emu-clause>
1+
<emu-clause id="sec-asyncgeneratorfunctioncreate" aoid="AsyncGeneratorFunctionCreate">
22
<h1>AsyncGeneratorFunctionCreate (_kind_, _ParameterList_, _Body_, _Scope_, _Strict_)</h1>
33
<p>The abstract operation AsyncGeneratorFunctionCreate requires the arguments: _kind_ which is one of (~Normal~, ~Method~), a parameter list production specified by _ParameterList_, a body production specified by _Body_, a Lexical Environment specified by _Scope_, and a Boolean flag _Strict_. AsyncGeneratorFunctionCreate performs the following steps:</p>
44
<emu-alg>
@@ -11,7 +11,7 @@ <h1>AsyncGeneratorFunctionCreate (_kind_, _ParameterList_, _Body_, _Scope_, _Str
1111
</emu-note>
1212
</emu-clause>
1313

14-
<emu-clause>
14+
<emu-clause id="sec=asyncgeneratorrequest-records">
1515
<h1>AsyncGeneratorRequest Records</h1>
1616
<p>The AsyncGeneratorRequest is a Record value used to store information about how an async generator should be resumed and contains capabilities for fulfilling or rejecting the corresponding promise.</p>
1717
<p>They have the following fields:</p>
@@ -38,7 +38,7 @@ <h1>AsyncGeneratorRequest Records</h1>
3838
</emu-table>
3939
</emu-clause>
4040

41-
<emu-clause>
41+
<emu-clause id="sec-getgeneratorcontextkind" aoid="GetGeneratorContextKind">
4242
<h1>GetGeneratorContextKind</h1>
4343
<emu-alg>
4444
1. Let _genContext_ be the running execution context.
@@ -49,7 +49,7 @@ <h1>GetGeneratorContextKind</h1>
4949
</emu-alg>
5050
</emu-clause>
5151

52-
<emu-clause>
52+
<emu-clause id="sec-asyncgeneratorstart" aoid="AsyncGeneratorStart">
5353
<h1>AsyncGeneratorStart ( _generator_, _generatorBody_ )</h1>
5454
<emu-alg>
5555
1. Assert: _generator_ is an AsyncGenerator instance.
@@ -79,7 +79,7 @@ <h1>AsyncGeneratorStart ( _generator_, _generatorBody_ )</h1>
7979
</emu-alg>
8080
</emu-clause>
8181

82-
<emu-clause>
82+
<emu-clause id="sec-asyncgeneratorfulfill" aoid="AsyncGeneratorFulfill">
8383
<h1>AsyncGeneratorFulfill ( _generator_, _iterationResult_ )</h1>
8484
<emu-alg>
8585
1. Assert: _generator_ is an AsyncGenerator instance.
@@ -93,7 +93,7 @@ <h1>AsyncGeneratorFulfill ( _generator_, _iterationResult_ )</h1>
9393
</emu-clause>
9494
</emu-alg>
9595

96-
<emu-clause>
96+
<emu-clause id="sec-asyncgeneratorreject" aoid="AsyncGeneratorReject">
9797
<h1>AsyncGeneratorReject ( _generator_, _exception_ )</h1>
9898
<emu-alg>
9999
1. Assert: _generator_ is an AsyncGenerator instance.
@@ -106,7 +106,7 @@ <h1>AsyncGeneratorReject ( _generator_, _exception_ )</h1>
106106
</emu-alg>
107107
</emu-clause>
108108

109-
<emu-clause>
109+
<emu-clause id="sec-asyncgeneratorresumenext" aoid="AsyncGeneratorResumeNext">
110110
<h1>AsyncGeneratorResumeNext ( _generator_ )</h1>
111111
<emu-alg>
112112
1. Assert: _generator_ is an AsyncGenerator instance.
@@ -142,7 +142,7 @@ <h1>AsyncGeneratorResumeNext ( _generator_ )</h1>
142142
</emu-alg>
143143
</emu-clause>
144144

145-
<emu-clause>
145+
<emu-clause id="sec-asyncgeneratorenqueue" aoid="AsyncGeneratorEnqueue">
146146
<h1>AsyncGeneratorEnqueue ( _generator_, _completion_ )</h1>
147147
<emu-alg>
148148
1. Assert: _completion_ is a Completion Record.
@@ -159,7 +159,7 @@ <h1>AsyncGeneratorEnqueue ( _generator_, _completion_ )</h1>
159159
</emu-alg>
160160
</emu-clause>
161161

162-
<emu-clause>
162+
<emu-clause id="sec-asyncgeneratoryield" aoid="AsyncGeneratorYield">
163163
<h1>AsyncGeneratorYield ( _iterationResult_ )</h1>
164164
<emu-alg>
165165
1. Assert: _iterationResult_ is an Object that implements the IteratorResult interface.

spec/async-generator-function-objects.html

+13-13
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<p>AsyncGenerator Function objects are functions that are usually created by evaluating |AsyncGeneratorDeclaration|, |AsyncGeneratorExpression|, and |AsyncGeneratorMethod| syntactic productions. They may also be created by calling the %AsyncGeneratorFunction% intrinsic.</p>
22

3-
<emu-clause>
3+
<emu-clause id="sec-asyncgeneratorfunction-constructor">
44
<h1>The AsyncGeneratorFunction Constructor</h1>
55
<p>The `AsyncGeneratorFunction` constructor is the %AsyncGeneratorFunction% intrinsic. When `AsyncGeneratorFunction` is called as a function rather than as a constructor, it creates and initializes a new AsyncGeneratorFunction object. Thus the function call `AsyncGeneratorFunction (...)` is equivalent to the object creation expression `new AsyncGeneratorFunction (...)` with the same arguments.</p>
66
<p>`AsyncGeneratorFunction` is designed to be subclassable. It may be used as the value of an `extends` clause of a class definition. Subclass constructors that intend to inherit the specified `AsyncGeneratorFunction` behaviour must include a `super` call to the `AsyncGeneratorFunction` constructor to create and initialize subclass instances with the internal slots necessary for built-in AsyncGeneratorFunction behaviour. All ECMAScript syntactic forms for defining async generator function objects create direct instances of `AsyncGeneratorFunction`. There is no syntactic means to create instances of `AsyncGeneratorFunction` subclasses.</p>
77

8-
<emu-clause>
8+
<emu-clause id="sec-asyncgeneratorfunction">
99
<h1>AsyncGeneratorFunction ( _p1_, _p2_, ..., _pn_, _body_ )</h1>
1010
<p>The last argument specifies the body (executable code) of an async generator function; any preceding arguments specify formal parameters.</p>
1111
<p>When the `AsyncGeneratorFunction` function is called with some arguments _p1_, _p2_, &hellip; , _pn_, _body_ (where _n_ might be 0, that is, there are no "_p_" arguments, and where _body_ might also not be provided), the following steps are taken:</p>
@@ -20,66 +20,66 @@ <h1>AsyncGeneratorFunction ( _p1_, _p2_, ..., _pn_, _body_ )</h1>
2020
</emu-clause>
2121
</emu-clause>
2222

23-
<emu-clause>
23+
<emu-clause id="sec-properties-of-asyncgeneratorfunction">
2424
<h1>Properties of the AsyncGeneratorFunction Constructor</h1>
2525
<p>The `AsyncGeneratorFunction` constructor is a standard built-in function object that inherits from the `Function` constructor. The value of the [[Prototype]] internal slot of the `AsyncGeneratorFunction` constructor is the intrinsic object %Function%.</p>
2626
<p>The value of the [[Extensible]] internal slot of the AsyncGeneratorFunction constructor is *true*.</p>
2727
<p>The value of the `name` property of the AsyncGeneratorFunction is `"AsyncGeneratorFunction"`.</p>
2828
<p>The `AsyncGeneratorFunction` constructor has the following properties:</p>
2929

30-
<emu-clause>
30+
<emu-clause id="sec-asyncgeneratorfunction-length">
3131
<h1>AsyncGeneratorFunction.length</h1>
3232
<p>This is a data property with a value of 1. This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.</p>
3333
</emu-clause>
3434

35-
<emu-clause>
35+
<emu-clause id="sec-asyncgeneratorfunction-prototype">
3636
<h1>AsyncGeneratorFunction.prototype</h1>
3737
<p>The initial value of `AsyncGeneratorFunction.prototype` is the intrinsic object %AsyncGenerator%.</p>
3838
<p>This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.</p>
3939
</emu-clause>
4040
</emu-clause>
4141

42-
<emu-clause>
42+
<emu-clause id="sec-properties-of-asyncgeneratorfunction-prototype">
4343
<h1>Properties of the AsyncGeneratorFunction Prototype Object</h1>
4444
<p>The AsyncGeneratorFunction prototype object is an ordinary object. It is not a function object and does not have an [[ECMAScriptCode]] internal slot or any other of the internal slots listed in (TODO: table-27 link) or (TODO: table link to AsyncGenerator internal slots). In addition to being the value of the prototype property of the %AsyncGeneratorFunction% intrinsic, it is the %AsyncGenerator% intrinsic.</p>
4545
<p>The value of the [[Prototype]] internal slot of the AsyncGeneratorFunction prototype object is the %FunctionPrototype% intrinsic object. The initial value of the [[Extensible]] internal slot of the AsyncGeneratorFunction prototype object is *true*.</p>
4646

47-
<emu-clause>
47+
<emu-clause id="sec-asyncgeneratorfunction-prototype-constructor">
4848
<h1>AsyncGeneratorFunction.prototype.constructor</h1>
4949
<p>The initial value of `AsyncGeneratorFunction.prototype.constructor` is the intrinsic object %AsyncGeneratorFunction%.</p>
5050
<p>This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.</p>
5151
</emu-clause>
5252

53-
<emu-clause>
53+
<emu-clause id="sec-asyncgeneratorfunction-prototype-prototype">
5454
<h1>AsyncGeneratorFunction.prototype.prototype</h1>
5555
<p>The value of `AsyncGeneratorFunction.prototype.prototype` is the %AsyncGeneratorPrototype% intrinsic object.</p>
5656
<p>This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.</p>
5757
</emu-clause>
5858

59-
<emu-clause>
59+
<emu-clause id="sec-asyncgeneratorfunction-prototype-tostringtag">
6060
<h1>AsyncGeneratorFunction.prototype [ @@toStringTag ]</h1>
6161
<p>The initial value of the @@toStringTag property is the String value `"AsyncGeneratorFunction"`.</p>
6262
<p>This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.</p>
6363
</emu-clause>
6464
</emu-clause>
6565

66-
<emu-clause>
66+
<emu-clause id="sec-asyncgeneratorfunction-instances">
6767
<h1>AsyncGeneratorFunction Instances</h1>
6868
<p>Every AsyncGeneratorFunction instance is an ECMAScript function object and has the internal slots listed in (TODO: table-27 link). The value of the [[FunctionKind]] internal slot for all such instances is `"generator"`.</p>
6969
<p>Each AsyncGeneratorFunction instance has the following own properties:</p>
7070

71-
<emu-clause>
71+
<emu-clause id="sec-asyncgeneratorfunction-instance-length">
7272
<h1>length</h1>
7373
<p>The value of the `length` property is an integer that indicates the typical number of arguments expected by the AsyncGeneratorFunction. However, the language permits the function to be invoked with some other number of arguments. The behaviour of an AsyncGeneratorFunction when invoked on a number of arguments other than the number specified by its `length` property depends on the function.</p>
7474
<p>This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.</p>
7575
</emu-clause>
7676

77-
<emu-clause>
77+
<emu-clause id="sec-asyncgeneratorfunction-instance-name">
7878
<h1>name</h1>
7979
<p>The specification for the `name` property of Function instances given in <emu-xref href="#sec-function-instances-name"></emu-xref> also applies to AsyncGeneratorFunction instances.</p>
8080
</emu-clause>
8181

82-
<emu-clause>
82+
<emu-clause id="sec-asyncgeneratorfunction-instance-prototype">
8383
<h1>prototype</h1>
8484
<p>Whenever an AsyncGeneratorFunction instance is created another ordinary object is also created and is the initial value of the async generator function's `prototype` property. The value of the prototype property is used to initialize the [[Prototype]] internal slot of a newly created AsyncGenerator object when the generator function object is invoked using [[Call]].</p>
8585
<p>This property has the attributes { [[Writable]]: *true*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.</p>

spec/async-generator-objects.html

+8-8
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22

33
<p>AsyncGenerator instances directly inherit properties from the object that is the value of the `prototype` property of the AsyncGenerator function that created the instance. AsyncGenerator instances indirectly inherit properties from the AsyncGenerator Prototype intrinsic, %AsyncGeneratorPrototype%.</p>
44

5-
<emu-clause>
5+
<emu-clause id="sec-properties-of-asyncgenerator-prototype">
66
<h1>Properties of AsyncGenerator Prototype</h1>
77
<p>The AsyncGenerator prototype object is the %AsyncGeneratorPrototype% intrinsic. It is also the initial value of the `prototype` property of the %AsyncGenerator% intrinsic (the AsyncGeneratorFunction.prototype).</p>
88
<p>The AsyncGenerator prototype is an ordinary object. It is not an AsyncGenerator instance and does not have an [[AsyncGeneratorState]] internal slot.</p>
99
<p>The value of the [[Prototype]] internal slot of the AsyncGenerator prototype object is the intrinsic object %AsyncIteratorPrototype%. The initial value of the [[Extensible]] internal slot of the AsyncGenerator prototype object is *true*.</p>
1010
<p>All AsyncGenerator instances indirectly inherit properties of the AsyncGenerator prototype object.</p>
1111

12-
<emu-clause>
12+
<emu-clause id="sec-asyncgenerator-prototype-constructor">
1313
<h1>AsyncGenerator.prototype.constructor</h1>
1414
<p>The initial value of `AsyncGenerator.prototype.constructor` is the intrinsic object %AsyncGenerator%.</p>
1515
<p>This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.</p>
1616
</emu-clause>
1717

18-
<emu-clause>
18+
<emu-clause id="sec-asyncgenerator-prototype-next">
1919
<h1>AsyncGenerator.prototype.next ( _value_ )</h1>
2020
<emu-alg>
2121
1. Let _generator_ be the `this` value.
@@ -24,7 +24,7 @@ <h1>AsyncGenerator.prototype.next ( _value_ )</h1>
2424
</emu-alg>
2525
</emu-clause>
2626

27-
<emu-clause>
27+
<emu-clause id="sec-asyncgenerator-prototype-return">
2828
<h1>AsyncGenerator.prototype.return ( _value_ )</h1>
2929
<emu-alg>
3030
1. Let _generator_ be the `this` value.
@@ -33,7 +33,7 @@ <h1>AsyncGenerator.prototype.return ( _value_ )</h1>
3333
</emu-alg>
3434
</emu-clause>
3535

36-
<emu-clause>
36+
<emu-clause id="sec-asyncgenerator-prototype-throw">
3737
<h1>AsyncGenerator.prototype.throw ( _exception_ )</h1>
3838
<emu-alg>
3939
1. Let _generator_ be the `this` value.
@@ -42,15 +42,15 @@ <h1>AsyncGenerator.prototype.throw ( _exception_ )</h1>
4242
</emu-alg>
4343
</emu-clause>
4444

45-
<emu-clause>
45+
<emu-clause id="sec-asyncgenerator-prototype-tostringtag">
4646
<h1>AsyncGenerator.prototype [ @@toStringTag ]</h1>
4747
<p>The initial value of the @@toStringTag property is the String value `"AsyncGenerator"`.</p>
4848
<p>This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.</p>
4949
</emu-clause>
5050

5151
</emu-clause>
5252

53-
<emu-clause>
53+
<emu-clause id="sec-properties-of-asyncgenerator-intances">
5454
<h1>Properties of AsyncGenerator Instances</h1>
5555
<p>AsyncGenerator instances are initially created with the internal slots described below:</p>
5656
<emu-table caption="Internal Slots of AsyncGenerator Instances">
@@ -77,7 +77,7 @@ <h1>Properties of AsyncGenerator Instances</h1>
7777
</emu-table>
7878
</emu-clause>
7979

80-
<emu-clause id="sec-async-generator-abstract-operations">
80+
<emu-clause id="sec-asyncgenerator-abstract-operations">
8181
<h1>AsyncGenerator Abstract Operations</h1>
8282
<emu-import href="./abstract-operations.html"></emu-import>
8383
</emu-clause>

spec/definitions.html

+5-5
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ <h2>Syntax</h2>
1717
<p>|YieldExpression| and |AwaitExpression| cannot be used within the |FormalParameters| of an async generator function because any expressions that are part of |FormalParameters| are evaluated before the resulting async generator object is in a resumable state.</p>
1818
</emu-note>
1919
<emu-note>
20-
<p>Abstract operations relating to async generator objects are defined in <emu-xref href="#sec-async-generator-abstract-operations"></emu-xref>.</p>
20+
<p>Abstract operations relating to async generator objects are defined in <emu-xref href="#sec-asyncgenerator-abstract-operations"></emu-xref>.</p>
2121
</emu-note>
2222

23-
<emu-clause>
23+
<emu-clause id="sec-asyncgenerator-definitions-evaluatebody">
2424
<h1>Runtime Semantics: EvaluateBody</h1>
2525
<p>With parameters _functionObject_ and List _argumentsList_.</p>
2626
<emu-grammar>
@@ -34,7 +34,7 @@ <h1>Runtime Semantics: EvaluateBody</h1>
3434
</emu-alg>
3535
</emu-clause>
3636

37-
<emu-clause>
37+
<emu-clause id="sec-asyncgenerator-definitions-instantiatefunctionobject">
3838
<h1>Runtime Semantics: InstantiateFunctionObject</h1>
3939
<p>With parameter _scope_.</p>
4040
<emu-grammar>
@@ -66,7 +66,7 @@ <h1>Runtime Semantics: InstantiateFunctionObject</h1>
6666
</emu-note>
6767
</emu-clause>
6868

69-
<emu-clause>
69+
<emu-clause id="sec-asyncgenerator-definitions-propertydefinitionevaluation">
7070
<h1>Runtime Semantics: PropertyDefinitionEvaluation</h1>
7171
<p>With parameter _object_ and _enumerable_.</p>
7272
<emu-grammar>
@@ -87,7 +87,7 @@ <h1>Runtime Semantics: PropertyDefinitionEvaluation</h1>
8787
</emu-alg>
8888
</emu-clause>
8989

90-
<emu-clause>
90+
<emu-clause id="sec-asyncgenerator-definitions-evaluation">
9191
<h1>Runtime Semantics: Evaluation</h1>
9292

9393
<emu-grammar>

spec/for-await-statement.html

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ <h2>Syntax</h2>
66
`for` `await` `(` ForDeclaration[?Yield, Await] `of` AssignmentExpression[In, ?Yield, Await] `)` Statement[?Yield, ?Return, Await]
77
</emu-grammar>
88

9-
<emu-clause>
9+
<emu-clause id="sec-for-await-labelledevaluation">
1010
<h1>Runtime Semantics: LabelledEvaluation</h1>
1111
<emu-grammar>
1212
IterationStatement : `for` `await` `(` LeftHandSideExpression `of` AssignmentExpression `)` Statement
@@ -31,7 +31,7 @@ <h1>Runtime Semantics: LabelledEvaluation</h1>
3131
</emu-alg>
3232
</emu-clause>
3333

34-
<emu-clause>
34+
<emu-clause id="sec-forinofheadevaluation">
3535
<h1>Runtime Semantics: ForIn/OfHeadEvaluation ( _TDZnames_, _expr_, _iterationKind_ )</h1>
3636
<p>The abstract operation ForIn/OfHeadEvaluation is called with arguments _TDZnames_, _expr_, _iterationKind_, and _async_. The value of _iterationKind_ is ~enumerate~, ~iterate~, or ~async-iterate~.</p>
3737
<emu-alg>
@@ -60,7 +60,7 @@ <h1>Runtime Semantics: ForIn/OfHeadEvaluation ( _TDZnames_, _expr_, _iterationKi
6060
</emu-alg>
6161
</emu-clause>
6262

63-
<emu-clause>
63+
<emu-clause id="sec-forinofbodyevaluation">
6464
<h1>Runtime Semantics: ForIn/OfBodyEvaluation ( _lhs_, _stmt_, _iterator_, _lhsKind_, _labelSet_, _iteratorKind_ )</h1>
6565
<p>The abstract operation ForIn/OfBodyEvaluation is called with arguments _lhs_, _stmt_, _iterator_, _lhsKind_, _labelSet_, and optional argument _iteratorKind_. The value of _lhsKind_ is either ~assignment~, ~varBinding~ or ~lexicalBinding~. The value of _iteratorKind_ is either ~normal~ or ~async~.</p>
6666
<emu-alg>

spec/index.html

+7-7
Original file line numberDiff line numberDiff line change
@@ -12,37 +12,37 @@
1212
<link rel="stylesheet" href="https://bterlson.github.io/ecmarkup/elements.css">
1313
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/solarized_light.min.css">
1414

15-
<emu-clause>
15+
<emu-clause id="sec-introduction">
1616
<h1>Introduction</h1>
1717
<emu-import href="./introduction.html"></emu-import>
1818
</emu-clause>
1919

20-
<emu-clause>
20+
<emu-clause id="sec-async-generator-function-definitions">
2121
<h1>Async Generator Function Definitions</h1>
2222
<emu-import href="./definitions.html"></emu-import>
2323
</emu-clause>
2424

25-
<emu-clause>
25+
<emu-clause id="sec-for-await-statement">
2626
<h1>The `for-await` Statement</h1>
2727
<emu-import href="./for-await-statement.html"></emu-import>
2828
</emu-clause>
2929

30-
<emu-clause>
30+
<emu-clause id="sec-operations-on-iterator-objects">
3131
<h1>Operations on Iterator Objects</h1>
3232
<emu-import href="./iterator-operations.html"></emu-import>
3333
</emu-clause>
3434

35-
<emu-clause>
35+
<emu-clause id="sec-iteration">
3636
<h1>Iteration</h1>
3737
<emu-import href="./iteration.html"></emu-import>
3838
</emu-clause>
3939

40-
<emu-clause>
40+
<emu-clause sec="sec-asyncgeneratorfunction-objects">
4141
<h1>AsyncGeneratorFunction Objects</h1>
4242
<emu-import href="./async-generator-function-objects.html"></emu-import>
4343
</emu-clause>
4444

45-
<emu-clause>
45+
<emu-clause sec="sec-asyncgenerator-objects">
4646
<h1>AsyncGenerator Objects</h1>
4747
<emu-import href="./async-generator-objects.html"></emu-import>
4848
</emu-clause>

0 commit comments

Comments
 (0)