| cptn-abrupt-empty.js |
---
es6id: 13.7.2.6
description: >
Completion value when iteration completes due to an empty abrupt completion
info: |
IterationStatement : do Statement while ( Expression ) ;
1. Let V = undefined.
2. Repeat
a. Let stmt be the result of evaluating Statement.
b. If LoopContinues(stmt, labelSet) is false, return
Completion(UpdateEmpty(stmt, V)).
--- |
807 |
- |
| cptn-normal.js |
---
es6id: 13.7.2.6
description: >
Completion value when iteration completes due to expression value
info: |
IterationStatement : do Statement while ( Expression ) ;
1. Let V = undefined.
2. Repeat
a. Let stmt be the result of evaluating Statement.
b. If LoopContinues(stmt, labelSet) is false, return
Completion(UpdateEmpty(stmt, V)).
c. If stmt.[[value]] is not empty, let V = stmt.[[value]].
d. Let exprRef be the result of evaluating Expression.
e. Let exprValue be GetValue(exprRef).
f. ReturnIfAbrupt(exprValue).
g. If ToBoolean(exprValue) is false, return NormalCompletion(V).
--- |
926 |
- |
| decl-async-fun.js |
---
esid: sec-do-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]
--- |
558 |
- |
| decl-async-gen.js |
---
esid: sec-do-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]
--- |
560 |
- |
| decl-cls.js |
---
description: Class declaration not allowed in statement position
esid: sec-do-while-statement
es6id: 13.7.2
negative:
phase: parse
type: SyntaxError
--- |
351 |
- |
| decl-const.js |
---
description: Lexical declaration (const) not allowed in statement position
esid: sec-do-while-statement
es6id: 13.7.2
negative:
phase: parse
type: SyntaxError
--- |
366 |
- |
| decl-fun.js |
---
description: Function declaration not allowed in statement position
esid: sec-do-while-statement
es6id: 13.7.2
negative:
phase: parse
type: SyntaxError
--- |
359 |
- |
| decl-gen.js |
---
description: Generator declaration not allowed in statement position
esid: sec-do-while-statement
es6id: 13.7.2
negative:
phase: parse
type: SyntaxError
features: [generators]
--- |
384 |
- |
| decl-let.js |
---
description: Lexical declaration (const) not allowed in statement position
esid: sec-do-while-statement
es6id: 13.7.2
negative:
phase: parse
type: SyntaxError
--- |
357 |
- |
| 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.
--- |
596 |
- |
| let-array-with-newline.js |
---
esid: sec-do-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]
--- |
538 |
- |
| S12.6.1_A1.js |
---
info: |
When the production "do Statement while ( Expression )" is evaluated,
Statement is evaluated first
es5id: 12.6.1_A1
description: Evaluating various Expressions
--- |
1402 |
- |
| S12.6.1_A2.js |
---
info: |
While evaluating "do Statement while ( Expression )", Statement is
evaluated first and only after it is done Expression is checked
es5id: 12.6.1_A2
description: Evaluating Statement with error Expression
--- |
900 |
- |
| S12.6.1_A3.js |
---
info: |
When the production "do Statement while ( Expression )" is evaluated,
then (normal, V, empty) is returned
es5id: 12.6.1_A3
description: Using eval "eval("do __in__do=1; while (false)")"
--- |
995 |
- |
| S12.6.1_A4_T1.js |
---
info: |
"break" within a "do-while" Statement is allowed and performed as
described in 12.8
es5id: 12.6.1_A4_T1
description: Using "break" within a "do-while" loop
--- |
1222 |
- |
| S12.6.1_A4_T2.js |
---
info: |
"break" within a "do-while" Statement is allowed and performed as
described in 12.8
es5id: 12.6.1_A4_T2
description: "\"break\" and VariableDeclaration within a \"do-while\" statement"
--- |
1284 |
- |
| S12.6.1_A4_T3.js |
---
info: |
"break" within a "do-while" Statement is allowed and performed as
described in 12.8
es5id: 12.6.1_A4_T3
description: "\"break\" and VariableDeclaration within a \"do-while\" statement"
--- |
1280 |
- |
| S12.6.1_A4_T4.js |
---
info: |
"break" within a "do-while" Statement is allowed and performed as
described in 12.8
es5id: 12.6.1_A4_T4
description: "\"break\" and VariableDeclaration within a \"do-while\" statement"
--- |
1286 |
- |
| S12.6.1_A4_T5.js |
---
info: |
"break" within a "do-while" Statement is allowed and performed as
described in 12.8
es5id: 12.6.1_A4_T5
description: Using labeled "break" in order to continue a loop
--- |
591 |
- |
| S12.6.1_A5.js |
---
info: After "do-while" is broken, (normal, V, empty) is returned
es5id: 12.6.1_A5
description: Using eval
--- |
1426 |
- |
| S12.6.1_A6_T1.js |
---
info: Expression in "do-while" IterationStatement is bracketed with braces
es5id: 12.6.1_A6_T1
description: Checking if execution of "do{} while 1" fails
negative:
phase: parse
type: SyntaxError
--- |
554 |
- |
| S12.6.1_A6_T2.js |
---
info: Expression in "do-while" IterationStatement is bracketed with braces
es5id: 12.6.1_A6_T2
description: Checking if execution of "do{} while 0" fails
negative:
phase: parse
type: SyntaxError
--- |
554 |
- |
| S12.6.1_A6_T3.js |
---
info: Expression in "do-while" IterationStatement is bracketed with braces
es5id: 12.6.1_A6_T3
description: Checking if execution of "do{}while true" fails
negative:
phase: parse
type: SyntaxError
--- |
559 |
- |
| S12.6.1_A6_T4.js |
---
info: Expression in "do-while" IterationStatement is bracketed with braces
es5id: 12.6.1_A6_T4
description: Checking if execution of "do{}while false" fails
negative:
phase: parse
type: SyntaxError
--- |
561 |
- |
| S12.6.1_A6_T5.js |
---
info: Expression in "do-while" IterationStatement is bracketed with braces
es5id: 12.6.1_A6_T5
description: Checking if execution of "do{}while ''" fails
negative:
phase: parse
type: SyntaxError
--- |
555 |
- |
| S12.6.1_A6_T6.js |
---
info: Expression in "do-while" IterationStatement is bracketed with braces
es5id: 12.6.1_A6_T6
description: Checking if execution of "do{}while 'hood'" fails
negative:
phase: parse
type: SyntaxError
--- |
563 |
- |
| S12.6.1_A7.js |
---
info: |
The "do-while" Statement is evaluted according to 12.6.1 and returns
(normal, V, empty)
es5id: 12.6.1_A7
description: Using eval
--- |
978 |
- |
| S12.6.1_A8.js |
---
info: "\"continue\" statement within a \"do-while\" Statement is allowed"
es5id: 12.6.1_A8
description: Using eval
--- |
1004 |
- |
| S12.6.1_A9.js |
---
info: "\"do-while\" Statement is evaluated without syntax checks"
es5id: 12.6.1_A9
description: Throwing system exception whithin a "do-while" loop
--- |
743 |
- |
| S12.6.1_A10.js |
---
info: |
FunctionExpression within a "do-while" statement is allowed, but no
function with the given name will appear in the global context
es5id: 12.6.1_A10
description: Also this a test on FunctionExpression
--- |
886 |
- |
| S12.6.1_A11.js |
---
info: Block "{}" in a "do-while" Expression is evaluated to true
es5id: 12.6.1_A11
description: Checking if execution of "do {} while({})" passes
--- |
627 |
- |
| S12.6.1_A12.js |
---
info: Any statement within "do-while" construction must be a compound
es5id: 12.6.1_A12
description: Checking if execution of "do var x=1; var y =2; while (0)" fails
negative:
phase: parse
type: SyntaxError
--- |
580 |
- |
| S12.6.1_A14_T1.js |
---
info: FunctionExpression within a "do-while" Expression is allowed
es5id: 12.6.1_A14_T1
description: >
Using FunctionExpression "function __func(){return 0;}" as an
Expression
--- |
863 |
- |
| S12.6.1_A14_T2.js |
---
info: FunctionExpression within a "do-while" Expression is allowed
es5id: 12.6.1_A14_T2
description: >
Using FunctionExpression "function __func(){return 0;}()" as an
Expression
--- |
868 |
- |
| S12.6.1_A15.js |
---
info: Block within a "do-while" Expression is not allowed
es5id: 12.6.1_A15
description: Using "{0}" Block as an Expression
negative:
phase: parse
type: SyntaxError
--- |
527 |
- |
| tco-body.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]
--- |
550 |
- |