| continue.js |
---
esid: sec-labelled-statements-static-semantics-containsundefinedcontinuetarget
es6id: 13.13.4
description: Does not modify `iterationSet`
info: |
With arguments iterationSet and labelSet.
LabelledStatement : LabelIdentifier : LabelledItem
1. Let label be the StringValue of LabelIdentifier.
2. Let newLabelSet be a copy of labelSet with label appended.
3. Return ContainsUndefinedContinueTarget of LabelledItem with arguments
iterationSet and newLabelSet.
negative:
phase: parse
type: SyntaxError
--- |
748 |
- |
| cptn-break.js |
---
esid: sec-labelled-statements-runtime-semantics-labelledevaluation
es6id: 13.13.14
description: Completion value when LabelledItem returns a "break" completion
info: |
LabelledStatement : LabelIdentifier : LabelledItem
1. Let label be the StringValue of LabelIdentifier.
2. Append label as an element of labelSet.
3. Let stmtResult be LabelledEvaluation of LabelledItem with argument
labelSet.
4. If stmtResult.[[Type]] is break and SameValue(stmtResult.[[Target]],
label) is true, then
a. Let stmtResult be NormalCompletion(stmtResult.[[Value]]).
--- |
793 |
- |
| cptn-nrml.js |
---
esid: sec-labelled-statements-runtime-semantics-labelledevaluation
es6id: 13.13.14
description: Completion value when LabelledItem returns normally
info: |
LabelledStatement : LabelIdentifier : LabelledItem
1. Let label be the StringValue of LabelIdentifier.
2. Append label as an element of labelSet.
3. Let stmtResult be LabelledEvaluation of LabelledItem with argument
labelSet.
4. If stmtResult.[[Type]] is break and SameValue(stmtResult.[[Target]],
label) is true, then
[...]
5. Return Completion(stmtResult).
--- |
738 |
- |
| decl-async-function.js |
---
esid: sec-labelled-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]
--- |
549 |
- |
| decl-async-generator.js |
---
esid: sec-labelled-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]
--- |
551 |
- |
| decl-cls.js |
---
description: Class declaration not allowed in statement position
esid: sec-labelled-statements
es6id: 13.13
negative:
phase: parse
type: SyntaxError
--- |
341 |
- |
| decl-const.js |
---
description: Lexical declaration (const) not allowed in statement position
esid: sec-labelled-statements
es6id: 13.13
negative:
phase: parse
type: SyntaxError
--- |
356 |
- |
| decl-fun-strict.js |
---
esid: sec-labelled-statements
es6id: 13.13
description: >
function declarations in statement position in strict mode:
label: Statement
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
401 |
- |
| decl-gen.js |
---
description: Generator declaration not allowed in statement position
esid: sec-labelled-statements
es6id: 13.13
negative:
phase: parse
type: SyntaxError
features: [generators]
--- |
374 |
- |
| decl-let.js |
---
description: Lexical declaration (let) not allowed in statement position
esid: sec-labelled-statements
es6id: 13.13
negative:
phase: parse
type: SyntaxError
--- |
345 |
- |
| let-array-with-newline.js |
---
esid: sec-labelled-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]
--- |
616 |
- |
| let-block-with-newline.js |
---
esid: sec-labelled-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]
--- |
562 |
- |
| let-identifier-with-newline.js |
---
esid: sec-labelled-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]
--- |
585 |
- |
| S12.12_A1_T1.js |
---
info: |
Labelled statements are only used in conjunction with labelled
break and continue statements
es5id: 12.12_A1_T1
description: Checking if labelled break works. See continue and break sections
--- |
585 |
- |
| static-init-invalid-await.js |
---
esid: sec-class-definitions-static-semantics-early-errors
description: Restriction on `await`
info: |
LabelIdentifier : Identifier
- It is a Syntax Error if the code matched by this production is nested,
directly or indirectly (but not crossing function or static initialization
block boundaries), within a ClassStaticBlock and the StringValue of
Identifier is "await".
negative:
phase: parse
type: SyntaxError
features: [class-static-block]
--- |
674 |
- |
| tco.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]
--- |
532 |
- |
| value-await-module-escaped.js |
---
esid: sec-identifiers-static-semantics-early-errors
description: >
`await` is a reserved identifier in module code and may not be used as a label.
info: |
Identifier : IdentifierName but not ReservedWord
It is a Syntax Error if the goal symbol of the syntactic grammar is Module and
the StringValue of IdentifierName is "await".
negative:
phase: parse
type: SyntaxError
flags: [module]
--- |
577 |
- |
| value-await-module.js |
---
esid: sec-identifiers-static-semantics-early-errors
description: >
`await` is a reserved identifier in module code and may not be used as a label.
info: |
LabelIdentifier : await
It is a Syntax Error if the goal symbol of the syntactic grammar is Module.
negative:
phase: parse
type: SyntaxError
flags: [module]
--- |
496 |
- |
| value-await-non-module-escaped.js |
---
esid: sec-identifiers-static-semantics-early-errors
description: >
`await` is not a reserved identifier in non-module code and may be used as a label.
info: |
Identifier : IdentifierName but not ReservedWord
It is a Syntax Error if the goal symbol of the syntactic grammar is Module and
the StringValue of IdentifierName is "await".
--- |
501 |
- |
| value-await-non-module.js |
---
esid: sec-identifiers-static-semantics-early-errors
description: >
`await` is not a reserved identifier in non-module code and may be used as a label.
info: |
LabelIdentifier : await
It is a Syntax Error if the goal symbol of the syntactic grammar is Module.
--- |
420 |
- |
| value-yield-non-strict-escaped.js |
---
esid: sec-identifiers-static-semantics-early-errors
description: >
`yield` is not a reserved identifier in non-strict mode code and may be used as a label.
flags: [noStrict]
--- |
335 |
- |
| value-yield-non-strict.js |
---
description: >
`yield` is not a reserved identifier in non-strict mode code and may be
used as a label.
es6id: 12.1.1
flags: [noStrict]
--- |
306 |
- |
| value-yield-strict-escaped.js |
---
esid: sec-identifiers-static-semantics-early-errors
description: >
`yield` is a reserved identifier in strict mode code and may not be used as a label.
info: |
Identifier : IdentifierName but not ReservedWord
It is a Syntax Error if this phrase is contained in strict mode code and the
StringValue of IdentifierName is: "implements", "interface", "let", "package",
"private", "protected", "public", "static", or "yield".
negative:
phase: parse
type: SyntaxError
flags: [onlyStrict]
--- |
675 |
- |
| value-yield-strict.js |
---
description: >
`yield` is a reserved identifier in strict mode code and may not be used
as a label.
es6id: 12.1.1
negative:
phase: parse
type: SyntaxError
flags: [onlyStrict]
--- |
368 |
- |