Skip to content

Commit 47fddef

Browse files
committed
fixup: replace [[IsInitialized]] field with ~uninitialized~ possibility in [[BoundValue]]
1 parent 79ee370 commit 47fddef

File tree

1 file changed

+9
-21
lines changed

1 file changed

+9
-21
lines changed

spec.html

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10103,23 +10103,12 @@ <h1>Declarative Environment Records</h1>
1010310103
the name being bound.
1010410104
</td>
1010510105
</tr>
10106-
<tr>
10107-
<td>
10108-
[[IsInitialized]]
10109-
</td>
10110-
<td>
10111-
a Boolean
10112-
</td>
10113-
<td>
10114-
indicates whether the binding is initialized.
10115-
</td>
10116-
</tr>
1011710106
<tr>
1011810107
<td>
1011910108
[[BoundValue]]
1012010109
</td>
1012110110
<td>
10122-
an ECMAScript language value
10111+
an ECMAScript language value or ~uninitialized~
1012310112
</td>
1012410113
<td>
1012510114
the value that the name is bound to.
@@ -10198,7 +10187,7 @@ <h1>
1019810187
</dl>
1019910188
<emu-alg>
1020010189
1. Assert: _envRec_.HasBinding(_N_) is *false*.
10201-
1. Let _binding_ be DeclarativeBindingRecord { [[BoundName]]: _N_, [[IsInitialized]]: *false*, [[BoundValue]]: *undefined*, [[IsMutable]]: *true*, [[IsDeletable]]: _D_, [[IsStrict]]: *false* }.
10190+
1. Let _binding_ be DeclarativeBindingRecord { [[BoundName]]: _N_, [[BoundValue]]: ~uninitialized~, [[IsMutable]]: *true*, [[IsDeletable]]: _D_, [[IsStrict]]: *false* }.
1020210191
1. Append _binding_ to _envRec_.[[Bindings]].
1020310192
1. Return NormalCompletion(~empty~).
1020410193
</emu-alg>
@@ -10220,7 +10209,7 @@ <h1>
1022010209
</dl>
1022110210
<emu-alg>
1022210211
1. Assert: _envRec_.HasBinding(_N_) is *false*.
10223-
1. Let _binding_ be DeclarativeBindingRecord { [[BoundName]]: _N_, [[IsInitialized]]: *false*, [[BoundValue]]: *undefined*, [[IsMutable]]: *false*, [[IsDeletable]]: *false*, [[IsStrict]]: _S_ }.
10212+
1. Let _binding_ be DeclarativeBindingRecord { [[BoundName]]: _N_, [[BoundValue]]: ~uninitialized~, [[IsMutable]]: *false*, [[IsDeletable]]: *false*, [[IsStrict]]: _S_ }.
1022410213
1. Append _binding_ to _envRec_.[[Bindings]].
1022510214
1. Return NormalCompletion(~empty~).
1022610215
</emu-alg>
@@ -10243,9 +10232,8 @@ <h1>
1024310232
<emu-alg>
1024410233
1. Assert: _envRec_.HasBinding(_N_) is *true*.
1024510234
1. Let _binding_ be the DeclarativeBindingRecord in _envRec_.[[Bindings]] whose [[BoundName]] field equals _N_.
10246-
1. Assert: _binding_.[[IsInitialized]] is *false*.
10235+
1. Assert: _binding_.[[BoundValue]] is ~uninitialized~.
1024710236
1. Set _binding_.[[BoundValue]] to _V_.
10248-
1. Set _binding_.[[IsInitialized]] to *true*.
1024910237
1. Return NormalCompletion(~empty~).
1025010238
</emu-alg>
1025110239
</emu-clause>
@@ -10273,7 +10261,7 @@ <h1>
1027310261
1. Return NormalCompletion(~empty~).
1027410262
1. Let _binding_ be the DeclarativeBindingRecord in _envRec_.[[Bindings]] whose [[BoundName]] field equals _N_.
1027510263
1. If _binding_.[[IsStrict]] is *true*, set _S_ to *true*.
10276-
1. If _binding_.[[IsInitialized]] is *false*, throw a *ReferenceError* exception.
10264+
1. If _binding_.[[BoundValue]] is ~uninitialized~, throw a *ReferenceError* exception.
1027710265
1. Else if _binding_.[[IsMutable]] is *true*, change its bound value to _V_.
1027810266
1. Else,
1027910267
1. Assert: This is an attempt to change the value of an immutable binding.
@@ -10303,7 +10291,7 @@ <h1>
1030310291
<emu-alg>
1030410292
1. Assert: _envRec_.HasBinding(_N_) is *true*.
1030510293
1. Let _binding_ be the DeclarativeBindingRecord in _envRec_.[[Bindings]] whose [[BoundName]] field equals _N_.
10306-
1. If _binding_.[[IsInitialized]] is *false*, throw a *ReferenceError* exception.
10294+
1. If _binding_.[[BoundValue]] is ~uninitialized~, throw a *ReferenceError* exception.
1030710295
1. Return _binding_.[[BoundValue]].
1030810296
</emu-alg>
1030910297
</emu-clause>
@@ -11397,7 +11385,7 @@ <h1>
1139711385
1. Let _targetEnv_ be _M_.[[Environment]].
1139811386
1. If _targetEnv_ is ~empty~, throw a *ReferenceError* exception.
1139911387
1. Return ? <emu-meta effects="user-code">_targetEnv_.GetBindingValue</emu-meta>(_N2_, *true*).
11400-
1. If _binding_.[[IsInitialized]] is *false*, throw a *ReferenceError* exception.
11388+
1. If _binding_.[[BoundValue]] is ~uninitialized~, throw a *ReferenceError* exception.
1140111389
1. Return _binding_.[[BoundValue]].
1140211390
</emu-alg>
1140311391
<emu-note>
@@ -11456,7 +11444,7 @@ <h1>
1145611444
<emu-alg>
1145711445
1. Assert: _envRec_.HasBinding(_N_) is *false*.
1145811446
1. Assert: When _M_.[[Environment]] is instantiated it will have a direct binding for _N2_.
11459-
1. Let _binding_ be ImportDeclarativeBindingRecord { [[BoundName]]: _N_, [[IsInitialized]]: *true*, [[BoundValue]]: *undefined*, [[IsMutable]]: *false*, [[IsDeletable]]: *false*, [[IsStrict]]: *false*, [[TargetModuleRec]]: _M_, [[TargetName]]: _N2_ }.
11447+
1. Let _binding_ be ImportDeclarativeBindingRecord { [[BoundName]]: _N_, [[BoundValue]]: *undefined*, [[IsMutable]]: *false*, [[IsDeletable]]: *false*, [[IsStrict]]: *false*, [[TargetModuleRec]]: _M_, [[TargetName]]: _N2_ }.
1146011448
1. Append _binding_ to _envRec_.[[Bindings]].
1146111449
1. Return NormalCompletion(~empty~).
1146211450
</emu-alg>
@@ -47540,7 +47528,7 @@ <h1>Changes to BlockDeclarationInstantiation</h1>
4754047528
<p>During BlockDeclarationInstantiation the following steps are performed in place of step <emu-xref href="#step-blockdeclarationinstantiation-initializebinding"></emu-xref>:</p>
4754147529
<emu-alg replaces-step="step-blockdeclarationinstantiation-initializebinding">
4754247530
1. Let _binding_ be the DeclarativeBindingRecord in _env_.[[Bindings]] whose [[BoundName]] field equals _fn_.
47543-
1. If _binding_.[[IsInitialized]] is *false*, then
47531+
1. If _binding_.[[BoundValue]] is ~uninitialized~, then
4754447532
1. Perform _env_.InitializeBinding(_fn_, _fo_).
4754547533
1. Else,
4754647534
1. Assert: _d_ is a |FunctionDeclaration|.

0 commit comments

Comments
 (0)