Name Description Size
12.10-0-1.js --- es5id: 12.10-0-1 description: > with does not change declaration scope - vars in with are visible outside flags: [noStrict] --- 500
12.10-0-3.js --- es5id: 12.10-0-3 description: with introduces scope - that is captured by function expression flags: [noStrict] --- 465
12.10-0-7.js --- es5id: 12.10-0-7 description: with introduces scope - scope removed when exiting with statement flags: [noStrict] --- 441
12.10-0-8.js --- es5id: 12.10-0-8 description: with introduces scope - var initializer sets like named property flags: [noStrict] --- 402
12.10-0-9.js --- es5id: 12.10-0-9 description: with introduces scope - name lookup finds outer variable flags: [noStrict] --- 442
12.10-0-10.js --- es5id: 12.10-0-10 description: with introduces scope - name lookup finds function parameter flags: [noStrict] --- 438
12.10-0-11.js --- es5id: 12.10-0-11 description: with introduces scope - name lookup finds inner variable flags: [noStrict] --- 446
12.10-0-12.js --- es5id: 12.10-0-12 description: with introduces scope - name lookup finds property flags: [noStrict] --- 425
12.10-2-1.js --- es5id: 12.10-2-1 description: with - expression being Number flags: [noStrict] --- 343
12.10-2-2.js --- es5id: 12.10-2-2 description: with - expression being Boolean flags: [noStrict] --- 347
12.10-2-3.js --- es5id: 12.10-2-3 description: with - expression being string flags: [noStrict] --- 347
12.10-2-4.js --- info: ToObject conversion from undefined value must throw TypeError es5id: 12.10-2-4 description: Trying to convert undefined to Object flags: [noStrict] --- 607
12.10-2-5.js --- info: ToObject conversion from null value must throw TypeError es5id: 12.10-2-5 description: Trying to convert null to Object flags: [noStrict] --- 592
12.10-7-1.js --- es5id: 12.10-7-1 description: with introduces scope - restores the earlier environment on exit flags: [noStrict] --- 499
12.10.1-4-s.js --- es5id: 12.10.1-4-s description: with statement in strict mode throws SyntaxError (strict Function) flags: [noStrict] --- 494
12.10.1-5-s-strict.js --- es5id: 12.10.1-5-s description: > with statement allowed in nested Function even if its container Function is strict) flags: [onlyStrict] --- 413
12.10.1-8-s.js --- es5id: 12.10.1-8-s description: > with statement in strict mode throws SyntaxError (function expression, where the container Function is strict) flags: [noStrict] --- 573
12.10.1-10-s-strict.js --- es5id: 12.10.1-10-s description: > with statement in strict mode throws SyntaxError (eval, where the container function is strict) flags: [onlyStrict] --- 650
12.10.1-11gs-strict.js --- es5id: 12.10.1-11gs description: Strict Mode - SyntaxError is thrown when using with statement negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 387
12.10.1-12-s.js --- es5id: 12.10.1-12-s description: with statement in strict mode throws SyntaxError (strict eval) flags: [noStrict] --- 427
12.10.1-13-s.js --- es5id: 12.10.1-13-s description: > Strict Mode - SyntaxError isn't thrown when WithStatement body is in strict mode code flags: [noStrict] --- 374
binding-blocked-by-unscopables.js --- es6id: 8.1.1.2.1 description: > True-coercing `Symbol.unscopables` properties block access to object environment record info: | [...] 6. If the withEnvironment flag of envRec is false, return true. 7. Let unscopables be Get(bindings, @@unscopables). 8. ReturnIfAbrupt(unscopables). 9. If Type(unscopables) is Object, then a. Let blocked be ToBoolean(Get(unscopables, N)). b. ReturnIfAbrupt(blocked). c. If blocked is true, return false. ES6: 13.11.7 (The `with` Statement) Runtime Semantics: Evaluation [...] 6. Set the withEnvironment flag of newEnv’s EnvironmentRecord to true. [...] flags: [noStrict] features: [Symbol.unscopables] --- 1400
binding-not-blocked-by-unscopables-falsey-prop.js --- es6id: 8.1.1.2.1 description: > False-coercing `Symbol.unscopables` properties do not block access to object environment record info: | [...] 6. If the withEnvironment flag of envRec is false, return true. 7. Let unscopables be Get(bindings, @@unscopables). 8. ReturnIfAbrupt(unscopables). 9. If Type(unscopables) is Object, then a. Let blocked be ToBoolean(Get(unscopables, N)). b. ReturnIfAbrupt(blocked). c. If blocked is true, return false. 10. Return true. ES6: 13.11.7 (The `with` Statement) Runtime Semantics: Evaluation [...] 6. Set the withEnvironment flag of newEnv’s EnvironmentRecord to true. [...] flags: [noStrict] features: [Symbol.unscopables] --- 1525
binding-not-blocked-by-unscopables-non-obj.js --- es6id: 8.1.1.2.1 description: Non-object values of `Symbol.unscopables` property are ignored info: | [...] 6. If the withEnvironment flag of envRec is false, return true. 7. Let unscopables be Get(bindings, @@unscopables). 8. ReturnIfAbrupt(unscopables). 9. If Type(unscopables) is Object, then a. Let blocked be ToBoolean(Get(unscopables, N)). b. ReturnIfAbrupt(blocked). c. If blocked is true, return false. 10. Return true. ES6: 13.11.7 (The `with` Statement) Runtime Semantics: Evaluation [...] 6. Set the withEnvironment flag of newEnv’s EnvironmentRecord to true. [...] flags: [noStrict] features: [Symbol.unscopables] --- 1009
browser.js 0
cptn-abrupt-empty.js --- esid: sec-with-statement-runtime-semantics-evaluation description: > Statement completion value when body returns an empty abrupt completion info: | WithStatement : with ( Expression ) Statement [...] 7. Let C be the result of evaluating Statement. 8. Set the running execution context's LexicalEnvironment to oldEnv. 9. Return Completion(UpdateEmpty(C, undefined)). flags: [noStrict] --- 956
cptn-nrml.js --- es6id: 13.11.7 description: Statement completion value when body returns a normal completion info: | WithStatement : with ( Expression ) Statement [...] 8. Let C be the result of evaluating Statement. 9. Set the running execution context’s Lexical Environment to oldEnv. 10. If C.[[type]] is normal and C.[[value]] is empty, return NormalCompletion(undefined). 11. Return Completion(C). flags: [noStrict] --- 716
decl-async-fun.js --- esid: sec-with-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] flags: [noStrict] --- 596
decl-async-gen.js --- esid: sec-with-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] flags: [noStrict] --- 598
decl-cls.js --- description: Class declaration not allowed in statement position esid: sec-with-statement es6id: 13.11 flags: [noStrict] negative: phase: parse type: SyntaxError --- 388
decl-const.js --- description: Lexical declaration (const) not allowed in statement position esid: sec-with-statement es6id: 13.11 flags: [noStrict] negative: phase: parse type: SyntaxError --- 403
decl-fun.js --- description: Function declaration not allowed in statement position esid: sec-with-statement es6id: 13.11 flags: [noStrict] negative: phase: parse type: SyntaxError --- 396
decl-gen.js --- description: Generator declaration not allowed in statement position esid: sec-with-statement es6id: 13.11 flags: [noStrict] negative: phase: parse type: SyntaxError features: [generators] --- 421
decl-let.js --- description: Lexical declaration (let) not allowed in statement position esid: sec-with-statement es6id: 13.11 flags: [noStrict] negative: phase: parse type: SyntaxError --- 392
has-property-err.js --- esid: sec-getidentifierreference es6id: 8.1.2.1 description: > Behavior when binding query produces an abrupt completion info: | [...] 2. Let envRec be lex's EnvironmentRecord. 3. Let exists be ? envRec.HasBinding(name). 8.1.1.2.1 HasBinding 1. Let envRec be the object Environment Record for which the method was invoked. 2. Let bindings be the binding object for envRec. 3. Let foundBinding be ? HasProperty(bindings, N). flags: [noStrict] features: [Proxy] --- 872
labelled-fn-stmt.js --- esid: sec-with-statement-static-semantics-early-errors es6id: 13.11.1 description: > A labelled function declaration is never permitted in the Statement position info: | WithStatementa: with ( Expression ) Statement [...] - It is a Syntax Error if IsLabelledFunction(Statement) is true. NOTE It is only necessary to apply the second rule if the extension specified in B.3.2 is implemented. In the absence of Annex B.3.2, a SyntaxError should be produced due to the labelled function declaration itself. negative: phase: parse type: SyntaxError --- 821
let-array-with-newline.js --- esid: sec-with-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] --- 649
let-block-with-newline.js --- esid: sec-with-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] --- 586
let-identifier-with-newline.js --- esid: sec-with-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] --- 609
S12.10_A1.1_T1.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.1_T1 description: Using "with" inside of global context leading to normal completion flags: [noStrict] --- 3528
S12.10_A1.1_T2.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.1_T2 description: > Using "with" inside of global context leading to completion by exception flags: [noStrict] --- 3744
S12.10_A1.1_T3.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.1_T3 description: > Using "with" inside of global context leading to completion by exception flags: [noStrict] --- 4027
S12.10_A1.2_T1.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.2_T1 description: > Calling a function without "with" statement when the statement itself is declared within the function declaration, leading to normal completion flags: [noStrict] --- 3644
S12.10_A1.2_T2.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.2_T2 description: > Calling a function without "with" statement when the statement itself is declared within the function declaration, leading to normal completion by "return" flags: [noStrict] --- 3796
S12.10_A1.2_T3.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.2_T3 description: > Calling a function without "with" statement when the statement itself is declared within the function declaration, leading to normal completion by "return" flags: [noStrict] --- 4069
S12.10_A1.2_T4.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.2_T4 description: > Calling a function without "with" statement when the statement itself is declared within the function declaration, leading to completion by exception flags: [noStrict] --- 3858
S12.10_A1.2_T5.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.2_T5 description: > Calling a function without "with" statement when the statement itself is declared within the function declaration, leading to completion by exception flags: [noStrict] --- 4046
S12.10_A1.3_T1.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.3_T1 description: > Using "with" statement within function constructor, leading to normal completition flags: [noStrict] --- 3587
S12.10_A1.3_T2.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.3_T2 description: > Using "with" statement within function constructor, leading to normal completition by "return" flags: [noStrict] --- 3617
S12.10_A1.3_T3.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.3_T3 description: > Using "with" statement within function constructor, leading to normal completition by "return" flags: [noStrict] --- 3884
S12.10_A1.3_T4.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.3_T4 description: > Using "with" statement within function constructor, leading to completition by exception flags: [noStrict] --- 3716
S12.10_A1.3_T5.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.3_T5 description: > Using "with" statement within function constructor, leading to completition by exception flags: [noStrict] --- 4080
S12.10_A1.4_T1.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.4_T1 description: > Using "with" statement within iteration statement, leading to normal completion flags: [noStrict] --- 3607
S12.10_A1.4_T2.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.4_T2 description: > Using "with" statement within iteration statement, leading to completion by exception flags: [noStrict] --- 3821
S12.10_A1.4_T3.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.4_T3 description: > Using "with" statement within iteration statement, leading to completion by exception flags: [noStrict] --- 4104
S12.10_A1.4_T4.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.4_T4 description: > Using "with" statement within iteration statement, leading to completion by break flags: [noStrict] --- 3620
S12.10_A1.4_T5.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.4_T5 description: > Using "with" statement within iteration statement, leading to completion by break flags: [noStrict] --- 3890
S12.10_A1.5_T1.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.5_T1 description: > Using "with" statement within "for-in" statement, leading to normal completion flags: [noStrict] --- 3872
S12.10_A1.5_T2.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.5_T2 description: > Using "with" statement within "for-in" statement, leading to completion by exception flags: [noStrict] --- 3824
S12.10_A1.5_T3.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.5_T3 description: > Using "with" statement within "for-in" statement, leading to completion by exception flags: [noStrict] --- 4379
S12.10_A1.5_T4.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.5_T4 description: > Using "with" statement within "for-in" statement, leading to completion by break flags: [noStrict] --- 3625
S12.10_A1.5_T5.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.5_T5 description: > Using "with" statement within "for-in" statement, leading to completion by break flags: [noStrict] --- 4156
S12.10_A1.6_T1.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.6_T1 description: > Using "with" statement within another "with" statement, leading to normal completion flags: [noStrict] --- 3607
S12.10_A1.6_T2.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.6_T2 description: > Using "with" statement within another "with" statement, leading to completion by exception flags: [noStrict] --- 3819
S12.10_A1.6_T3.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.6_T3 description: > Using "with" statement within another "with" statement, leading to completion by exception flags: [noStrict] --- 4102
S12.10_A1.7_T1.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.7_T1 description: > Calling a function within "with" statement declared within the statement, leading to normal completion flags: [noStrict] --- 3613
S12.10_A1.7_T2.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.7_T2 description: > Calling a function within "with" statement declared within the statement, leading to normal completion by "return" flags: [noStrict] --- 3765
S12.10_A1.7_T3.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.7_T3 description: > Calling a function within "with" statement declared within the statement, leading to normal completion by "return" flags: [noStrict] --- 4018
S12.10_A1.7_T4.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.7_T4 description: > Calling a function within "with" statement declared within the statement, leading to completion by exception flags: [noStrict] --- 3827
S12.10_A1.7_T5.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.7_T5 description: > Calling a function within "with" statement declared within the statement, leading to completion by exception flags: [noStrict] --- 4080
S12.10_A1.8_T1.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.8_T1 description: > Declaring function constructor within "with" statement, leading to normal completion flags: [noStrict] --- 3603
S12.10_A1.8_T2.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.8_T2 description: > Declaring function constructor within "with" statement, leading to normal completion by "return" flags: [noStrict] --- 3632
S12.10_A1.8_T3.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.8_T3 description: > Declaring function constructor within "with" statement, leading to normal completion by "return" flags: [noStrict] --- 3888
S12.10_A1.8_T4.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.8_T4 description: > Declaring function constructor within "with" statement, leading to completion by exception flags: [noStrict] --- 3816
S12.10_A1.8_T5.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.8_T5 description: > Declaring function constructor within "with" statement, leading to completion by exception flags: [noStrict] --- 4076
S12.10_A1.9_T1.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.9_T1 description: > Using "for-in" statement within "with" statement, leading to normal completion flags: [noStrict] --- 3872
S12.10_A1.9_T2.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.9_T2 description: > Using "for-in" statement within "with" statement, leading to completion by break flags: [noStrict] --- 3625
S12.10_A1.9_T3.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.9_T3 description: > Using "for-in" statement within "with" statement, leading to completion by break flags: [noStrict] --- 4156
S12.10_A1.10_T1.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.10_T1 description: > Using interation statement within "with" statement leading to normal completion flags: [noStrict] --- 3610
S12.10_A1.10_T2.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.10_T2 description: > Using iteration statement within "with" statement leading to completion by exception flags: [noStrict] --- 3823
S12.10_A1.10_T3.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.10_T3 description: > Using iteration statment withing "with" statement leading to completion by exception iteration statement inside with statement - exception completion flags: [noStrict] --- 4176
S12.10_A1.10_T4.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.10_T4 description: > Using iteration statement witthin "with" staement leading to completion by break iteration statement inside with statement - break completion flags: [noStrict] --- 3688
S12.10_A1.10_T5.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.10_T5 description: > Using iteration statement within "with" statement leading to completion by break flags: [noStrict] --- 3893
S12.10_A1.11_T1.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.11_T1 description: > Calling a function within "with" statement declared without the statement, leading to normal completion flags: [noStrict] --- 3753
S12.10_A1.11_T2.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.11_T2 description: > Calling a function within "with" statement declared without the statement, leading to normal completion by "return" flags: [noStrict] --- 3903
S12.10_A1.11_T3.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.11_T3 description: > Calling a function within "with" statement declared without the statement, leading to normal completion by "return" flags: [noStrict] --- 3984
S12.10_A1.11_T4.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.11_T4 description: > Calling a function within "with" statement declared without the statement, leading to completion by exception flags: [noStrict] --- 3964
S12.10_A1.11_T5.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.11_T5 description: > Calling a function within "with" statement declared without the statement, leading to completion by exception flags: [noStrict] --- 4045
S12.10_A1.12_T1.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.12_T1 description: > Calling a function without "with" statement declared within the statement, leading to normal completion flags: [noStrict] --- 3614
S12.10_A1.12_T2.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.12_T2 description: > Calling a function without "with" statement declared within the statement, leading to normal completion by "return" flags: [noStrict] --- 3760
S12.10_A1.12_T3.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.12_T3 description: > Calling a function without "with" statement declared within the statement, leading to normal completion by "return" flags: [noStrict] --- 4018
S12.10_A1.12_T4.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.12_T4 description: > Calling a function without "with" statement declared within the statement, leading to completion by exception flags: [noStrict] --- 3833
S12.10_A1.12_T5.js --- info: | The with statement adds a computed object to the front of the scope chain of the current execution context es5id: 12.10_A1.12_T5 description: > Calling a function without "with" statement declared within the statement, leading to completion by exception flags: [noStrict] --- 4080
S12.10_A3.1_T1.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.1_T1 description: Using "with" statement within global context - normal completion flags: [noStrict] --- 1121
S12.10_A3.1_T2.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.1_T2 description: > Using "with" statement within global context, leading to completion by exception flags: [noStrict] --- 1497
S12.10_A3.1_T3.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.1_T3 description: > Using "with" statement within global context, leading to completion by exception flags: [noStrict] --- 1492
S12.10_A3.2_T1.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.2_T1 description: > Declaring "with" statement within a function body, leading to normal completion flags: [noStrict] --- 1185
S12.10_A3.2_T2.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.2_T2 description: > Declaring "with" statement within a function body, leading to normal completion by "return" flags: [noStrict] --- 1224
S12.10_A3.2_T3.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.2_T3 description: > Declaring "with" statement within a function body, leading to normal completion by "return" flags: [noStrict] --- 1218
S12.10_A3.2_T4.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.2_T4 description: > Declaring "with" statement within a function body, leading to completion by exception flags: [noStrict] --- 1552
S12.10_A3.2_T5.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.2_T5 description: > Declaring "with" statement within a function body, leading to completion by exception flags: [noStrict] --- 1546
S12.10_A3.3_T1.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.3_T1 description: > Declaring "with" statement within a function constructor, leading to normal completion flags: [noStrict] --- 1216
S12.10_A3.3_T2.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.3_T2 description: > Declaring "with" statement within a function constructor, leading to normal completion by "return" flags: [noStrict] --- 1248
S12.10_A3.3_T3.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.3_T3 description: > Declaring "with" statement within a function constructor, leading to normal completion by "return" flags: [noStrict] --- 1246
S12.10_A3.3_T4.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.3_T4 description: > Declaring "with" statement within a function constructor, leading to completion by exception flags: [noStrict] --- 1541
S12.10_A3.4_T1.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.4_T1 description: > Using "with" statement within iteration statement, leading to normal completion flags: [noStrict] --- 1178
S12.10_A3.4_T2.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.4_T2 description: > Using "with" statement within iteration statement, leading to completion by exception flags: [noStrict] --- 1534
S12.10_A3.4_T3.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.4_T3 description: > Using "with" statement within iteration statement, leading to completion by exception flags: [noStrict] --- 1532
S12.10_A3.4_T4.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.4_T4 description: > Using "with" statement within iteration statement, leading to completion by break flags: [noStrict] --- 1195
S12.10_A3.4_T5.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.4_T5 description: > Using "with" statement within iteration statement, leading to completion by break flags: [noStrict] --- 1193
S12.10_A3.5_T1.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.5_T1 description: > Using "with" statement within "for-in" statement, leading to normal completion flags: [noStrict] --- 1182
S12.10_A3.5_T2.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.5_T2 description: > Using "with" statement within "for-in" statement, leading to completion by exception flags: [noStrict] --- 1539
S12.10_A3.5_T3.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.5_T3 description: > Using "with" statement within "for-in" statement, leading to completion by exception flags: [noStrict] --- 1537
S12.10_A3.5_T4.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.5_T4 description: > Using "with" statement within "for-in" statement, leading to completion by break flags: [noStrict] --- 1199
S12.10_A3.5_T5.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.5_T5 description: > Using "with" statement within "for-in" statement, leading to completion by break flags: [noStrict] --- 1197
S12.10_A3.6_T1.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.6_T1 description: > Using "with" statement within another "with" statement, leading to normal completion flags: [noStrict] --- 1583
S12.10_A3.6_T2.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.6_T2 description: > Using "with" statement within another "with" statement, leading to completion by exception flags: [noStrict] --- 1674
S12.10_A3.6_T3.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.6_T3 description: > Using "with" statement within another "with" statement, leading to completion by exception flags: [noStrict] --- 1687
S12.10_A3.7_T1.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.7_T1 description: > Declaring and calling a function within "with" statement, leading to normal completion flags: [noStrict] --- 1183
S12.10_A3.7_T2.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.7_T2 description: > Declaring and calling a function within "with" statement, leading to normal completion by "return" flags: [noStrict] --- 1517
S12.10_A3.7_T3.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.7_T3 description: > Declaring and calling a function within "with" statement, leading to normal completion by "return" flags: [noStrict] --- 1517
S12.10_A3.7_T4.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.7_T4 description: > Declaring and calling a function within "with" statement, leading to completion by exception flags: [noStrict] --- 1541
S12.10_A3.7_T5.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.7_T5 description: > Declaring and calling a function within "with" statement, leading to completion by exception flags: [noStrict] --- 1540
S12.10_A3.8_T1.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.8_T1 description: > Declaring function constructor within "with" statement, leading to normal completion flags: [noStrict] --- 1221
S12.10_A3.8_T2.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.8_T2 description: > Declaring function constructor within "with" statement, leading to normal completion by "return" flags: [noStrict] --- 1255
S12.10_A3.8_T3.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.8_T3 description: > Declaring function constructor within "with" statement, leading to normal completion by "return" flags: [noStrict] --- 1233
S12.10_A3.8_T4.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.8_T4 description: > Declaring function constructor within "with" statement, leading to completion by exception flags: [noStrict] --- 1582
S12.10_A3.8_T5.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.8_T5 description: > Declaring function constructor within "with" statement, leading to completion by exception flags: [noStrict] --- 1580
S12.10_A3.9_T1.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.9_T1 description: > Using "for-in" statement within "with" statement, leading to normal completion flags: [noStrict] --- 1182
S12.10_A3.9_T2.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.9_T2 description: > Using "for-in" statement within "with" statement, leading to completion by break flags: [noStrict] --- 1199
S12.10_A3.9_T3.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.9_T3 description: > Using "for-in" statement within "with" statement, leading to completion by break flags: [noStrict] --- 1197
S12.10_A3.10_T1.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.10_T1 description: > Using iteration statement within "with" statement, leading to normal completion flags: [noStrict] --- 1178
S12.10_A3.10_T2.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.10_T2 description: > Using iteration statement within "with" statement, leading completion by exception flags: [noStrict] --- 1532
S12.10_A3.10_T3.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.10_T3 description: > Using iteration statement within "with" statement, leading completion by exception flags: [noStrict] --- 1530
S12.10_A3.10_T4.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.10_T4 description: > Using iteration statement within "with" statement, leading completion be break flags: [noStrict] --- 1192
S12.10_A3.10_T5.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.10_T5 description: > Using iteration statement within "with" statement, leading completion be break flags: [noStrict] --- 1190
S12.10_A3.11_T1.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.11_T1 description: > Calling a function within "with" statement declared without the statement, leading to normal completion flags: [noStrict] --- 877
S12.10_A3.11_T2.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.11_T2 description: > Calling a function within "with" statement declared without the statement, leading to normal completion by "return" flags: [noStrict] --- 1048
S12.10_A3.11_T3.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.11_T3 description: > Calling a function within "with" statement declared without the statement, leading to normal completion by "return" flags: [noStrict] --- 1042
S12.10_A3.11_T4.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.11_T4 description: > Calling a function within "with" statement declared without the statement, leading to completion by exception flags: [noStrict] --- 1082
S12.10_A3.11_T5.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.11_T5 description: > Calling a function within "with" statement declared without the statement, leading to completion by exception flags: [noStrict] --- 1073
S12.10_A3.12_T1.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.12_T1 description: > Calling a function without "with" statement declared within the statement, leading to normal completion flags: [noStrict] --- 877
S12.10_A3.12_T2.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.12_T2 description: > Calling a function without "with" statement declared within the statement, leading to normal completion by "return" flags: [noStrict] --- 1061
S12.10_A3.12_T3.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.12_T3 description: > Calling a function without "with" statement declared within the statement, leading to normal completion by "return" flags: [noStrict] --- 1059
S12.10_A3.12_T4.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.12_T4 description: > Calling a function without "with" statement declared within the statement, leading to completion by exception flags: [noStrict] --- 1093
S12.10_A3.12_T5.js --- info: | No matter how control leaves the embedded 'Statement', the scope chain is always restored to its former state es5id: 12.10_A3.12_T5 description: > Calling a function without "with" statement declared within the statement, leading to completion by exception flags: [noStrict] --- 1091
S12.10_A4_T1.js --- info: Changing property using "eval" statement containing "with" statement es5id: 12.10_A4_T1 description: Changing string property flags: [noStrict] --- 911
S12.10_A4_T2.js --- info: Changing property using "eval" statement containing "with" statement es5id: 12.10_A4_T2 description: Changing number property flags: [noStrict] --- 911
S12.10_A4_T3.js --- info: Changing property using "eval" statement containing "with" statement es5id: 12.10_A4_T3 description: Changing boolean property flags: [noStrict] --- 927
S12.10_A4_T4.js --- info: Changing property using "eval" statement containing "with" statement es5id: 12.10_A4_T4 description: Changing object property flags: [noStrict] --- 1201
S12.10_A4_T5.js --- info: Changing property using "eval" statement containing "with" statement es5id: 12.10_A4_T5 description: Changing array property flags: [noStrict] --- 934
S12.10_A4_T6.js --- info: Changing property using "eval" statement containing "with" statement es5id: 12.10_A4_T6 description: Changing function property flags: [noStrict] --- 955
S12.10_A5_T1.js --- info: Deleting property using "eval" statement containing "with" statement es5id: 12.10_A5_T1 description: Deleting string property flags: [noStrict] --- 1477
S12.10_A5_T2.js --- info: Deleting property using "eval" statement containing "with" statement es5id: 12.10_A5_T2 description: Deleting number property flags: [noStrict] --- 1513
S12.10_A5_T3.js --- info: Deleting property using "eval" statement containing "with" statement es5id: 12.10_A5_T3 description: Deleting boolean property flags: [noStrict] --- 1493
S12.10_A5_T4.js --- info: Deleting property using "eval" statement containing "with" statement es5id: 12.10_A5_T4 description: Deleting object property flags: [noStrict] --- 1610
S12.10_A5_T5.js --- info: Deleting property using "eval" statement containing "with" statement es5id: 12.10_A5_T5 description: Deleting array property flags: [noStrict] --- 1595
S12.10_A5_T6.js --- info: Deleting property using "eval" statement containing "with" statement es5id: 12.10_A5_T6 description: Deleting function property flags: [noStrict] --- 1610
scope-var-close.js --- esid: sec-with-statement-runtime-semantics-evaluation es6id: 13.11.7 description: Removal of variable environment info: | 3. Let oldEnv be the running execution context's LexicalEnvironment. 4. Let newEnv be NewObjectEnvironment(obj, oldEnv). 5. Set the withEnvironment flag of newEnv's EnvironmentRecord to true. 6. Set the running execution context's LexicalEnvironment to newEnv. 7. Let C be the result of evaluating Statement. 8. Set the running execution context's LexicalEnvironment to oldEnv. flags: [noStrict] --- 939
scope-var-open.js --- esid: sec-with-statement-runtime-semantics-evaluation es6id: 13.11.7 description: Creation of new variable environment info: | 3. Let oldEnv be the running execution context's LexicalEnvironment. 4. Let newEnv be NewObjectEnvironment(obj, oldEnv). 5. Set the withEnvironment flag of newEnv's EnvironmentRecord to true. 6. Set the running execution context's LexicalEnvironment to newEnv. 7. Let C be the result of evaluating Statement. flags: [noStrict] --- 1091
shell.js 0
stict-script-strict.js --- es5id: 12.10.1-11-s description: > Strict Mode - SyntaxError is thrown when using WithStatement in strict mode code negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 411
strict-fn-decl-nested-1.js --- es5id: 12.10.1-2-s description: > with statement in strict mode throws SyntaxError (nested function where container is strict) negative: phase: parse type: SyntaxError flags: [noStrict] --- 482
strict-fn-decl-nested-2.js --- es5id: 12.10.1-3-s description: > with statement in strict mode throws SyntaxError (nested strict function) negative: phase: parse type: SyntaxError flags: [noStrict] --- 463
strict-fn-decl.js --- es5id: 12.10.1-1-s description: with statement in strict mode throws SyntaxError (strict function) flags: [noStrict] negative: phase: parse type: SyntaxError --- 423
strict-fn-expr-strict.js --- es5id: 12.10.1-7-s description: > with statement in strict mode throws SyntaxError (function expression) negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 441
strict-fn-method-strict.js --- es5id: 12.10.1-14-s description: > Strict Mode - SyntaxError is thrown when the getter of a literal object utilizes WithStatement negative: phase: parse type: SyntaxError flags: [onlyStrict] --- 448
unscopables-get-err.js --- esid: sec-getidentifierreference es6id: 8.1.2.1 description: > Behavior when accessing `Symbol.unscopables` property value throws an error info: | [...] 2. Let envRec be lex's EnvironmentRecord. 3. Let exists be ? envRec.HasBinding(name). 8.1.1.2.1 HasBinding [...] 5. If the withEnvironment flag of envRec is false, return true. 6. Let unscopables be ? Get(bindings, @@unscopables). 13.11.7 (The `with` Statement) Runtime Semantics: Evaluation [...] 5. Set the withEnvironment flag of newEnv’s EnvironmentRecord to true. [...] flags: [noStrict] features: [Symbol.unscopables] --- 967
unscopables-inc-dec.js --- esid: sec-object-environment-records-hasbinding-n description: > @@unscopables should be looked up exactly once for inc/dec. info: | UpdateExpression : LeftHandSideExpression ++ 1. Let lhs be the result of evaluating LeftHandSideExpression. GetIdentifierReference ( lex, name, strict ) [...] 3. Let exists be ? envRec.HasBinding(name). HasBinding ( N ) [...] 6. Let unscopables be ? Get(bindings, @@unscopables). flags: [noStrict] features: [Symbol.unscopables] --- 1370
unscopables-not-referenced-for-undef.js --- esid: sec-getidentifierreference es6id: 8.1.2.1 description: > `Symbol.unscopables` is not referenced when environment record does not have requested property info: | [...] 2. Let envRec be lex's EnvironmentRecord. 3. Let exists be ? envRec.HasBinding(name). 8.1.1.2.1 HasBinding 1. Let envRec be the object Environment Record for which the method was invoked. 2. Let bindings be the binding object for envRec. 3. Let foundBinding be ? HasProperty(bindings, N). 4. If foundBinding is false, return false. 13.11.7 (The `with` Statement) Runtime Semantics: Evaluation [...] 5. Set the withEnvironment flag of newEnv’s EnvironmentRecord to true. [...] flags: [noStrict] features: [Symbol.unscopables] --- 1092
unscopables-prop-get-err.js --- esid: sec-getidentifierreference es6id: 8.1.2.1 description: > Behavior when accessing property of `Symbol.unscopables` property throws an error info: | [...] 2. Let envRec be lex's EnvironmentRecord. 3. Let exists be ? envRec.HasBinding(name). 8.1.1.2.1 HasBinding [...] 5. If the withEnvironment flag of envRec is false, return true. 6. Let unscopables be ? Get(bindings, @@unscopables). 7. If Type(unscopables) is Object, then a. Let blocked be ToBoolean(? Get(unscopables, N)). b. If blocked is true, return false. 13.11.7 (The `with` Statement) Runtime Semantics: Evaluation [...] 5. Set the withEnvironment flag of newEnv’s EnvironmentRecord to true. [...] flags: [noStrict] features: [Symbol.unscopables] --- 1152