Name Description Size Coverage
12.6.4-1.js --- es5id: 12.6.4-1 description: > The for-in Statement - a property name must not be visited more than once in any enumeration. --- 935 -
12.6.4-2.js --- es5id: 12.6.4-2 description: > The for-in Statement - the values of [[Enumerable]] attributes are not considered when determining if a property of a prototype object is shadowed by a previous object on the prototype chain --- 925 -
cptn-decl-abrupt-empty.js --- es6id: 13.7.5.11 description: > Completion value when head has a declaration and iteration is cancelled info: | IterationStatement : for ( var ForBinding in Expression ) Statement 1. Let keyResult be ForIn/OfHeadEvaluation( « », Expression, enumerate). 2. ReturnIfAbrupt(keyResult). 3. Return ForIn/OfBodyEvaluation(ForBinding, Statement, keyResult, varBinding, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 2. Let V = undefined. [...] 5. Repeat a. Let nextResult be IteratorStep(iterator). b. ReturnIfAbrupt(nextResult). c. If nextResult is false, return NormalCompletion(V). [...] k. Let result be the result of evaluating stmt. [...] m. If LoopContinues(result, labelSet) is false, return IteratorClose(iterator, UpdateEmpty(result, V)). --- 1407 -
cptn-decl-itr.js --- es6id: 13.7.5.11 description: > Completion value when head has a declaration and iteration occurs info: | IterationStatement : for ( var ForBinding in Expression ) Statement 1. Let keyResult be ForIn/OfHeadEvaluation( « », Expression, enumerate). 2. ReturnIfAbrupt(keyResult). 3. Return ForIn/OfBodyEvaluation(ForBinding, Statement, keyResult, varBinding, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 2. Let V = undefined. [...] 5. Repeat a. Let nextResult be IteratorStep(iterator). b. ReturnIfAbrupt(nextResult). c. If nextResult is false, return NormalCompletion(V). [...] k. Let result be the result of evaluating stmt. [...] n. If result.[[value]] is not empty, let V be result.[[value]]. --- 1103 -
cptn-decl-skip-itr.js --- es6id: 13.7.5.11 description: > Completion value when head has a declaration and iteration is skipped info: | IterationStatement : for ( var ForBinding in Expression ) Statement 1. Let keyResult be ForIn/OfHeadEvaluation( « », Expression, enumerate). 2. ReturnIfAbrupt(keyResult). 13.7.5.12 Runtime Semantics: ForIn/OfHeadEvaluation [...] 7. If iterationKind is enumerate, then a. If exprValue.[[value]] is null or undefined, then i. Return Completion{[[type]]: break, [[value]]: empty, [[target]]: empty}. --- 997 -
cptn-decl-zero-itr.js --- es6id: 13.7.5.11 description: > Completion value when head has a declaration and no iteration occurs info: | IterationStatement : for ( var ForBinding in Expression ) Statement 1. Let keyResult be ForIn/OfHeadEvaluation( « », Expression, enumerate). 2. ReturnIfAbrupt(keyResult). 3. Return ForIn/OfBodyEvaluation(ForBinding, Statement, keyResult, varBinding, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 2. Let V = undefined. [...] 5. Repeat a. Let nextResult be IteratorStep(iterator). b. ReturnIfAbrupt(nextResult). c. If nextResult is false, return NormalCompletion(V). --- 950 -
cptn-expr-abrupt-empty.js --- es6id: 13.7.5.11 description: > Completion value when head has no declaration and iteration is cancelled info: | IterationStatement : for ( LeftHandSideExpression in Expression ) Statement 1. Let keyResult be ForIn/OfHeadEvaluation( « », Expression, enumerate). 2. ReturnIfAbrupt(keyResult). 3. Return ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 2. Let V = undefined. [...] 5. Repeat a. Let nextResult be IteratorStep(iterator). b. ReturnIfAbrupt(nextResult). c. If nextResult is false, return NormalCompletion(V). [...] k. Let result be the result of evaluating stmt. [...] m. If LoopContinues(result, labelSet) is false, return IteratorClose(iterator, UpdateEmpty(result, V)). --- 1440 -
cptn-expr-itr.js --- es6id: 13.7.5.11 description: > Completion value when head has no declaration and iteration occurs info: | IterationStatement : for ( LeftHandSideExpression in Expression ) Statement 1. Let keyResult be ForIn/OfHeadEvaluation( « », Expression, enumerate). 2. ReturnIfAbrupt(keyResult). 3. Return ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 2. Let V = undefined. [...] 5. Repeat a. Let nextResult be IteratorStep(iterator). b. ReturnIfAbrupt(nextResult). c. If nextResult is false, return NormalCompletion(V). [...] k. Let result be the result of evaluating stmt. [...] n. If result.[[value]] is not empty, let V be result.[[value]]. --- 1130 -
cptn-expr-skip-itr.js --- es6id: 13.7.5.11 description: > Completion value when head has no declaration and iteration is skipped info: | IterationStatement : for ( LeftHandSideExpression in Expression ) Statement 1. Let keyResult be ForIn/OfHeadEvaluation( « », Expression, enumerate). 2. ReturnIfAbrupt(keyResult). 13.7.5.12 Runtime Semantics: ForIn/OfHeadEvaluation [...] 7. If iterationKind is enumerate, then a. If exprValue.[[value]] is null or undefined, then i. Return Completion{[[type]]: break, [[value]]: empty, [[target]]: empty}. --- 1018 -
cptn-expr-zero-itr.js --- es6id: 13.7.5.11 description: > Completion value when head has no declaration and no iteration occurs info: | IterationStatement : for ( LeftHandSideExpression in Expression ) Statement 1. Let keyResult be ForIn/OfHeadEvaluation( « », Expression, enumerate). 2. ReturnIfAbrupt(keyResult). 3. Return ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 2. Let V = undefined. [...] 5. Repeat a. Let nextResult be IteratorStep(iterator). b. ReturnIfAbrupt(nextResult). c. If nextResult is false, return NormalCompletion(V). --- 977 -
decl-async-fun.js --- esid: sec-for-in-and-for-of-statements description: > AsyncFunctionDeclaration is not allowed in statement position info: | ExpressionStatement[Yield, Await] : [lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }] Expression[+In, ?Yield, ?Await] ; negative: phase: parse type: SyntaxError features: [async-functions] --- 609 -
decl-async-gen.js --- esid: sec-for-in-and-for-of-statements description: > AsyncGeneratorDeclaration is not allowed in statement position info: | ExpressionStatement[Yield, Await] : [lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }] Expression[+In, ?Yield, ?Await] ; negative: phase: parse type: SyntaxError features: [async-iteration] --- 611 -
decl-cls.js --- description: Class declaration not allowed in statement position esid: sec-for-in-and-for-of-statements es6id: 13.7.5 negative: phase: parse type: SyntaxError --- 402 -
decl-const.js --- description: Lexical declaration (const) not allowed in statement position esid: sec-for-in-and-for-of-statements es6id: 13.7.5 negative: phase: parse type: SyntaxError --- 417 -
decl-fun.js --- description: Function declaration not allowed in statement position esid: sec-for-in-and-for-of-statements es6id: 13.7.5 negative: phase: parse type: SyntaxError --- 410 -
decl-gen.js --- description: Generator declaration not allowed in statement position esid: sec-for-in-and-for-of-statements es6id: 13.7.5 negative: phase: parse type: SyntaxError features: [generators] --- 435 -
decl-let.js --- description: Lexical declaration (let) not allowed in statement position esid: sec-for-in-and-for-of-statements es6id: 13.7.5 negative: phase: parse type: SyntaxError --- 406 -
dstr-array-elem-init-yield-ident-invalid.js --- description: When a `yield` token appears within the Initializer of an AssignmentElement outside of a generator function body, it behaves as an IdentifierReference. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1346 -
dstr-array-elem-nested-array-invalid.js --- description: It is a Syntax Error if LeftHandSideExpression is either an ObjectLiteral or an ArrayLiteral and if the lexical token sequence matched by LeftHandSideExpression cannot be parsed with no tokens left over using AssignmentPattern as the goal symbol. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1424 -
dstr-array-elem-nested-array-yield-ident-invalid.js --- description: When a `yield` token appears within the DestructuringAssignmentTarget of a nested destructuring assignment outside of strict mode, it behaves as an IdentifierReference. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1372 -
dstr-array-elem-nested-obj-invalid.js --- description: It is a Syntax Error if LeftHandSideExpression is either an ObjectLiteral or an ArrayLiteral and if the lexical token sequence matched by LeftHandSideExpression cannot be parsed with no tokens left over using AssignmentPattern as the goal symbol. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1428 -
dstr-array-elem-nested-obj-yield-ident-invalid.js --- description: When a `yield` token appears within the Initializer of a nested destructuring assignment outside of a generator function body, it behaves as a IdentifierReference. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1368 -
dstr-array-elem-target-simple-strict.js --- description: It is a Syntax Error if LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral and IsValidSimpleAssignmentTarget(LeftHandSideExpression) is false. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1351 -
dstr-array-elem-target-yield-invalid.js --- description: When a `yield` token appears within the DestructuringAssignmentTarget of an AssignmentElement and outside of a generator function body, it behaves as an IdentifierReference. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1363 -
dstr-array-rest-before-element.js --- description: An AssignmentElement may not follow an AssignmentRestElement in an AssignmentElementList. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1258 -
dstr-array-rest-before-elision.js --- description: An elision may not follow an AssignmentRestElement in an AssignmentElementList. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1246 -
dstr-array-rest-before-rest.js --- description: An AssignmentRestElement may not follow another AssignmentRestElement in an AssignmentElementList. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1267 -
dstr-array-rest-elision-invalid.js --- description: ArrayAssignmentPattern may not include elisions following an AssignmentRestElement in a AssignmentElementList. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1278 -
dstr-array-rest-init.js --- description: The AssignmentRestElement does not support an initializer. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1225 -
dstr-array-rest-nested-array-invalid.js --- description: It is a Syntax Error if LeftHandSideExpression is either an ObjectLiteral or an ArrayLiteral and if the lexical token sequence matched by LeftHandSideExpression cannot be parsed with no tokens left over using AssignmentPattern as the goal symbol. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1427 -
dstr-array-rest-nested-array-yield-ident-invalid.js --- description: When a `yield` token appears within the DestructuringAssignmentTarget of a nested destructuring assignment and outside of a generator function body, it should behave as an IdentifierExpression. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1398 -
dstr-array-rest-nested-obj-invalid.js --- description: It is a Syntax Error if LeftHandSideExpression is either an ObjectLiteral or an ArrayLiteral and if the lexical token sequence matched by LeftHandSideExpression cannot be parsed with no tokens left over using AssignmentPattern as the goal symbol. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1431 -
dstr-array-rest-nested-obj-yield-ident-invalid.js --- description: When a `yield` token appears within the Initializer of a nested destructuring assignment and outside of a generator function body, it should behave as an IdentifierExpression. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1383 -
dstr-array-rest-yield-ident-invalid.js --- description: When a `yield` token appears within the DestructuringAssignmentTarget of an AssignmentRestElement and outside of a generator function body, it should behave as an IdentifierReference. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1385 -
dstr-obj-id-identifier-yield-expr.js --- description: yield is not a valid IdentifierReference in an AssignmentProperty within generator function bodies. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [generators, destructuring-binding] flags: [generated, noStrict] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1313 -
dstr-obj-id-identifier-yield-ident-invalid.js --- description: yield is not a valid IdentifierReference in an AssignmentProperty within strict mode code. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1283 -
dstr-obj-id-init-simple-strict.js --- description: It is a Syntax Error if IsValidSimpleAssignmentTarget of IdentifierReference is false. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1270 -
dstr-obj-id-init-yield-ident-invalid.js --- description: When a `yield` token appears within the Initializer of an AssignmentProperty and outside of a generator function body, it should behave as an IdentifierReference. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1353 -
dstr-obj-id-simple-strict.js --- description: It is a Syntax Error if IsValidSimpleAssignmentTarget of IdentifierReference is false. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1261 -
dstr-obj-prop-elem-init-yield-ident-invalid.js --- description: When a `yield` token appears within the Initializer of an AssignmentElement and outside of a generator function body, it should behave as an IdentifierReference. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1362 -
dstr-obj-prop-elem-target-yield-ident-invalid.js --- description: When a `yield` token appears within the DestructuringAssignmentTarget of an AssignmentElement and outside of a generator function body, it should behave as an IdentifierReference. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1381 -
dstr-obj-prop-nested-array-invalid.js --- description: It is a Syntax Error if LeftHandSideExpression is either an ObjectLiteral or an ArrayLiteral and if the lexical token sequence matched by LeftHandSideExpression cannot be parsed with no tokens left over using AssignmentPattern as the goal symbol. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1432 -
dstr-obj-prop-nested-array-yield-ident-invalid.js --- description: When a `yield` token appears within the Initializer of a nested destructuring assignment and outside of a generator function body, it should behave as an IdentifierReference. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1387 -
dstr-obj-prop-nested-obj-invalid.js --- description: It is a Syntax Error if LeftHandSideExpression is either an ObjectLiteral or an ArrayLiteral and if the lexical token sequence matched by LeftHandSideExpression cannot be parsed with no tokens left over using AssignmentPattern as the goal symbol. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1436 -
dstr-obj-prop-nested-obj-yield-ident-invalid.js --- description: When a `yield` token appears within the Initializer of a nested destructuring assignment and outside of a generator function body, it should behave as an IdentifierReference. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [destructuring-binding] flags: [generated, onlyStrict] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1387 -
dstr-obj-rest-not-last-element-invalid.js --- description: Object rest element needs to be the last AssignmenProperty in ObjectAssignmentPattern. (For..in statement) esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation es6id: 13.7.5.11 features: [object-rest, destructuring-binding] flags: [generated] negative: phase: parse type: SyntaxError info: | IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(« », AssignmentExpression, iterate). 2. Return ? ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, keyResult, assignment, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 4. If destructuring is true and if lhsKind is assignment, then a. Assert: lhs is a LeftHandSideExpression. b. Let assignmentPattern be the parse of the source text corresponding to lhs using AssignmentPattern as the goal symbol. [...] --- 1293 -
head-const-bound-names-dup.js --- description: The head's declaration may not contain duplicate entries negative: phase: parse type: SyntaxError info: | It is a Syntax Error if the BoundNames of ForDeclaration contains any duplicate entries. esid: sec-for-in-and-for-of-statements es6id: 13.7.5 --- 511 -
head-const-bound-names-fordecl-tdz.js --- es6id: 13.6.4.12_S2 description: > ForIn/Of: Bound names of ForDeclaration are in TDZ (for-of) --- 338 -
head-const-bound-names-in-stmt.js --- description: The body may not re-declare variables declared in the head negative: phase: parse type: SyntaxError info: | It is a Syntax Error if any element of the BoundNames of ForDeclaration also occurs in the VarDeclaredNames of Statement. esid: sec-for-in-and-for-of-statements es6id: 13.7.5 --- 551 -
head-const-bound-names-let.js --- description: The declaration may not contain a binding for `let` negative: phase: parse type: SyntaxError info: | It is a Syntax Error if the BoundNames of ForDeclaration contains "let". esid: sec-for-in-and-for-of-statements es6id: 13.7.5 flags: [noStrict] --- 501 -
head-const-fresh-binding-per-iteration.js --- es6id: 13.6.4.13 description: > const ForDeclaration: creates a fresh binding per iteration --- 361 -
head-decl-expr.js --- description: Expression is allowed in head info: | IterationStatement : for ( ForDeclaration in Expression ) Statement 1. Let keyResult be the result of performing ForIn/OfHeadEvaluation(BoundNames of ForDeclaration, Expression, enumerate). 2. ReturnIfAbrupt(keyResult). 3. Return ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, lexicalBinding, labelSet). es6id: 13.7.5.11 --- 713 -
head-expr-expr.js --- description: Expression is allowed in head info: | IterationStatement : for ( ForDeclaration in Expression ) Statement 1. Let keyResult be the result of performing ForIn/OfHeadEvaluation(BoundNames of ForDeclaration, Expression, enumerate). 2. ReturnIfAbrupt(keyResult). 3. Return ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, lexicalBinding, labelSet). es6id: 13.7.5.11 --- 716 -
head-let-bound-names-dup.js --- description: The head's declaration may not contain duplicate entries negative: phase: parse type: SyntaxError info: | It is a Syntax Error if the BoundNames of ForDeclaration contains any duplicate entries. esid: sec-for-in-and-for-of-statements-static-semantics-early-errors es6id: 13.7.5 --- 539 -
head-let-bound-names-fordecl-tdz.js --- es6id: 13.6.4.12_S2 description: > ForIn/Of: Bound names of ForDeclaration are in TDZ (for-of) --- 336 -
head-let-bound-names-in-stmt.js --- description: The body may not re-declare variables declared in the head negative: phase: parse type: SyntaxError info: | It is a Syntax Error if any element of the BoundNames of ForDeclaration also occurs in the VarDeclaredNames of Statement. esid: sec-for-in-and-for-of-statements-static-semantics-early-errors es6id: 13.7.5 --- 579 -
head-let-bound-names-let.js --- description: The declaration may not contain a binding for `let` negative: phase: parse type: SyntaxError info: | It is a Syntax Error if the BoundNames of ForDeclaration contains "let". flags: [noStrict] esid: sec-for-in-and-for-of-statements es6id: 13.7.5 --- 499 -
head-let-destructuring.js --- esid: sec-iteration-statements es6id: 13.7 description: > The token sequence `let [`is interpreted as the beginning of a destructuring binding pattern info: | Syntax IterationStatement[Yield, Return]: for ( [lookahead ∉ { let [ } ] LeftHandSideExpression[?Yield] in Expression[+In, ?Yield] ) Statement[?Yield, ?Return] for ( ForDeclaration[?Yield] in Expression[+In, ?Yield] ) Statement[?Yield, ?Return] --- 783 -
head-let-fresh-binding-per-iteration.js --- esid: sec-runtime-semantics-forin-div-ofbodyevaluation-lhs-stmt-iterator-lhskind-labelset es6id: 13.7.5.13 description: > let ForDeclaration: creates a fresh binding per iteration --- 951 -
head-lhs-cover-non-asnmt-trgt.js --- description: Head's LeftHandSideExpression must be a simple assignment target info: | It is a Syntax Error if IsValidSimpleAssignmentTarget of LeftHandSideExpression is false. It is a Syntax Error if the LeftHandSideExpression is CoverParenthesizedExpressionAndArrowParameterList : ( Expression ) and Expression derives a production that would produce a Syntax Error according to these rules if that production is substituted for LeftHandSideExpression. This rule is recursively applied. esid: sec-for-in-and-for-of-statements-static-semantics-early-errors es6id: 13.7.5 negative: phase: parse type: SyntaxError --- 878 -
head-lhs-cover.js --- description: > Head's AssignmentExpression may be CoverParenthesizedExpressionAndArrowParameterList esid: sec-for-in-and-for-of-statements-static-semantics-early-errors es6id: 13.7.5 --- 480 -
head-lhs-invalid-asnmt-ptrn-ary.js --- description: Invalid destructuring assignment pattern (array literal) info: | It is a Syntax Error if LeftHandSideExpression is either an ObjectLiteral or an ArrayLiteral and if the lexical token sequence matched by LeftHandSideExpression cannot be parsed with no tokens left over using AssignmentPattern as the goal symbol. esid: sec-for-in-and-for-of-statements-static-semantics-early-errors es6id: 13.7.5 negative: phase: parse type: SyntaxError --- 704 -
head-lhs-invalid-asnmt-ptrn-obj.js --- description: Invalid destructuring assignment pattern (object literal) info: | It is a Syntax Error if LeftHandSideExpression is either an ObjectLiteral or an ArrayLiteral and if the lexical token sequence matched by LeftHandSideExpression cannot be parsed with no tokens left over using AssignmentPattern as the goal symbol. esid: sec-for-in-and-for-of-statements-static-semantics-early-errors es6id: 13.7.5 negative: phase: parse type: SyntaxError --- 707 -
head-lhs-let.js --- esid: sec-iteration-statements es6id: 13.7 description: > The `let` token is interpreted as an Identifier when it is not followed by a `[` token info: | Syntax IterationStatement[Yield, Return]: for ( [lookahead ∉ { let [ } ] LeftHandSideExpression[?Yield] in Expression[+In, ?Yield] ) Statement[?Yield, ?Return] for ( ForDeclaration[?Yield] in Expression[+In, ?Yield] ) Statement[?Yield, ?Return] flags: [noStrict] --- 915 -
head-lhs-member.js --- description: > Head's AssignmentExpression may be a MemberExpression esid: sec-for-in-and-for-of-statements-static-semantics-early-errors es6id: 13.7.5 --- 456 -
head-lhs-non-asnmt-trgt.js --- description: Head's LeftHandSideExpression must be a simple assignment target info: | It is a Syntax Error if IsValidSimpleAssignmentTarget of LeftHandSideExpression is false. esid: sec-for-in-and-for-of-statements-static-semantics-early-errors es6id: 13.7.5 negative: phase: parse type: SyntaxError --- 543 -
head-var-bound-names-dup.js --- description: The head's declaration may contain duplicate entries esid: sec-for-in-and-for-of-statements-static-semantics-early-errors es6id: 13.7.5 --- 437 -
head-var-bound-names-in-stmt.js --- description: The body may re-declare variables declared in the head esid: sec-for-in-and-for-of-statements-static-semantics-early-errors es6id: 13.7.5 --- 448 -
head-var-bound-names-let.js --- description: The head's bound names may include "let" esid: sec-for-in-and-for-of-statements-static-semantics-early-errors es6id: 13.7.5 flags: [noStrict] --- 447 -
head-var-expr.js --- description: Expression is allowed in head info: | IterationStatement : for ( ForDeclaration in Expression ) Statement 1. Let keyResult be the result of performing ForIn/OfHeadEvaluation(BoundNames of ForDeclaration, Expression, enumerate). 2. ReturnIfAbrupt(keyResult). 3. Return ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, lexicalBinding, labelSet). es6id: 13.7.5.11 --- 713 -
identifier-let-allowed-as-lefthandside-expression-not-strict.js --- description: > identifier "let" allowed as lefthandside expression esid: sec-iteration-statements info: | for ( [ lookahead ∉ { let [ } ] LeftHandSideExpression [?Yield, ?Await] in Expression[+In, ?Yield, ? Await]) Statement[?Yield, ?Await, ?Return] flags: [noStrict] --- 450 -
labelled-fn-stmt-const.js --- description: It is a Syntax Error if IsLabelledFunction(Statement) is true. negative: phase: parse type: SyntaxError esid: sec-semantics-static-semantics-early-errors es6id: 13.7.1.1 info: | Although Annex B describes an extension which permits labelled function declarations outside of strict mode, this early error is applied regardless of the language mode. --- 639 -
labelled-fn-stmt-let.js --- description: It is a Syntax Error if IsLabelledFunction(Statement) is true. negative: phase: parse type: SyntaxError esid: sec-semantics-static-semantics-early-errors es6id: 13.7.1.1 info: | Although Annex B describes an extension which permits labelled function declarations outside of strict mode, this early error is applied regardless of the language mode. --- 637 -
labelled-fn-stmt-lhs.js --- description: It is a Syntax Error if IsLabelledFunction(Statement) is true. negative: phase: parse type: SyntaxError esid: sec-semantics-static-semantics-early-errors es6id: 13.7.1.1 info: | Although Annex B describes an extension which permits labelled function declarations outside of strict mode, this early error is applied regardless of the language mode. --- 633 -
labelled-fn-stmt-var.js --- description: It is a Syntax Error if IsLabelledFunction(Statement) is true. negative: phase: parse type: SyntaxError esid: sec-semantics-static-semantics-early-errors es6id: 13.7.1.1 info: | Although Annex B describes an extension which permits labelled function declarations outside of strict mode, this early error is applied regardless of the language mode. --- 637 -
let-array-with-newline.js --- esid: sec-for-in-and-for-of-statements description: > ExpressionStatement has a lookahead restriction for `let [`. info: | ExpressionStatement[Yield, Await] : [lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }] Expression[+In, ?Yield, ?Await] ; negative: phase: parse type: SyntaxError flags: [noStrict] --- 591 -
let-block-with-newline.js --- esid: sec-for-in-and-for-of-statements description: > ExpressionStatement doesn't have a lookahead restriction for `let {`. info: | ExpressionStatement[Yield, Await] : [lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }] Expression[+In, ?Yield, ?Await] ; flags: [noStrict] --- 497 -
let-identifier-with-newline.js --- esid: sec-for-in-and-for-of-statements description: > ExpressionStatement doesn't have a lookahead restriction for `let <binding-identifier>`. info: | ExpressionStatement[Yield, Await] : [lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }] Expression[+In, ?Yield, ?Await] ; flags: [noStrict] --- 520 -
S12.6.4_A1.js --- info: "\"for(key in undefined)\" Statement is allowed" es5id: 12.6.4_A1 description: Checking if execution of "for(key in undefined)" passes --- 862 -
S12.6.4_A2.js --- info: "\"for(key in null)\" Expression is allowed" es5id: 12.6.4_A2 description: Checking if execution of "for(key in null)" passes --- 842 -
S12.6.4_A3.1.js --- info: | The production IterationStatement: "for (var VariableDeclarationNoIn in Expression) Statement" es5id: 12.6.4_A3.1 description: > Using an array as an Expression is appropriate. Here Expression is an array of numbers --- 1194 -
S12.6.4_A3.js --- info: | The production IterationStatement: "for (var VariableDeclarationNoIn in Expression) Statement" es5id: 12.6.4_A3 description: > Using an array as an Expression is appropriate. Here Expression is an array of numbers. Eval is used --- 1207 -
S12.6.4_A4.1.js --- info: | The production IterationStatement: "for (var VariableDeclarationNoIn in Expression) Statement" es5id: 12.6.4_A4.1 description: Using Object as an Expression is appropriate. Eval is used --- 1211 -
S12.6.4_A4.js --- info: | The production IterationStatement: "for (var VariableDeclarationNoIn in Expression) Statement" es5id: 12.6.4_A4 description: Using Object as an Expression is appropriate. Eval is used --- 1210 -
S12.6.4_A5.1.js --- info: | The production IterationStatement: "for (var VariableDeclarationNoIn in Expression) Statement" es5id: 12.6.4_A5.1 description: > Using hierarchical Object as an Expression is appropriate. The depth is two --- 1254 -
S12.6.4_A5.js --- info: | The production IterationStatement: "for (var VariableDeclarationNoIn in Expression) Statement" es5id: 12.6.4_A5 description: > Using hierarchical Object as an Expression is appropriate. The depth is two --- 1258 -
S12.6.4_A6.1.js --- info: | The production IterationStatement: "for (var VariableDeclarationNoIn in Expression) Statement" es5id: 12.6.4_A6.1 description: > Using Object with custom prototype as an Expression is appropriate. The prototype is "{feat:2,hint:"protohint"}" --- 1401 -
S12.6.4_A6.js --- info: | The production IterationStatement: "for (var VariableDeclarationNoIn in Expression) Statement" es5id: 12.6.4_A6 description: > Using Object with custom prototype as an Expression is appropriate. The prototype is "{feat:2,hint:"protohint"}" --- 1400 -
S12.6.4_A7_T1.js --- info: | Properties of the object being enumerated may be deleted during enumeration es5id: 12.6.4_A7_T1 description: > Checking "for (LeftHandSideExpression in Expression) Statement" case --- 1337 -
S12.6.4_A7_T2.js --- info: | Properties of the object being enumerated may be deleted during enumeration es5id: 12.6.4_A7_T2 description: > Checking "for (var VariableDeclarationNoIn in Expression) Statement" case --- 1339 -
S12.6.4_A14_T2.js --- info: FunctionExpession within a "for-in" Expression is allowed es5id: 12.6.4_A14_T2 description: "Using \"function __func(){return {a:1};}()\" as Expession" --- 824 -
S12.6.4_A15.js --- info: Block within a "for-in" Expression is not allowed es5id: 12.6.4_A15 description: Using block within "for-in" Expression negative: phase: parse type: SyntaxError --- 600 -
scope-body-lex-boundary.js --- esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation description: > Creation of new lexical environment for each evaluation of the statement body info: | IterationStatement : for ( ForDeclaration of AssignmentExpression ) Statement [...] 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, lexicalBinding, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 5. Repeat [...] i. Let result be the result of evaluating stmt. j. Set the running execution context's LexicalEnvironment to oldEnv. k. If LoopContinues(result, labelSet) is false, return ? IteratorClose(iterator, UpdateEmpty(result, V)). l. If result.[[Value]] is not empty, let V be result.[[Value]]. features: [let] --- 1554 -
scope-body-lex-close.js --- esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation description: > Removal of lexical environment for the initial evaluation of the statement body info: | IterationStatement : for ( ForDeclaration of AssignmentExpression ) Statement [...] 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, lexicalBinding, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 5. Repeat [...] i. Let result be the result of evaluating stmt. j. Set the running execution context's LexicalEnvironment to oldEnv. k. If LoopContinues(result, labelSet) is false, return ? IteratorClose(iterator, UpdateEmpty(result, V)). l. If result.[[Value]] is not empty, let V be result.[[Value]]. features: [let] --- 1319 -
scope-body-lex-open.js --- esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation description: > Creation of new lexical environment for the initial evaluation of the statement body info: | IterationStatement : for ( ForDeclaration of AssignmentExpression ) Statement [...] 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, lexicalBinding, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 5. Repeat [...] d. If lhsKind is either assignment or varBinding, then [...] e. Else, i. Assert: lhsKind is lexicalBinding. ii. Assert: lhs is a ForDeclaration. iii. Let iterationEnv be NewDeclarativeEnvironment(oldEnv). iv. Perform BindingInstantiation for lhs passing iterationEnv as the argument. v. Set the running execution context's LexicalEnvironment to iterationEnv. [...] features: [let] --- 1618 -
scope-body-var-none.js --- esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation description: No variable environment is created for the statement body info: | IterationStatement : for ( ForDeclaration of AssignmentExpression ) Statement [...] 2. Return ? ForIn/OfBodyEvaluation(ForDeclaration, Statement, keyResult, lexicalBinding, labelSet). 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation [...] 5. Repeat [...] d. If lhsKind is either assignment or varBinding, then [...] e. Else, i. Assert: lhsKind is lexicalBinding. ii. Assert: lhs is a ForDeclaration. iii. Let iterationEnv be NewDeclarativeEnvironment(oldEnv). iv. Perform BindingInstantiation for lhs passing iterationEnv as the argument. v. Set the running execution context's LexicalEnvironment to iterationEnv. [...] features: [let] --- 1698 -
scope-head-lex-close.js --- esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation description: > Removal of lexical environment to serve as a temporal dead zone for the statement's AssignmentExpresson info: | IterationStatement : for ( ForDeclaration of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(BoundNames of ForDeclaration, AssignmentExpression, iterate). [...] 13.7.5.12 Runtime Semantics: ForIn/OfHeadEvaluation [...] 2. If TDZnames is not an empty List, then a. Assert: TDZnames has no duplicate entries. b. Let TDZ be NewDeclarativeEnvironment(oldEnv). c. Let TDZEnvRec be TDZ's EnvironmentRecord. d. For each string name in TDZnames, do i. Perform ! TDZEnvRec.CreateMutableBinding(name, false). e. Set the running execution context's LexicalEnvironment to TDZ. 3. Let exprRef be the result of evaluating expr. 4. Set the running execution context's LexicalEnvironment to oldEnv. [...] features: [let] --- 1617 -
scope-head-lex-open.js --- esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation description: > Creation of new lexical environment to serve as a temporal dead zone for the statement's AssignmentExpresson info: | IterationStatement : for ( ForDeclaration of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(BoundNames of ForDeclaration, AssignmentExpression, iterate). [...] 13.7.5.12 Runtime Semantics: ForIn/OfHeadEvaluation [...] 2. If TDZnames is not an empty List, then a. Assert: TDZnames has no duplicate entries. b. Let TDZ be NewDeclarativeEnvironment(oldEnv). c. Let TDZEnvRec be TDZ's EnvironmentRecord. d. For each string name in TDZnames, do i. Perform ! TDZEnvRec.CreateMutableBinding(name, false). e. Set the running execution context's LexicalEnvironment to TDZ. 3. Let exprRef be the result of evaluating expr. [...] features: [let] --- 1378 -
scope-head-var-none.js --- esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation description: > No variable environment is created for the statement "head" info: | IterationStatement : for ( ForDeclaration of AssignmentExpression ) Statement 1. Let keyResult be the result of performing ? ForIn/OfHeadEvaluation(BoundNames of ForDeclaration, AssignmentExpression, iterate). [...] 13.7.5.12 Runtime Semantics: ForIn/OfHeadEvaluation [...] 2. If TDZnames is not an empty List, then a. Assert: TDZnames has no duplicate entries. b. Let TDZ be NewDeclarativeEnvironment(oldEnv). c. Let TDZEnvRec be TDZ's EnvironmentRecord. d. For each string name in TDZnames, do i. Perform ! TDZEnvRec.CreateMutableBinding(name, false). e. Set the running execution context's LexicalEnvironment to TDZ. 3. Let exprRef be the result of evaluating expr. [...] flags: [noStrict] --- 1708 -