browser.js |
|
0 |
cptn-abrupt-empty.js |
---
es6id: 13.7.3.6
description: >
Completion value when iteration completes due to an empty abrupt completion
info: |
IterationStatement : while ( Expression ) Statement
1. Let V = undefined.
2. Repeat
a. Let exprRef be the result of evaluating Expression.
b. Let exprValue be GetValue(exprRef).
c. ReturnIfAbrupt(exprValue).
d. If ToBoolean(exprValue) is false, return NormalCompletion(V).
e. Let stmt be the result of evaluating Statement.
f. If LoopContinues (stmt, labelSet) is false, return
Completion(UpdateEmpty(stmt, V)).
--- |
1104 |
cptn-iter.js |
---
es6id: 13.7.3.6
description: >
Completion value when iteration completes due to expression value
info: |
IterationStatement : while ( Expression ) Statement
1. Let V = undefined.
2. Repeat
a. Let exprRef be the result of evaluating Expression.
b. Let exprValue be GetValue(exprRef).
c. ReturnIfAbrupt(exprValue).
d. If ToBoolean(exprValue) is false, return NormalCompletion(V).
e. Let stmt be the result of evaluating Statement.
f. If LoopContinues (stmt, labelSet) is false, return
Completion(UpdateEmpty(stmt, V)).
g. If stmt.[[value]] is not empty, let V = stmt.[[value]].
--- |
982 |
cptn-no-iter.js |
---
es6id: 13.7.3.6
description: >
Completion value when no iteration occurs
info: |
IterationStatement : while ( Expression ) Statement
1. Let V = undefined.
2. Repeat
a. Let exprRef be the result of evaluating Expression.
b. Let exprValue be GetValue(exprRef).
c. ReturnIfAbrupt(exprValue).
d. If ToBoolean(exprValue) is false, return NormalCompletion(V).
--- |
693 |
decl-async-fun.js |
---
esid: sec-while-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]
--- |
583 |
decl-async-gen.js |
---
esid: sec-while-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]
--- |
585 |
decl-cls.js |
---
description: Class declaration not allowed in statement position
esid: sec-while-statement
es6id: 13.7.3
negative:
phase: parse
type: SyntaxError
--- |
376 |
decl-const.js |
---
description: Lexical declaration (const) not allowed in statement position
esid: sec-while-statement
es6id: 13.7.3
negative:
phase: parse
type: SyntaxError
--- |
391 |
decl-fun.js |
---
description: Function declaration not allowed in statement position
esid: sec-while-statement
es6id: 13.7.3
negative:
phase: parse
type: SyntaxError
--- |
384 |
decl-gen.js |
---
description: Generator declaration not allowed in statement position
esid: sec-while-statement
es6id: 13.7.3
negative:
phase: parse
type: SyntaxError
features: [generators]
--- |
409 |
decl-let.js |
---
description: Lexical declaration (let) not allowed in statement position
esid: sec-while-statement
es6id: 13.7.3
negative:
phase: parse
type: SyntaxError
--- |
380 |
labelled-fn-stmt.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.
--- |
624 |
let-array-with-newline.js |
---
esid: sec-while-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-while-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-while-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.2_A1.js |
---
info: |
Expression from "while" IterationStatement is evaluated first; "false",
"0", "null", "undefined" and "empty" strings used as the Expression are
evaluated to "false"
es5id: 12.6.2_A1
description: Evaluating various Expressions
--- |
1881 |
S12.6.2_A2.js |
---
info: |
While evaluating The production IterationStatement: "while ( Expression )
Statement", Expression is evaluated first
es5id: 12.6.2_A2
description: Evaluating Statement with error Expression
--- |
1003 |
S12.6.2_A3.js |
---
info: |
When "while" IterationStatement is evaluated, (normal, V, empty) is
returned
es5id: 12.6.2_A3
description: Using eval
--- |
978 |
S12.6.2_A4_T1.js |
---
info: |
"break" within a "while" Statement is allowed and performed as described
in 12.8
es5id: 12.6.2_A4_T1
description: "\"break\" within a \"while\" Statement"
--- |
1238 |
S12.6.2_A4_T2.js |
---
info: |
"break" within a "while" Statement is allowed and performed as described
in 12.8
es5id: 12.6.2_A4_T2
description: "\"break\" and VariableDeclaration within a \"while\" Statement"
--- |
1052 |
S12.6.2_A4_T3.js |
---
info: |
"break" within a "while" Statement is allowed and performed as described
in 12.8
es5id: 12.6.2_A4_T3
description: "\"break\" and VariableDeclaration within a \"while\" Statement"
--- |
1045 |
S12.6.2_A4_T4.js |
---
info: |
"break" within a "while" Statement is allowed and performed as described
in 12.8
es5id: 12.6.2_A4_T4
description: "\"break\" and VariableDeclaration within a \"while\" Statement"
--- |
1040 |
S12.6.2_A4_T5.js |
---
info: |
"break" within a "while" Statement is allowed and performed as described
in 12.8
es5id: 12.6.2_A4_T5
description: Using labeled "break" in order to continue a "while" loop
--- |
620 |
S12.6.2_A5.js |
---
info: |
While using "while" within an eval statement, source "break" is allowed
and (normal, V, empty) is returned
es5id: 12.6.2_A5
description: Using eval
--- |
1503 |
S12.6.2_A6_T1.js |
---
info: Expression in "while" IterationStatement is bracketed with braces
es5id: 12.6.2_A6_T1
description: Checking if execution of "while 1 break" fails
negative:
phase: parse
type: SyntaxError
--- |
579 |
S12.6.2_A6_T2.js |
---
info: Expression in "while" IterationStatement is bracketed with braces
es5id: 12.6.2_A6_T2
description: Checking if execution of "while 0 break" fails
negative:
phase: parse
type: SyntaxError
--- |
579 |
S12.6.2_A6_T3.js |
---
info: Expression in "while" IterationStatement is bracketed with braces
es5id: 12.6.2_A6_T3
description: Checking if execution of "while true break" fails
negative:
phase: parse
type: SyntaxError
--- |
585 |
S12.6.2_A6_T4.js |
---
info: Expression in "while" IterationStatement is bracketed with braces
es5id: 12.6.2_A6_T4
description: Checking if execution of "while false break" fails
negative:
phase: parse
type: SyntaxError
--- |
587 |
S12.6.2_A6_T5.js |
---
info: Expression in "while" IterationStatement is bracketed with braces
es5id: 12.6.2_A6_T5
description: Checking if execution of "while '' break" fails
negative:
phase: parse
type: SyntaxError
--- |
581 |
S12.6.2_A6_T6.js |
---
info: Expression in "while" IterationStatement is bracketed with braces
es5id: 12.6.2_A6_T6
description: Checking if execution of "while 'hood' break" fails
negative:
phase: parse
type: SyntaxError
--- |
589 |
S12.6.2_A7.js |
---
info: |
The "while" Statement is evaluted according to 12.6.2 and returns
(normal, V, empty)
es5id: 12.6.2_A7
description: using eval
--- |
991 |
S12.6.2_A8.js |
---
info: "\"continue\" statement within a \"while\" Statement is allowed"
es5id: 12.6.2_A8
description: using eval
--- |
1020 |
S12.6.2_A9.js |
---
info: "\"while\" Statement is evaluated without syntax checks"
es5id: 12.6.2_A9
description: Throwing system exception inside "while" loop
--- |
782 |
S12.6.2_A10.js |
---
info: |
FunctionExpression within a "while" IterationStatement is allowed, but no
function with the given name will appear in the global context
es5id: 12.6.2_A10
description: Testing FunctionExpression too
--- |
842 |
S12.6.2_A11.js |
---
info: "\"{}\" Block within a \"while\" Expression is evaluated to true"
es5id: 12.6.2_A11
description: Checking if execution of "while({}){}" passes
--- |
645 |
S12.6.2_A14_T1.js |
---
info: FunctionExpression within a "while" Expression is allowed
es5id: 12.6.2_A14_T1
description: Using "function __func(){return 0;}" as an Expression
--- |
849 |
S12.6.2_A14_T2.js |
---
info: FunctionExpression within a "while" Expression is allowed
es5id: 12.6.2_A14_T2
description: Using function call as an Expression
--- |
835 |
S12.6.2_A15.js |
---
info: Block within a "while" Expression is not allowed
es5id: 12.6.2_A15
description: Expression is "{0}"
negative:
phase: parse
type: SyntaxError
--- |
543 |
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-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]
--- |
643 |