Name Description Size
block-decl-strict-strict.js --- description: AnnexB extension not honored in strict mode (Block statement in the global scope containing a function declaration) es6id: B.3.3.2 flags: [onlyStrict] info: | B.3.3.2 Changes to GlobalDeclarationInstantiation 1. 1. Let strict be IsStrict of script 2. If strict is *false*, then [...] --- 634
browser.js 0
decl-func-dup.js --- es6id: 13.1 description: > redeclaration outermost: allowed to redeclare function declaration with function declaration --- 381
decl-func.js --- esid: sec-globaldeclarationinstantiation es6id: 15.1.8 description: Declaration of function where permissible info: | [...] 9. Let declaredFunctionNames be a new empty List. 10. For each d in varDeclarations, in reverse list order do a. If d is neither a VariableDeclaration or a ForBinding, then i. Assert: d is either a FunctionDeclaration or a GeneratorDeclaration. ii. NOTE If there are multiple FunctionDeclarations for the same name, the last declaration is used. iii. Let fn be the sole element of the BoundNames of d. iv. If fn is not an element of declaredFunctionNames, then 1. Let fnDefinable be ? envRec.CanDeclareGlobalFunction(fn). 2. If fnDefinable is false, throw a TypeError exception. 3. Append fn to declaredFunctionNames. 4. Insert d as the first element of functionsToInitialize. [...] 17. For each production f in functionsToInitialize, do a. Let fn be the sole element of the BoundNames of f. b. Let fo be the result of performing InstantiateFunctionObject for f with argument env. c. Perform ? envRec.CreateGlobalFunctionBinding(fn, fo, false). [...] 8.1.1.4.16 CanDeclareGlobalFunction 1. Let envRec be the global Environment Record for which the method was invoked. 2. Let ObjRec be envRec.[[ObjectRecord]]. 3. Let globalObject be the binding object for ObjRec. 4. Let existingProp be ? globalObject.[[GetOwnProperty]](N). 5. If existingProp is undefined, return ? IsExtensible(globalObject). includes: [propertyHelper.js] --- 2020
decl-lex-configurable-global.js --- esid: sec-globaldeclarationinstantiation es6id: 15.1.8 description: Lexical declarations "shadow" configurable global properties info: | [...] 5. For each name in lexNames, do [...] c. Let hasRestrictedGlobal be ? envRec.HasRestrictedGlobalProperty(name). d. If hasRestrictedGlobal is true, throw a SyntaxError exception. [...] 16. For each element d in lexDeclarations do a. NOTE Lexically declared names are only instantiated here but not initialized. b. For each element dn of the BoundNames of d do i. If IsConstantDeclaration of d is true, then 1. Perform ? envRec.CreateImmutableBinding(dn, true). ii. Else, 1. Perform ? envRec.CreateMutableBinding(dn, false). --- 1266
decl-lex-deletion.js --- esid: sec-globaldeclarationinstantiation es6id: 15.1.8 description: Globally-declared lexical bindings cannot be deleted info: | [...] 16. For each element d in lexDeclarations do a. NOTE Lexically declared names are only instantiated here but not initialized. b. For each element dn of the BoundNames of d do i. If IsConstantDeclaration of d is true, then 1. Perform ? envRec.CreateImmutableBinding(dn, true). ii. Else, 1. Perform ? envRec.CreateMutableBinding(dn, false). [...] flags: [noStrict] --- 1059
decl-lex-restricted-global.js --- esid: sec-globaldeclarationinstantiation es6id: 15.1.8 description: Lexical declaration collides with existing "restricted global" info: | [...] 5. For each name in lexNames, do [...] c. Let hasRestrictedGlobal be ? envRec.HasRestrictedGlobalProperty(name). d. If hasRestrictedGlobal is true, throw a SyntaxError exception. negative: phase: runtime type: SyntaxError --- 587
decl-lex.js --- esid: sec-globaldeclarationinstantiation es6id: 15.1.8 description: Declaration of lexical bindings info: | [...] 16. For each element d in lexDeclarations do a. NOTE Lexically declared names are only instantiated here but not initialized. b. For each element dn of the BoundNames of d do i. If IsConstantDeclaration of d is true, then 1. Perform ? envRec.CreateImmutableBinding(dn, true). ii. Else, 1. Perform ? envRec.CreateMutableBinding(dn, false). [...] --- 1476
decl-var.js --- esid: sec-globaldeclarationinstantiation es6id: 15.1.8 description: Declaration of variable where permissible info: | [...] 11. Let declaredVarNames be a new empty List. 12. For each d in varDeclarations, do a. If d is a VariableDeclaration or a ForBinding, then i. For each String vn in the BoundNames of d, do 1. If vn is not an element of declaredFunctionNames, then a. Let vnDefinable be ? envRec.CanDeclareGlobalVar(vn). b. If vnDefinable is false, throw a TypeError exception. c. If vn is not an element of declaredVarNames, then i. Append vn to declaredVarNames. [...] 18. For each String vn in declaredVarNames, in list order do a. Perform ? envRec.CreateGlobalVarBinding(vn, false). [...] 8.1.1.4.15 CanDeclareGlobalVar 1. Let envRec be the global Environment Record for which the method was invoked. 2. Let ObjRec be envRec.[[ObjectRecord]]. 3. Let globalObject be the binding object for ObjRec. 4. Let hasProperty be ? HasOwnProperty(globalObject, N). 5. If hasProperty is true, return true. 6. Return ? IsExtensible(globalObject). includes: [propertyHelper.js] --- 1510
export.js --- description: The `export` declaration may not appear within a ScriptBody esid: sec-scripts negative: phase: parse type: SyntaxError info: | A.5 Scripts and Modules Script: ScriptBodyopt ScriptBody: StatementList --- 473
import.js --- description: The `import` declaration may not appear within a ScriptBody esid: sec-scripts negative: phase: parse type: SyntaxError info: | A.5 Scripts and Modules Script: ScriptBodyopt ScriptBody: StatementList --- 481
invalid-private-names-call-expression-bad-reference.js --- description: bad reference in call expression (Invalid private names should throw a SyntaxError, top level of script body) esid: sec-static-semantics-early-errors features: [class-fields-private] flags: [generated] negative: phase: parse type: SyntaxError info: | ScriptBody:StatementList It is a Syntax Error if AllPrivateNamesValid of StatementList with an empty List as an argument is false unless the source code is eval code that is being processed by a direct eval. ModuleBody:ModuleItemList It is a Syntax Error if AllPrivateNamesValid of ModuleItemList with an empty List as an argument is false. Static Semantics: AllPrivateNamesValid MemberExpression : MemberExpression . PrivateName 1. If StringValue of PrivateName is in names, return true. 2. Return false. CallExpression : CallExpression . PrivateName 1. If StringValue of PrivateName is in names, return true. 2. Return false. --- 1253
invalid-private-names-call-expression-this.js --- description: this evaluated in call expression (Invalid private names should throw a SyntaxError, top level of script body) esid: sec-static-semantics-early-errors features: [class-fields-private] flags: [generated] negative: phase: parse type: SyntaxError info: | ScriptBody:StatementList It is a Syntax Error if AllPrivateNamesValid of StatementList with an empty List as an argument is false unless the source code is eval code that is being processed by a direct eval. ModuleBody:ModuleItemList It is a Syntax Error if AllPrivateNamesValid of ModuleItemList with an empty List as an argument is false. Static Semantics: AllPrivateNamesValid MemberExpression : MemberExpression . PrivateName 1. If StringValue of PrivateName is in names, return true. 2. Return false. CallExpression : CallExpression . PrivateName 1. If StringValue of PrivateName is in names, return true. 2. Return false. --- 1247
invalid-private-names-member-expression-bad-reference.js --- description: bad reference in member expression (Invalid private names should throw a SyntaxError, top level of script body) esid: sec-static-semantics-early-errors features: [class-fields-private] flags: [generated] negative: phase: parse type: SyntaxError info: | ScriptBody:StatementList It is a Syntax Error if AllPrivateNamesValid of StatementList with an empty List as an argument is false unless the source code is eval code that is being processed by a direct eval. ModuleBody:ModuleItemList It is a Syntax Error if AllPrivateNamesValid of ModuleItemList with an empty List as an argument is false. Static Semantics: AllPrivateNamesValid MemberExpression : MemberExpression . PrivateName 1. If StringValue of PrivateName is in names, return true. 2. Return false. CallExpression : CallExpression . PrivateName 1. If StringValue of PrivateName is in names, return true. 2. Return false. --- 1254
invalid-private-names-member-expression-this.js --- description: this reference in member expression (Invalid private names should throw a SyntaxError, top level of script body) esid: sec-static-semantics-early-errors features: [class-fields-private] flags: [generated] negative: phase: parse type: SyntaxError info: | ScriptBody:StatementList It is a Syntax Error if AllPrivateNamesValid of StatementList with an empty List as an argument is false unless the source code is eval code that is being processed by a direct eval. ModuleBody:ModuleItemList It is a Syntax Error if AllPrivateNamesValid of ModuleItemList with an empty List as an argument is false. Static Semantics: AllPrivateNamesValid MemberExpression : MemberExpression . PrivateName 1. If StringValue of PrivateName is in names, return true. 2. Return false. CallExpression : CallExpression . PrivateName 1. If StringValue of PrivateName is in names, return true. 2. Return false. --- 1241
new.target-arrow.js --- esid: sec-scripts-static-semantics-early-errors es6id: 15.1.1 description: An ArrowFunction in global code may not contain `new.target` info: | - It is a Syntax Error if StatementList Contains NewTarget unless the source code containing NewTarget is eval code that is being processed by a direct eval that is contained in function code that is not the function code of an ArrowFunction. 14.2.3 Static Semantics: Contains With parameter symbol. ArrowFunction : ArrowParameters => ConciseBody 1. If symbol is not one of NewTarget, SuperProperty, SuperCall, super or this, return false. 2. If ArrowParameters Contains symbol is true, return true. 3. Return ConciseBody Contains symbol. NOTE Normally, Contains does not look inside most function forms. However, Contains is used to detect new.target, this, and super usage within an ArrowFunction. features: [arrow-function, new.target] negative: phase: parse type: SyntaxError --- 1206
new.target.js --- esid: sec-scripts-static-semantics-early-errors es6id: 15.1.1 description: Global code may not contain `new.target` info: | - It is a Syntax Error if StatementList Contains NewTarget unless the source code containing NewTarget is eval code that is being processed by a direct eval that is contained in function code that is not the function code of an ArrowFunction. negative: phase: parse type: SyntaxError features: [new.target] --- 662
return.js --- esid: sec-scripts es6id: 15.1 description: ReturnStatement may not be used directly within global code info: | Syntax Script : ScriptBodyopt ScriptBody : StatementList[~Yield, ~Return] negative: phase: parse type: SyntaxError --- 455
S10.1.7_A1_T1.js --- info: The this value associated with an executioncontext is immutable es5id: 10.1.7_A1_T1 description: Checking if deleting "this" fails --- 464
S10.4.1_A1_T1.js --- info: | Variable instantiation is performed using the global object as the variable object and using property attributes { DontDelete } es5id: 10.4.1_A1_T1 description: > Checking if deleting variable x, that is defined as var x = 1, fails flags: [noStrict] --- 661
S10.4.1_A1_T2.js --- info: | Variable instantiation is performed using the global object as the variable object and using property attributes { DontDelete } es5id: 10.4.1_A1_T2 description: Checking if deleting variable x, that is defined as x = 1, fails flags: [noStrict] --- 642
script-decl-func-dups.js --- esid: sec-globaldeclarationinstantiation es6id: 15.1.8 description: > When multiple like-named function declarations exist, the final is assigned to the new binding. info: | [...] 9. Let declaredFunctionNames be a new empty List. 10. For each d in varDeclarations, in reverse list order do a. If d is neither a VariableDeclaration or a ForBinding, then i. Assert: d is either a FunctionDeclaration or a GeneratorDeclaration. ii. NOTE If there are multiple FunctionDeclarations for the same name, the last declaration is used. iii. Let fn be the sole element of the BoundNames of d. iv. If fn is not an element of declaredFunctionNames, then 1. Let fnDefinable be ? envRec.CanDeclareGlobalFunction(fn). 2. If fnDefinable is false, throw a TypeError exception. 3. Append fn to declaredFunctionNames. 4. Insert d as the first element of functionsToInitialize. [...] --- 1315
script-decl-func-err-non-configurable.js --- esid: sec-globaldeclarationinstantiation es6id: 15.1.8 description: > Declaration of function when there is a corresponding global property that is non-configurable but *not* a writable and configurable data property. info: | [...] 9. Let declaredFunctionNames be a new empty List. 10. For each d in varDeclarations, in reverse list order do a. If d is neither a VariableDeclaration or a ForBinding, then i. Assert: d is either a FunctionDeclaration or a GeneratorDeclaration. ii. NOTE If there are multiple FunctionDeclarations for the same name, the last declaration is used. iii. Let fn be the sole element of the BoundNames of d. iv. If fn is not an element of declaredFunctionNames, then 1. Let fnDefinable be ? envRec.CanDeclareGlobalFunction(fn). 2. If fnDefinable is false, throw a TypeError exception. 8.1.1.4.16 CanDeclareGlobalFunction [...] 6. If existingProp.[[Configurable]] is true, return true. 7. If IsDataDescriptor(existingProp) is true and existingProp has attribute values {[[Writable]]: true, [[Enumerable]]: true}, return true. 8. Return false. --- 3266
script-decl-func-err-non-extensible.js --- esid: sec-globaldeclarationinstantiation es6id: 15.1.8 description: > Declaration of function when there is no corresponding global property and the global object is non-extensible info: | [...] 9. Let declaredFunctionNames be a new empty List. 10. For each d in varDeclarations, in reverse list order do a. If d is neither a VariableDeclaration or a ForBinding, then i. Assert: d is either a FunctionDeclaration or a GeneratorDeclaration. ii. NOTE If there are multiple FunctionDeclarations for the same name, the last declaration is used. iii. Let fn be the sole element of the BoundNames of d. iv. If fn is not an element of declaredFunctionNames, then 1. Let fnDefinable be ? envRec.CanDeclareGlobalFunction(fn). 2. If fnDefinable is false, throw a TypeError exception. 8.1.1.4.16 CanDeclareGlobalFunction 1. Let envRec be the global Environment Record for which the method was invoked. 2. Let ObjRec be envRec.[[ObjectRecord]]. 3. Let globalObject be the binding object for ObjRec. 4. Let existingProp be ? globalObject.[[GetOwnProperty]](N). 5. If existingProp is undefined, return ? IsExtensible(globalObject). --- 1608
script-decl-func.js --- esid: sec-globaldeclarationinstantiation es6id: 15.1.8 description: Declaration of function where permissible info: | [...] 9. Let declaredFunctionNames be a new empty List. 10. For each d in varDeclarations, in reverse list order do a. If d is neither a VariableDeclaration or a ForBinding, then i. Assert: d is either a FunctionDeclaration or a GeneratorDeclaration. ii. NOTE If there are multiple FunctionDeclarations for the same name, the last declaration is used. iii. Let fn be the sole element of the BoundNames of d. iv. If fn is not an element of declaredFunctionNames, then 1. Let fnDefinable be ? envRec.CanDeclareGlobalFunction(fn). 2. If fnDefinable is false, throw a TypeError exception. 3. Append fn to declaredFunctionNames. 4. Insert d as the first element of functionsToInitialize. [...] 17. For each production f in functionsToInitialize, do a. Let fn be the sole element of the BoundNames of f. b. Let fo be the result of performing InstantiateFunctionObject for f with argument env. c. Perform ? envRec.CreateGlobalFunctionBinding(fn, fo, false). [...] 8.1.1.4.16 CanDeclareGlobalFunction 1. Let envRec be the global Environment Record for which the method was invoked. 2. Let ObjRec be envRec.[[ObjectRecord]]. 3. Let globalObject be the binding object for ObjRec. 4. Let existingProp be ? globalObject.[[GetOwnProperty]](N). 5. If existingProp is undefined, return ? IsExtensible(globalObject). includes: [propertyHelper.js] --- 2947
script-decl-lex-deletion.js --- esid: sec-globaldeclarationinstantiation es6id: 15.1.8 description: Globally-declared lexical bindings cannot be deleted info: | [...] 16. For each element d in lexDeclarations do a. NOTE Lexically declared names are only instantiated here but not initialized. b. For each element dn of the BoundNames of d do i. If IsConstantDeclaration of d is true, then 1. Perform ? envRec.CreateImmutableBinding(dn, true). ii. Else, 1. Perform ? envRec.CreateMutableBinding(dn, false). [...] flags: [noStrict] --- 1119
script-decl-lex-lex.js --- esid: sec-globaldeclarationinstantiation es6id: 15.1.8 description: Let binding collision with existing lexical declaration info: | [...] 5. For each name in lexNames, do a. If envRec.HasVarDeclaration(name) is true, throw a SyntaxError exception. b. If envRec.HasLexicalDeclaration(name) is true, throw a SyntaxError exception. --- 1281
script-decl-lex-restricted-global.js --- esid: sec-globaldeclarationinstantiation es6id: 15.1.8 description: > Let binding collision with non-configurable global property (not defined through a declaration) info: | [...] 5. For each name in lexNames, do a. If envRec.HasVarDeclaration(name) is true, throw a SyntaxError exception. b. If envRec.HasLexicalDeclaration(name) is true, throw a SyntaxError exception. c. Let hasRestrictedGlobal be ? envRec.HasRestrictedGlobalProperty(name). d. If hasRestrictedGlobal is true, throw a SyntaxError exception. --- 1085
script-decl-lex-var-declared-via-eval.js --- esid: sec-globaldeclarationinstantiation description: No let binding collision with existing var declaration due to eval(). info: | In strict mode: PerformEval ( x, strictCaller, direct ) [...] 16. If direct is true, then a. Let lexEnv be NewDeclarativeEnvironment(runningContext's LexicalEnvironment). [...] 18. If strictEval is true, set varEnv to lexEnv. In sloppy mode: GlobalDeclarationInstantiation ( script, env ) [...] 3. For each element name of lexNames, do a. If env.HasLexicalDeclaration(name) is true, throw a SyntaxError exception. b. Let hasRestrictedGlobal be ? env.HasRestrictedGlobalProperty(name). c. NOTE: Global var and function bindings (except those that are introduced by non-strict direct eval) are non-configurable and are therefore restricted global properties. d. If hasRestrictedGlobal is true, throw a SyntaxError exception. --- 1271
script-decl-lex-var.js --- esid: sec-globaldeclarationinstantiation es6id: 15.1.8 description: Let binding collision with existing var declaration info: | [...] 5. For each name in lexNames, do a. If envRec.HasVarDeclaration(name) is true, throw a SyntaxError exception. --- 885
script-decl-lex.js --- esid: sec-globaldeclarationinstantiation es6id: 15.1.8 description: Declaration of lexical bindings info: | [...] 16. For each element d in lexDeclarations do a. NOTE Lexically declared names are only instantiated here but not initialized. b. For each element dn of the BoundNames of d do i. If IsConstantDeclaration of d is true, then 1. Perform ? envRec.CreateImmutableBinding(dn, true). ii. Else, 1. Perform ? envRec.CreateMutableBinding(dn, false). [...] --- 1658
script-decl-var-collision.js --- esid: sec-globaldeclarationinstantiation es6id: 15.1.8 description: Var binding collision with existing lexical declaration info: | [...] 6. For each name in varNames, do a. If envRec.HasLexicalDeclaration(name) is true, throw a SyntaxError exception. --- 2095
script-decl-var-err.js --- esid: sec-globaldeclarationinstantiation es6id: 15.1.8 description: > Declaration of variable when there is no corresponding global property and the global object is non-extensible info: | [...] 11. Let declaredVarNames be a new empty List. 12. For each d in varDeclarations, do a. If d is a VariableDeclaration or a ForBinding, then i. For each String vn in the BoundNames of d, do 1. If vn is not an element of declaredFunctionNames, then a. Let vnDefinable be ? envRec.CanDeclareGlobalVar(vn). b. If vnDefinable is false, throw a TypeError exception. c. If vn is not an element of declaredVarNames, then i. Append vn to declaredVarNames. 8.1.1.4.15 CanDeclareGlobalVar 1. Let envRec be the global Environment Record for which the method was invoked. 2. Let ObjRec be envRec.[[ObjectRecord]]. 3. Let globalObject be the binding object for ObjRec. 4. Let hasProperty be ? HasOwnProperty(globalObject, N). 5. If hasProperty is true, return true. 6. Return ? IsExtensible(globalObject). --- 1467
script-decl-var.js --- esid: sec-globaldeclarationinstantiation es6id: 15.1.8 description: Declaration of variable where permissible info: | [...] 11. Let declaredVarNames be a new empty List. 12. For each d in varDeclarations, do a. If d is a VariableDeclaration or a ForBinding, then i. For each String vn in the BoundNames of d, do 1. If vn is not an element of declaredFunctionNames, then a. Let vnDefinable be ? envRec.CanDeclareGlobalVar(vn). b. If vnDefinable is false, throw a TypeError exception. c. If vn is not an element of declaredVarNames, then i. Append vn to declaredVarNames. [...] 18. For each String vn in declaredVarNames, in list order do a. Perform ? envRec.CreateGlobalVarBinding(vn, false). [...] 8.1.1.4.15 CanDeclareGlobalVar 1. Let envRec be the global Environment Record for which the method was invoked. 2. Let ObjRec be envRec.[[ObjectRecord]]. 3. Let globalObject be the binding object for ObjRec. 4. Let hasProperty be ? HasOwnProperty(globalObject, N). 5. If hasProperty is true, return true. 6. Return ? IsExtensible(globalObject). includes: [propertyHelper.js] --- 2263
shell.js 0
super-call-arrow.js --- esid: sec-scripts-static-semantics-early-errors es6id: 15.1.1 description: An ArrowFunction in global code may not contain SuperCall info: | - It is a Syntax Error if StatementList Contains super unless the source code containing super is eval code that is being processed by a direct eval that is contained in function code that is not the function code of an ArrowFunction. 14.2.3 Static Semantics: Contains With parameter symbol. ArrowFunction : ArrowParameters => ConciseBody 1. If symbol is not one of NewTarget, SuperProperty, SuperCall, super or this, return false. 2. If ArrowParameters Contains symbol is true, return true. 3. Return ConciseBody Contains symbol. NOTE Normally, Contains does not look inside most function forms. However, Contains is used to detect new.target, this, and super usage within an ArrowFunction. features: [super, arrow-function] negative: phase: parse type: SyntaxError --- 1187
super-call.js --- esid: sec-scripts-static-semantics-early-errors es6id: 15.1.1 description: Global code may not contain SuperCall info: | - It is a Syntax Error if StatementList Contains super unless the source code containing super is eval code that is being processed by a direct eval that is contained in function code that is not the function code of an ArrowFunction. negative: phase: parse type: SyntaxError features: [super] --- 643
super-prop-arrow.js --- esid: sec-scripts-static-semantics-early-errors es6id: 15.1.1 description: An ArrowFunction in global code may not contain SuperProperty info: | - It is a Syntax Error if StatementList Contains super unless the source code containing super is eval code that is being processed by a direct eval that is contained in function code that is not the function code of an ArrowFunction. 14.2.3 Static Semantics: Contains With parameter symbol. ArrowFunction : ArrowParameters => ConciseBody 1. If symbol is not one of NewTarget, SuperProperty, SuperCall, super or this, return false. 2. If ArrowParameters Contains symbol is true, return true. 3. Return ConciseBody Contains symbol. NOTE Normally, Contains does not look inside most function forms. However, Contains is used to detect new.target, this, and super usage within an ArrowFunction. features: [super, arrow-function] negative: phase: parse type: SyntaxError --- 1198
super-prop.js --- esid: sec-scripts-static-semantics-early-errors es6id: 15.1.1 description: Global code may not contain SuperProperty info: | - It is a Syntax Error if StatementList Contains super unless the source code containing super is eval code that is being processed by a direct eval that is contained in function code that is not the function code of an ArrowFunction. negative: phase: parse type: SyntaxError features: [super] --- 654
switch-case-decl-strict-strict.js --- description: AnnexB extension not honored in strict mode (Function declaration in the `case` clause of a `switch` statement in the global scope) es6id: B.3.3.2 flags: [onlyStrict] info: | B.3.3.2 Changes to GlobalDeclarationInstantiation 1. 1. Let strict be IsStrict of script 2. If strict is *false*, then [...] --- 673
switch-dflt-decl-strict-strict.js --- description: AnnexB extension not honored in strict mode (Funtion declaration in the `default` clause of a `switch` statement in the global scope) es6id: B.3.3.2 flags: [onlyStrict] info: | B.3.3.2 Changes to GlobalDeclarationInstantiation 1. 1. Let strict be IsStrict of script 2. If strict is *false*, then [...] --- 676
unscopables-ignored.js --- esid: sec-global-environment-records-hasbinding-n es6id: 8.1.1.4.1 description: > Symbol.unscopables is not referenced for the object environment of the global environment record info: | 1. Let envRec be the global Environment Record for which the method was invoked. 2. Let DclRec be envRec.[[DeclarativeRecord]]. 3. If DclRec.HasBinding(N) is true, return true. 4. Let ObjRec be envRec.[[ObjectRecord]]. 5. Return ? ObjRec.HasBinding(N). 8.1.1.2.1 HasBinding 1. Let envRec be the object Environment Record for which the method was invoked. 2. Let bindings be the binding object for envRec. 3. Let foundBinding be ? HasProperty(bindings, N). 4. If foundBinding is false, return false. 5. If the withEnvironment flag of envRec is false, return true. 6. Let unscopables be ? Get(bindings, @@unscopables). 7. If Type(unscopables) is Object, then a. Let blocked be ToBoolean(? Get(unscopables, N)). b. If blocked is true, return false. 8. Return true. features: [Symbol.unscopables] --- 1449
yield-non-strict.js --- esid: sec-scripts es6id: 15.1 description: > The `yield` token is interpreted as an Identifier when it appears in global code (non-strict mode) info: | Syntax Script : ScriptBodyopt ScriptBody : StatementList[~Yield, ~Return] flags: [noStrict] --- 574
yield-strict-strict.js --- esid: sec-scripts es6id: 15.1 description: > The `yield` token is interpreted as an Identifier when it appears in global code (strict mode) info: | Syntax Script : ScriptBodyopt ScriptBody : StatementList[~Yield, ~Return] flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 529