Name Description Size
browser.js 0
escaped-let.js --- esid: sec-grammar-notation description: > The `let` contextual keyword must not contain Unicode escape sequences. info: | Terminal symbols are shown in fixed width font, both in the productions of the grammars and throughout this specification whenever the text directly refers to such a terminal symbol. These are to appear in a script exactly as written. All terminal symbol code points specified in this way are to be understood as the appropriate Unicode code points from the Basic Latin range, as opposed to any similar-looking code points from other Unicode ranges. flags: [noStrict] --- 1037
identifier-let-allowed-as-lefthandside-expression-strict-strict.js --- es6id: 13.6.0.1 description: > for declaration: identifier "let" disallowed as lefthandside expression in strict mode flags: [onlyStrict] negative: phase: parse type: SyntaxError --- 443
identifier-let-disallowed-as-boundname.js --- es6id: 13.6.4.1 description: > It is a Syntax Error if the BoundNames of ForDeclaration contains "let". negative: phase: parse type: SyntaxError --- 378
let-closure-inside-condition.js --- es6id: 13.1 description: > let: closure inside for loop condition --- 384
let-closure-inside-initialization.js --- es6id: 13.1 description: > let: closure inside for loop initialization --- 396
let-closure-inside-next-expression.js --- es6id: 13.1 description: > let: closure inside for loop next-expression --- 394
let-iteration-variable-is-freshly-allocated-for-each-iteration-multi-let-binding.js --- es6id: 13.1 description: > In a normal for statement the iteration variable is freshly allocated for each iteration. Multi let binding --- 549
let-iteration-variable-is-freshly-allocated-for-each-iteration-single-let-binding.js --- es6id: 13.1 description: > In a normal for statement the iteration variable is freshly allocated for each iteration. Single let binding --- 456
let-let-declaration-split-across-two-lines.js --- author: Jeff Walden es6id: 13.3.1.1 description: > let: |let let| split across two lines is not subject to automatic semicolon insertion. info: | |let| followed by a name is a lexical declaration. This is so even if the name is on a new line. ASI applies *only* if an offending token not allowed by the grammar is encountered, and there's no [no LineTerminator here] restriction in LexicalDeclaration or ForDeclaration forbidding a line break. It's a tricky point, but this is true *even if* the name is "let", a name that can't be bound by LexicalDeclaration or ForDeclaration. Per 5.3, static semantics early errors are validated *after* determining productions matching the source text. So in this testcase, the eval text matches LexicalDeclaration. No ASI occurs, because "let\nlet = ..." matches LexicalDeclaration before static semantics are considered. *Then* 13.3.1.1's static semantics for the LexicalDeclaration just chosen, per 5.3, are validated to recognize the Script as invalid. Thus the eval script can't be evaluated, and a SyntaxError is thrown. negative: phase: parse type: SyntaxError --- 1415
let-let-declaration-with-initializer-split-across-two-lines.js --- author: Jeff Walden es6id: 13.3.1.1 description: > let: |let let| split across two lines is not subject to automatic semicolon insertion. info: | |let| followed by a name is a lexical declaration. This is so even if the name is on a new line. ASI applies *only* if an offending token not allowed by the grammar is encountered, and there's no [no LineTerminator here] restriction in LexicalDeclaration or ForDeclaration forbidding a line break. It's a tricky point, but this is true *even if* the name is "let", a name that can't be bound by LexicalDeclaration or ForDeclaration. Per 5.3, static semantics early errors are validated *after* determining productions matching the source text. So in this testcase, the eval text matches LexicalDeclaration. No ASI occurs, because "let\nlet = ..." matches LexicalDeclaration before static semantics are considered. *Then* 13.3.1.1's static semantics for the LexicalDeclaration just chosen, per 5.3, are validated to recognize the Script as invalid. Thus the eval script can't be evaluated, and a SyntaxError is thrown. negative: phase: parse type: SyntaxError --- 1442
let-newline-await-in-normal-function.js --- author: Jeff Walden <jwalden+code@mit.edu> esid: sec-let-and-const-declarations description: > `let await` does not permit ASI in between, as `await` is a BindingIdentifier info: | `await` is a perfectly cromulent binding name in any context grammatically, just prohibited by static semantics in some contexts. Therefore ASI can never apply between `let` (where a LexicalDeclaration is permitted) and `await`, so a subsequent `0` where `=` was expected is a syntax error. negative: phase: parse type: SyntaxError --- 765
let-newline-yield-in-generator-function.js --- author: Jeff Walden <jwalden+code@mit.edu> esid: sec-let-and-const-declarations description: > `let yield` does not permit ASI in between, as `yield` is a BindingIdentifier info: | `yield` is a perfectly cromulent binding name in any context grammatically, just prohibited by static semantics in some contexts. Therefore ASI can never apply between `let` (where a LexicalDeclaration is permitted) and `yield`, so a subsequent `0` where `=` was expected is a syntax error. negative: phase: parse type: SyntaxError features: [generators] --- 789
let-newline-yield-in-normal-function.js --- esid: sec-let-and-const-declarations description: > `let yield` does not permit ASI in between, as `yield` is a BindingIdentifier info: | `yield` is a perfectly cromulent binding name in any context grammatically, just prohibited by static semantics in some contexts. Therefore ASI can never apply between `let` (where a LexicalDeclaration is permitted) and `yield`, so a subsequent `0` where `=` was expected is a syntax error. negative: phase: parse type: SyntaxError --- 725
let-outer-inner-let-bindings.js --- es6id: 13.1 description: > outer let binding unchanged by for-loop let binding --- 500
let.js --- es6id: 13.1 description: > global and block scope let --- 406
shell.js 0
with-initialisers-in-statement-positions-case-expression-statement-list.js --- es6id: 13.1 description: > let declarations with initialisers in statement positions: case Expression : StatementList --- 339
with-initialisers-in-statement-positions-default-statement-list.js --- es6id: 13.1 description: > let declarations with initialisers in statement positions: default : StatementList --- 329
with-initialisers-in-statement-positions-do-statement-while-expression.js --- es6id: 13.1 description: > let declarations with initialisers in statement positions: do Statement while ( Expression ) negative: phase: parse type: SyntaxError --- 401
with-initialisers-in-statement-positions-for-statement.js --- es6id: 13.1 description: > let declarations with initialisers in statement positions: for ( ;;) Statement negative: phase: parse type: SyntaxError --- 384
with-initialisers-in-statement-positions-if-expression-statement-else-statement.js --- es6id: 13.1 description: > let declarations with initialisers in statement positions: if ( Expression ) Statement else Statement negative: phase: parse type: SyntaxError --- 411
with-initialisers-in-statement-positions-if-expression-statement.js --- es6id: 13.1 description: > let declarations with initialisers in statement positions: if ( Expression ) Statement negative: phase: parse type: SyntaxError --- 388
with-initialisers-in-statement-positions-label-statement.js --- es6id: 13.1 description: > let declarations with initialisers in statement positions: label: Statement negative: phase: parse type: SyntaxError --- 374
with-initialisers-in-statement-positions-while-expression-statement.js --- es6id: 13.1 description: > let declarations with initialisers in statement positions: while ( Expression ) Statement negative: phase: parse type: SyntaxError --- 395
without-initialisers-in-statement-positions-case-expression-statement-list.js --- es6id: 13.1 description: > let declarations without initialisers in statement positions: case Expression : StatementList --- 337
without-initialisers-in-statement-positions-default-statement-list.js --- es6id: 13.1 description: > let declarations without initialisers in statement positions: default : StatementList --- 327
without-initialisers-in-statement-positions-do-statement-while-expression.js --- es6id: 13.1 description: > let declarations without initialisers in statement positions: do Statement while ( Expression ) negative: phase: parse type: SyntaxError --- 400
without-initialisers-in-statement-positions-for-statement.js --- es6id: 13.1 description: > let declarations without initialisers in statement positions: for ( ;;) Statement negative: phase: parse type: SyntaxError --- 383
without-initialisers-in-statement-positions-if-expression-statement-else-statement.js --- es6id: 13.1 description: > let declarations without initialisers in statement positions: if ( Expression ) Statement else Statement negative: phase: parse type: SyntaxError --- 410
without-initialisers-in-statement-positions-if-expression-statement.js --- es6id: 13.1 description: > let declarations without initialisers in statement positions: if ( Expression ) Statement negative: phase: parse type: SyntaxError --- 387
without-initialisers-in-statement-positions-label-statement.js --- es6id: 13.1 description: > let declarations without initialisers in statement positions: label: Statement negative: phase: parse type: SyntaxError --- 373
without-initialisers-in-statement-positions-while-expression-statement.js --- es6id: 13.1 description: > let declarations without initialisers in statement positions: while ( Expression ) Statement negative: phase: parse type: SyntaxError --- 394