Name Description Size
12.6.3_2-3-a-ii-1.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-1 description: > The for Statement - (normal, V, empty) will be returned when first Expression is an Object with value false --- 707
12.6.3_2-3-a-ii-2.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-2 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a Boolean object --- 706
12.6.3_2-3-a-ii-3.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-3 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a Number object (value is NaN) --- 715
12.6.3_2-3-a-ii-4.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-4 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a Number object (value is +0) --- 713
12.6.3_2-3-a-ii-5.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-5 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a Number object (value is -0) --- 713
12.6.3_2-3-a-ii-6.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-6 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a Number object (value is a positive) --- 721
12.6.3_2-3-a-ii-7.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-7 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a String object (value is empty string) --- 723
12.6.3_2-3-a-ii-8.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-8 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a String object (value is 'undefined') --- 731
12.6.3_2-3-a-ii-9.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-9 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a String object (value is 'null') --- 721
12.6.3_2-3-a-ii-10.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-10 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a String object (value is '1') --- 716
12.6.3_2-3-a-ii-11.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-11 description: > The for Statement - (normal, V, empty) will be returned when first Expression is undefined --- 624
12.6.3_2-3-a-ii-12.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-12 description: > The for Statement - (normal, V, empty) will be returned when first Expression is null --- 614
12.6.3_2-3-a-ii-13.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-13 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a boolean (value is false) --- 637
12.6.3_2-3-a-ii-14.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-14 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a number (value is NaN) --- 632
12.6.3_2-3-a-ii-15.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-15 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a number (value is +0) --- 630
12.6.3_2-3-a-ii-16.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-16 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a number (value is -0) --- 630
12.6.3_2-3-a-ii-17.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-17 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a number (value is a positive) --- 673
12.6.3_2-3-a-ii-18.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-18 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a string (value is empty string) --- 640
12.6.3_2-3-a-ii-19.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-19 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a string (value is 'undefined') --- 684
12.6.3_2-3-a-ii-20.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-20 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a string (value is 'null') --- 674
12.6.3_2-3-a-ii-21.js --- info: | Refer 12.6.3; The production IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement is evaluated as follows: es5id: 12.6.3_2-3-a-ii-21 description: > The for Statement - (normal, V, empty) will be returned when first Expression is a string (value is '1') --- 668
browser.js 0
cptn-decl-expr-iter.js --- es6id: 13.7.4.7 description: > Completion value when head has a declaration and a "test" expression and iteration occurs info: | IterationStatement : for ( var VariableDeclarationList ; Expressionopt ; Expressionopt ) Statement 1. Let varDcl be the result of evaluating VariableDeclarationList. 2. ReturnIfAbrupt(varDcl). 3. Return ForBodyEvaluation(the first Expression, the second Expression, Statement, « », labelSet). 13.7.4.8 Runtime Semantics: ForBodyEvaluation 1. Let V = undefined. [...] 4. Repeat a. If test is not [empty], then i. Let testRef be the result of evaluating test. ii. Let testValue be GetValue(testRef). iii. ReturnIfAbrupt(testValue). iv. If ToBoolean(testValue) is false, return NormalCompletion(V). --- 1175
cptn-decl-expr-no-iter.js --- es6id: 13.7.4.7 description: > Completion value when head has a declaration and a "test" expression and no iteration occurs info: | IterationStatement : for ( var VariableDeclarationList ; Expressionopt ; Expressionopt ) Statement 1. Let varDcl be the result of evaluating VariableDeclarationList. 2. ReturnIfAbrupt(varDcl). 3. Return ForBodyEvaluation(the first Expression, the second Expression, Statement, « », labelSet). 13.7.4.8 Runtime Semantics: ForBodyEvaluation 1. Let V = undefined. [...] 4. Repeat a. If test is not [empty], then i. Let testRef be the result of evaluating test. ii. Let testValue be GetValue(testRef). iii. ReturnIfAbrupt(testValue). iv. If ToBoolean(testValue) is false, return NormalCompletion(V). --- 1152
cptn-expr-expr-iter.js --- es6id: 13.7.4.7 description: > Completion value when head has no declaration and a "test" expression and iteration occurs info: | IterationStatement : for ( Expressionopt ; Expressionopt ; Expressionopt ) Statement 1. If the first Expression is present, then a. Let exprRef be the result of evaluating the first Expression. b. Let exprValue be GetValue(exprRef). c. ReturnIfAbrupt(exprValue). 2. Return ForBodyEvaluation(the second Expression, the third Expression, Statement, « », labelSet). 13.7.4.8 Runtime Semantics: ForBodyEvaluation 1. Let V = undefined. [...] 4. Repeat a. If test is not [empty], then i. Let testRef be the result of evaluating test. ii. Let testValue be GetValue(testRef). iii. ReturnIfAbrupt(testValue). iv. If ToBoolean(testValue) is false, return NormalCompletion(V). --- 1279
cptn-expr-expr-no-iter.js --- es6id: 13.7.4.7 description: > Completion value when head has no declaration and a "test" expression and no iteration occurs info: | IterationStatement : for ( Expressionopt ; Expressionopt ; Expressionopt ) Statement 1. If the first Expression is present, then a. Let exprRef be the result of evaluating the first Expression. b. Let exprValue be GetValue(exprRef). c. ReturnIfAbrupt(exprValue). 2. Return ForBodyEvaluation(the second Expression, the third Expression, Statement, « », labelSet). 13.7.4.8 Runtime Semantics: ForBodyEvaluation 1. Let V = undefined. [...] 4. Repeat a. If test is not [empty], then i. Let testRef be the result of evaluating test. ii. Let testValue be GetValue(testRef). iii. ReturnIfAbrupt(testValue). iv. If ToBoolean(testValue) is false, return NormalCompletion(V). --- 1216
decl-async-fun.js --- esid: sec-for-statement 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] --- 584
decl-async-gen.js --- esid: sec-for-statement 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] --- 586
decl-cls.js --- description: Class declaration not allowed in statement position esid: sec-for-statement es6id: 13.7.4 negative: phase: parse type: SyntaxError --- 377
decl-const.js --- description: Lexical declaration (const) not allowed in statement position esid: sec-for-statement es6id: 13.7.4 negative: phase: parse type: SyntaxError --- 392
decl-fun.js --- description: Function declaration not allowed in statement position esid: sec-for-statement es6id: 13.7.4 negative: phase: parse type: SyntaxError --- 385
decl-gen.js --- description: Generator declaration not allowed in statement position esid: sec-for-statement es6id: 13.7.4 negative: phase: parse type: SyntaxError features: [generators] --- 410
decl-let.js --- description: Lexical declaration (let) not allowed in statement position esid: sec-for-statement es6id: 13.7.4 negative: phase: parse type: SyntaxError --- 381
dstr
head-const-bound-names-in-stmt.js --- description: The body may not re-declare variables declared in the head info: | IterationStatement : for ( LexicalDeclaration Expressionopt ; Expressionopt ) Statement It is a Syntax Error if any element of the BoundNames of LexicalDeclaration also occurs in the VarDeclaredNames of Statement. negative: phase: parse type: SyntaxError esid: sec-for-statement es6id: 13.7.4 --- 639
head-const-fresh-binding-per-iteration.js --- es6id: 13.6.4.13 description: > const ForDeclaration: creates a fresh binding per iteration --- 390
head-init-async-of.js --- description: for statement beginning with `async of` info: | `for (async of =>` is the begining of a regular for loop, rather than a for-of esid: sec-for-statement --- 441
head-init-expr-check-empty-inc-empty-completion.js --- info: | The result of evaluating "for( ExpNoIn;Exp;Exp)" loop is returning (normal, evalValue, empty) es5id: 12.6.3_A9.1 description: Using eval --- 543
head-init-expr-check-empty-inc-empty-syntax.js --- description: For head may omit optional expressions es5id: 12.6.3_A9.1 --- 319
head-init-var-check-empty-inc-empty-completion.js --- info: | The result of evaluating "for(var ExpNoIn;Exp;Exp)" loop is returning (normal, evalValue, empty) es5id: 12.6.3_A9 description: Using eval --- 534
head-init-var-check-empty-inc-empty-syntax.js --- description: For head may omit optional expressions es5id: 12.6.3_A9 --- 308
head-let-bound-names-in-stmt.js --- description: The body may not re-declare variables declared in the head info: | IterationStatement : for ( LexicalDeclaration Expressionopt ; Expressionopt ) Statement It is a Syntax Error if any element of the BoundNames of LexicalDeclaration also occurs in the VarDeclaredNames of Statement. negative: phase: parse type: SyntaxError esid: sec-for-statement es6id: 13.7.4 --- 633
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 [ } ] Expression[~In, ?Yield]opt ; Expression[+In, ?Yield]opt ; Expression[+In, ?Yield]opt ) Statement[?Yield, ?Return] for ( LexicalDeclaration[~In, ?Yield] Expression[+In, ?Yield]opt ; Expression[+In, ?Yield]opt) Statement[?Yield, ?Return] --- 841
head-let-fresh-binding-per-iteration.js --- es6id: 13.6.4.13 description: > let ForDeclaration: creates a fresh binding per iteration --- 386
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 [ } ] Expression[~In, ?Yield]opt ; Expression[+In, ?Yield]opt ; Expression[+In, ?Yield]opt ) Statement[?Yield, ?Return] for ( LexicalDeclaration[~In, ?Yield] Expression[+In, ?Yield]opt ; Expression[+In, ?Yield]opt) Statement[?Yield, ?Return] flags: [noStrict] --- 960
head-var-bound-names-in-stmt.js --- description: The body may re-declare variables declared in the head esid: sec-for-statement es6id: 13.7.4 --- 415
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. --- 637
labelled-fn-stmt-expr.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. --- 627
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. --- 631
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. --- 631
let-array-with-newline.js --- esid: sec-for-statement 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] --- 563
let-block-with-newline.js --- esid: sec-for-statement 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] --- 500
let-identifier-with-newline.js --- esid: sec-for-statement 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] --- 523
S12.6.3_A1.js --- info: | The "for {;;}" for Statement with empty expressions is allowed and leads to performing an infinite loop es5id: 12.6.3_A1 description: Breaking an infinite loop by throwing exception --- 1029
S12.6.3_A2.1.js --- info: | While evaluating "for (ExpressionNoIn ; ; Expression) Statement", Statement is evaulated first es5id: 12.6.3_A2.1 description: Using "(function(){throw "NoInExpression"})()" as ExpressionNoIn --- 945
S12.6.3_A2.2.js --- info: | While evaluating "for (ExpressionNoIn;;) Statement", Statement is evaulated first es5id: 12.6.3_A2.2 description: Using "(function(){throw "NoInExpression"})()" as ExpressionNoIn --- 880
S12.6.3_A2.js --- info: | While evaluating "for (ExpressionNoIn; Expression; Expression) Statement", ExpressionNoIn is evaulated first es5id: 12.6.3_A2 description: Using "(function(){throw "NoInExpression"})()" as ExpressionNoIn --- 1301
S12.6.3_A3.js --- info: | While evaluating "for (ExpressionNoIn; FirstExpression; SecondExpression) Statement", ExpressionNoIn is evaulated first, FirstExpressoin is evaluated second es5id: 12.6.3_A3 description: Using "(function(){throw "FirstExpression"})()" as FirstExpression --- 1910
S12.6.3_A4.1.js --- info: | "in"-expression is not allowed as a ExpressionNoIn in "for (ExpressionNoIn; FirstExpression; SecondExpression) Statement" IterationStatement es5id: 12.6.3_A4.1 description: Checking if execution of "for (var a in arr;1;){}" fails negative: phase: parse type: SyntaxError --- 718
S12.6.3_A4_T1.js --- info: | "in"-expression is not allowed as a ExpressionNoIn in "for (ExpressionNoIn; FirstExpression; SecondExpression) Statement" IterationStatement es5id: 12.6.3_A4_T1 description: Checking if execution of "for (a in arr;1;){}" fails negative: phase: parse type: SyntaxError --- 711
S12.6.3_A4_T2.js --- info: | "in"-expression is not allowed as a ExpressionNoIn in "for (ExpressionNoIn; FirstExpression; SecondExpression) Statement" IterationStatement es5id: 12.6.3_A4_T2 description: Checking if execution of "for (1 in arr;1;){}" fails negative: phase: parse type: SyntaxError --- 711
S12.6.3_A5.js --- info: | "in"-expression wrapped into "eval" statement is allowed as a ExpressionNoIn in "for (ExpressionNoIn; FirstExpression; SecondExpression) Statement" IterationStatement es5id: 12.6.3_A5 description: Using eval "for(eval("i in arr");1;)" --- 1493
S12.6.3_A6.js --- info: | While evaluating "for ( ; ; Expression) Statement", Statement is evaluated first and then Expression is evaluated es5id: 12.6.3_A6 description: Using "(function(){throw "SecondExpression";})()" as an Expression --- 1253
S12.6.3_A7.1_T1.js --- info: | Only three expressions and two semicolons in "for(with var)" braces are allowed. Appearing of for (ExpressionNoIn_opt ; Expression_opt ; Expression_opt; Expression_opt; Expression_opt;) statement leads to SyntaxError es5id: 12.6.3_A7.1_T1 description: > Checking if execution of "for(var index=0; index<10; index++; index--)" fails negative: phase: parse type: SyntaxError --- 814
S12.6.3_A7.1_T2.js --- info: | Only three expressions and two semicolons in "for(with var)" braces are allowed. Appearing of for (ExpressionNoIn_opt ; Expression_opt ; Expression_opt; Expression_opt; Expression_opt;) statement leads to SyntaxError es5id: 12.6.3_A7.1_T2 description: > Checking if execution of "for(var index=0; index<10; index+=4; index++; index--)" fails negative: phase: parse type: SyntaxError --- 835
S12.6.3_A7_T1.js --- info: | Only three expressions and two semicolons in "for" braces are allowed. Appearing of for (ExpressionNoIn_opt ; Expression_opt ; Expression_opt; Expression_opt; Expression_opt;) statement leads to SyntaxError es5id: 12.6.3_A7_T1 description: > Checking if execution of "for(index=0; index<10; index++; index--)" fails negative: phase: parse type: SyntaxError --- 795
S12.6.3_A7_T2.js --- info: | Only three expressions and two semicolons in "for" braces are allowed. Appearing of for (ExpressionNoIn_opt ; Expression_opt ; Expression_opt; Expression_opt; Expression_opt;) statement leads to SyntaxError es5id: 12.6.3_A7_T2 description: > Checking if execution of "for(index=0; index<10; index+=4; index++; index--)" fails negative: phase: parse type: SyntaxError --- 815
S12.6.3_A8.1_T1.js --- info: Blocks within "for(with var)" braces are not allowed es5id: 12.6.3_A8.1_T1 description: > Checking if execution of "for(var index=0; index<100; {index++; index*2;}) { arr.add(""+index);}" fails negative: phase: parse type: SyntaxError --- 708
S12.6.3_A8.1_T2.js --- info: Blocks within "for(with var)" braces are not allowed es5id: 12.6.3_A8.1_T2 description: > Checking if execution of "for(var index=0; {index++;index<100;}; index*2;) { arr.add(""+index);}" fails negative: phase: parse type: SyntaxError --- 708
S12.6.3_A8.1_T3.js --- info: Blocks within "for(with var)" braces are not allowed es5id: 12.6.3_A8.1_T3 description: > Checking if execution of "for({var index=0; index+=1;} index++<=10; index*2;) { arr.add(""+index);}" fails negative: phase: parse type: SyntaxError --- 713
S12.6.3_A8_T1.js --- info: Blocks within "for" braces are not allowed es5id: 12.6.3_A8_T1 description: > Checking if execution of "for(index=0; index<100; {index++; index*2;}) { arr.add(""+index);}" fails negative: phase: parse type: SyntaxError --- 688
S12.6.3_A8_T2.js --- info: Blocks within "for" braces are not allowed es5id: 12.6.3_A8_T2 description: > Checking if execution of "for(index=0; {index++;index<100;}; index*2;) { arr.add(""+index);}" fails negative: phase: parse type: SyntaxError --- 688
S12.6.3_A8_T3.js --- info: Blocks within "for" braces are not allowed es5id: 12.6.3_A8_T3 description: > Checking if execution of "for({index=0; index+=1;} index++<=10; index*2;) { arr.add(""+index);}" fails negative: phase: parse type: SyntaxError --- 693
S12.6.3_A10.1_T1.js --- info: Nested "var-loops" nine blocks depth is evaluated properly es5id: 12.6.3_A10.1 description: > Checking if executing nested "var-loops" nine blocks depth is evaluated properly flags: [noStrict] --- 3744
S12.6.3_A10.1_T2.js --- info: Nested "var-loops" nine blocks depth is evaluated properly es5id: 12.6.3_A10.1 description: > Checking if executing nested "var-loops" nine blocks depth is evaluated properly --- 3762
S12.6.3_A10_T1.js --- info: Nested "var-loops" nine blocks depth is evaluated properly es5id: 12.6.3_A10 description: > Checking if executing nested "var-loops" nine blocks depth is evaluated properly flags: [noStrict] --- 1958
S12.6.3_A10_T2.js --- info: Nested "var-loops" nine blocks depth is evaluated properly es5id: 12.6.3_A10 description: > Checking if executing nested "var-loops" nine blocks depth is evaluated properly --- 2024
S12.6.3_A11.1_T1.js --- info: | If (Evaluate Statement).type is "continue" and (Evaluate Statement).target is in the current label set, iteration of labeled "var-loop" breaks es5id: 12.6.3_A11.1_T1 description: Using "continue" in order to continue a loop --- 617
S12.6.3_A11.1_T2.js --- info: | If (Evaluate Statement).type is "continue" and (Evaluate Statement).target is in the current label set, iteration of labeled "var-loop" breaks es5id: 12.6.3_A11.1_T2 description: Embedded loops --- 1877
S12.6.3_A11.1_T3.js --- info: | If (Evaluate Statement).type is "continue" and (Evaluate Statement).target is in the current label set, iteration of labeled "var-loop" breaks es5id: 12.6.3_A11.1_T3 description: Trying to continue non-existent label negative: phase: parse type: SyntaxError --- 847
S12.6.3_A11_T1.js --- info: | If (Evaluate Statement).type is "continue" and (Evaluate Statement).target is in the current label set, iteration of labeled loop breaks es5id: 12.6.3_A11_T1 description: Simple test of continue loop with using "continue" --- 618
S12.6.3_A11_T2.js --- info: | If (Evaluate Statement).type is "continue" and (Evaluate Statement).target is in the current label set, iteration of labeled loop breaks es5id: 12.6.3_A11_T2 description: Embedded loops --- 1861
S12.6.3_A11_T3.js --- info: | If (Evaluate Statement).type is "continue" and (Evaluate Statement).target is in the current label set, iteration of labeled loop breaks es5id: 12.6.3_A11_T3 description: Trying to continue non-existent label negative: phase: parse type: SyntaxError --- 830
S12.6.3_A12.1_T1.js --- info: | If (Evaluate Statement).type is "break" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a "var-loop" es5id: 12.6.3_A12.1_T1 description: Breaking a loop with "break" --- 638
S12.6.3_A12.1_T2.js --- info: | If (Evaluate Statement).type is "break" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a "var-loop" es5id: 12.6.3_A12.1_T2 description: Embedded loops --- 1879
S12.6.3_A12.1_T3.js --- info: | If (Evaluate Statement).type is "break" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a "var-loop" es5id: 12.6.3_A12.1_T3 description: Trying to break non-existent label negative: phase: parse type: SyntaxError --- 879
S12.6.3_A12_T1.js --- info: | If (Evaluate Statement).type is "break" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a loop es5id: 12.6.3_A12_T1 description: Breaking a loop with "break" --- 630
S12.6.3_A12_T2.js --- info: | If (Evaluate Statement).type is "break" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a loop es5id: 12.6.3_A12_T2 description: Embedded loops --- 1863
S12.6.3_A12_T3.js --- info: | If (Evaluate Statement).type is "break" and (Evaluate Statement).target is in the current label set, (normal, (Evaluate Statement), empty) is returned while evaluating a loop es5id: 12.6.3_A12_T3 description: Trying to break non-existent label negative: phase: parse type: SyntaxError --- 864
S12.6.3_A13.js --- info: | VariableDeclaration in "var VariableDeclarationListNoIn" of for IterationStatement is allowed es5id: 12.6.3_A13 description: Declaring variable in "for" ExpressionNoIn --- 731
S12.6.3_A14.js --- info: | The production IterationStatement: "for (var VariableDeclarationListNoIn; Expression; Expression) Statement" es5id: 12.6.3_A14 description: Using +,*,/, as the second Expression --- 1276
S12.6.3_A15.js --- info: | The production IterationStatement: "for (var VariableDeclarationListNoIn; Expression; Expression) Statement" es5id: 12.6.3_A15 description: Statement must be evaluated before second Expression is evaluated --- 611
scope-body-lex-boundary.js --- esid: sec-for-statement-runtime-semantics-labelledevaluation description: > Creation of new lexical environment for each evaluation of the statement body info: | [...] 11. Let bodyResult be ForBodyEvaluation(the first Expression, the second Expression, Statement, perIterationLets, labelSet). [...] 13.7.4.8 Runtime Semantics: ForBodyEvaluation [...] 3. Repeat [...] b. Let result be the result of evaluating stmt. [...] e. Perform ? CreatePerIterationEnvironment(perIterationBindings). [...] 13.7.4.9 Runtime Semantics: CreatePerIterationEnvironment 1. If perIterationBindings has any elements, then [...] e. Let thisIterationEnv be NewDeclarativeEnvironment(outer). f. Let thisIterationEnvRec be thisIterationEnv's EnvironmentRecord. features: [let] --- 1330
scope-body-lex-open.js --- esid: sec-for-statement-runtime-semantics-labelledevaluation description: > Creation of new lexical environment for the initial evaluation of the statement body info: | [...] 11. Let bodyResult be ForBodyEvaluation(the first Expression, the second Expression, Statement, perIterationLets, labelSet). [...] 13.7.4.8 Runtime Semantics: ForBodyEvaluation [...] 2. Perform ? CreatePerIterationEnvironment(perIterationBindings). 3. Repeat [...] b. Let result be the result of evaluating stmt. [...] [...] 13.7.4.9 Runtime Semantics: CreatePerIterationEnvironment 1. If perIterationBindings has any elements, then [...] e. Let thisIterationEnv be NewDeclarativeEnvironment(outer). f. Let thisIterationEnvRec be thisIterationEnv's EnvironmentRecord. features: [let] --- 1612
scope-body-var-none.js --- esid: sec-for-statement-runtime-semantics-labelledevaluation description: > No variable environment is created for each evaluation of the statement body info: | [...] 11. Let bodyResult be ForBodyEvaluation(the first Expression, the second Expression, Statement, perIterationLets, labelSet). [...] 13.7.4.8 Runtime Semantics: ForBodyEvaluation [...] 2. Perform ? CreatePerIterationEnvironment(perIterationBindings). 3. Repeat [...] b. Let result be the result of evaluating stmt. [...] e. Perform ? CreatePerIterationEnvironment(perIterationBindings). [...] 13.7.4.9 Runtime Semantics: CreatePerIterationEnvironment 1. If perIterationBindings has any elements, then [...] e. Let thisIterationEnv be NewDeclarativeEnvironment(outer). f. Let thisIterationEnvRec be thisIterationEnv's EnvironmentRecord. flags: [noStrict] --- 2853
scope-head-lex-close.js --- esid: sec-for-statement-runtime-semantics-labelledevaluation description: Removal of lexical environment for the statement "head" info: | [...] 2. Let loopEnv be NewDeclarativeEnvironment(oldEnv). 3. Let loopEnvRec be loopEnv's EnvironmentRecord. 4. Let isConst be the result of performing IsConstantDeclaration of LexicalDeclaration. 5. Let boundNames be the BoundNames of LexicalDeclaration. 6. For each element dn of boundNames do a. If isConst is true, then i. Perform ! loopEnvRec.CreateImmutableBinding(dn, true). b. Else, i. Perform ! loopEnvRec.CreateMutableBinding(dn, false). 7. Set the running execution context's LexicalEnvironment to loopEnv. [...] 12. Set the running execution context's LexicalEnvironment to oldEnv. 13. Return Completion(bodyResult). features: [let] --- 1549
scope-head-lex-open.js --- esid: sec-for-statement-runtime-semantics-labelledevaluation description: Creation of new lexical environment for the statement "head" info: | [...] 2. Let loopEnv be NewDeclarativeEnvironment(oldEnv). 3. Let loopEnvRec be loopEnv's EnvironmentRecord. 4. Let isConst be the result of performing IsConstantDeclaration of LexicalDeclaration. 5. Let boundNames be the BoundNames of LexicalDeclaration. 6. For each element dn of boundNames do a. If isConst is true, then i. Perform ! loopEnvRec.CreateImmutableBinding(dn, true). b. Else, i. Perform ! loopEnvRec.CreateMutableBinding(dn, false). 7. Set the running execution context's LexicalEnvironment to loopEnv. [...] features: [let] --- 1628
scope-head-var-none.js --- esid: sec-for-statement-runtime-semantics-labelledevaluation description: No variable environment is created for the statement "head" info: | [...] 2. Let loopEnv be NewDeclarativeEnvironment(oldEnv). 3. Let loopEnvRec be loopEnv's EnvironmentRecord. 4. Let isConst be the result of performing IsConstantDeclaration of LexicalDeclaration. 5. Let boundNames be the BoundNames of LexicalDeclaration. 6. For each element dn of boundNames do a. If isConst is true, then i. Perform ! loopEnvRec.CreateImmutableBinding(dn, true). b. Else, i. Perform ! loopEnvRec.CreateMutableBinding(dn, false). 7. Set the running execution context's LexicalEnvironment to loopEnv. [...] 12. Set the running execution context's LexicalEnvironment to oldEnv. 13. Return Completion(bodyResult). flags: [noStrict] --- 1675
shell.js --- description: | This defines the number of consecutive recursive function calls that must be made in order to prove that stack frames are properly destroyed according to ES2015 tail call optimization semantics. defines: [$MAX_ITERATIONS] --- 481
tco-const-body-strict.js --- description: Statement within statement is a candidate for tail-call optimization. esid: sec-static-semantics-hascallintailposition flags: [onlyStrict] features: [tail-call-optimization] includes: [tcoHelper.js] --- 651
tco-let-body-strict.js --- description: Statement within statement is a candidate for tail-call optimization. esid: sec-static-semantics-hascallintailposition flags: [onlyStrict] features: [tail-call-optimization] includes: [tcoHelper.js] --- 649
tco-lhs-body-strict.js --- description: Statement within statement is a candidate for tail-call optimization. esid: sec-static-semantics-hascallintailposition flags: [onlyStrict] features: [tail-call-optimization] includes: [tcoHelper.js] --- 663
tco-var-body-strict.js --- description: Statement within statement is a candidate for tail-call optimization. esid: sec-static-semantics-hascallintailposition flags: [onlyStrict] features: [tail-call-optimization] includes: [tcoHelper.js] --- 649