Name Description Size Coverage
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 -