@@ -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