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 |
get-binding-value-call-with-proxy-env.js |
---
esid: sec-object-environment-records-getbindingvalue-n-s
description: >
Lookups in proxy binding object for call expression.
info: |
9.1.1.2.1 HasBinding ( N )
1. Let bindingObject be envRec.[[BindingObject]].
2. Let foundBinding be ? HasProperty(bindingObject, N).
3. If foundBinding is false, return false.
...
5. Let unscopables be ? Get(bindingObject, %Symbol.unscopables%).
...
7. Return true.
9.1.1.2.6 GetBindingValue ( N, S )
1. Let bindingObject be envRec.[[BindingObject]].
2. Let value be ? HasProperty(bindingObject, N).
3. If value is false, then
a. If S is false, return undefined; otherwise throw a ReferenceError exception.
4. Return ? Get(bindingObject, N).
features: [Proxy, Reflect]
flags: [noStrict]
includes: [compareArray.js, proxyTrapsHelper.js]
--- |
1567 |
get-binding-value-idref-with-proxy-env.js |
---
esid: sec-object-environment-records-getbindingvalue-n-s
description: >
Lookups in proxy binding object for identifier reference.
info: |
9.1.1.2.1 HasBinding ( N )
1. Let bindingObject be envRec.[[BindingObject]].
2. Let foundBinding be ? HasProperty(bindingObject, N).
3. If foundBinding is false, return false.
...
5. Let unscopables be ? Get(bindingObject, %Symbol.unscopables%).
...
7. Return true.
9.1.1.2.6 GetBindingValue ( N, S )
1. Let bindingObject be envRec.[[BindingObject]].
2. Let value be ? HasProperty(bindingObject, N).
3. If value is false, then
a. If S is false, return undefined; otherwise throw a ReferenceError exception.
4. Return ? Get(bindingObject, N).
features: [Proxy, Reflect]
flags: [noStrict]
includes: [compareArray.js, proxyTrapsHelper.js]
--- |
1570 |
get-mutable-binding-binding-deleted-in-get-unscopables-strict-mode.js |
---
esid: sec-object-environment-records-getbindingvalue-n-s
description: >
Binding deleted when retrieving unscopables.
info: |
9.1.1.2.6 GetBindingValue ( N, S )
1. Let bindingObject be envRec.[[BindingObject]].
2. Let value be ? HasProperty(bindingObject, N).
3. If value is false, then
a. If S is false, return undefined; otherwise throw a ReferenceError exception.
...
flags: [noStrict]
features: [Symbol.unscopables]
--- |
1024 |
get-mutable-binding-binding-deleted-in-get-unscopables.js |
---
esid: sec-object-environment-records-getbindingvalue-n-s
description: >
Binding deleted when retrieving unscopables.
info: |
9.1.1.2.6 GetBindingValue ( N, S )
1. Let bindingObject be envRec.[[BindingObject]].
2. Let value be ? HasProperty(bindingObject, N).
3. If value is false, then
a. If S is false, return undefined; otherwise throw a ReferenceError exception.
...
flags: [noStrict]
features: [Symbol.unscopables]
--- |
962 |
has-binding-call-with-proxy-env.js |
---
esid: sec-object-environment-records-hasbinding-n
description: >
Lookups in proxy binding object for call expression.
info: |
9.1.1.2.1 HasBinding ( N )
1. Let bindingObject be envRec.[[BindingObject]].
2. Let foundBinding be ? HasProperty(bindingObject, N).
3. If foundBinding is false, return false.
...
features: [Proxy, Reflect]
flags: [noStrict]
includes: [compareArray.js, proxyTrapsHelper.js]
--- |
879 |
has-binding-idref-with-proxy-env.js |
---
esid: sec-object-environment-records-hasbinding-n
description: >
Lookups in proxy binding object for identifier reference.
info: |
9.1.1.2.1 HasBinding ( N )
1. Let bindingObject be envRec.[[BindingObject]].
2. Let foundBinding be ? HasProperty(bindingObject, N).
3. If foundBinding is false, return false.
...
features: [Proxy, Reflect]
flags: [noStrict]
includes: [compareArray.js, proxyTrapsHelper.js]
--- |
882 |
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 |
set-mutable-binding-binding-deleted-in-get-unscopables-strict-mode.js |
---
esid: sec-object-environment-records-setmutablebinding-n-v-s
description: >
Binding deleted when retrieving unscopables.
info: |
9.1.1.2.5 SetMutableBinding ( N, V, S )
1. Let bindingObject be envRec.[[BindingObject]].
2. Let stillExists be ? HasProperty(bindingObject, N).
3. If stillExists is false and S is true, throw a ReferenceError exception.
...
flags: [noStrict]
features: [Symbol.unscopables]
--- |
1024 |
set-mutable-binding-binding-deleted-in-get-unscopables.js |
---
esid: sec-object-environment-records-setmutablebinding-n-v-s
description: >
Binding deleted when retrieving unscopables.
info: |
9.1.1.2.5 SetMutableBinding ( N, V, S )
1. Let bindingObject be envRec.[[BindingObject]].
2. Let stillExists be ? HasProperty(bindingObject, N).
3. If stillExists is false and S is true, throw a ReferenceError exception.
4. Perform ? Set(bindingObject, N, V, S).
...
flags: [noStrict]
features: [Symbol.unscopables]
includes: [propertyHelper.js]
--- |
1041 |
set-mutable-binding-binding-deleted-with-typed-array-in-proto-chain-strict-mode.js |
---
esid: sec-object-environment-records-setmutablebinding-n-v-s
description: >
Typed Array index binding deleted from object.
info: |
9.1.1.2.5 SetMutableBinding ( N, V, S )
1. Let bindingObject be envRec.[[BindingObject]].
2. Let stillExists be ? HasProperty(bindingObject, N).
3. If stillExists is false and S is true, throw a ReferenceError exception.
...
flags: [noStrict]
features: [TypedArray]
--- |
920 |
set-mutable-binding-binding-deleted-with-typed-array-in-proto-chain.js |
---
esid: sec-object-environment-records-setmutablebinding-n-v-s
description: >
Typed Array index binding deleted from object.
info: |
9.1.1.2.5 SetMutableBinding ( N, V, S )
1. Let bindingObject be envRec.[[BindingObject]].
2. Let stillExists be ? HasProperty(bindingObject, N).
3. If stillExists is false and S is true, throw a ReferenceError exception.
4. Perform ? Set(bindingObject, N, V, S).
flags: [noStrict]
features: [TypedArray]
--- |
887 |
set-mutable-binding-idref-compound-assign-with-proxy-env.js |
---
esid: sec-object-environment-records-setmutablebinding-n-v-s
description: >
Lookups in proxy binding object for identifier reference.
info: |
9.1.1.2.1 HasBinding ( N )
1. Let bindingObject be envRec.[[BindingObject]].
2. Let foundBinding be ? HasProperty(bindingObject, N).
3. If foundBinding is false, return false.
...
5. Let unscopables be ? Get(bindingObject, %Symbol.unscopables%).
...
7. Return true.
9.1.1.2.6 GetBindingValue ( N, S )
1. Let bindingObject be envRec.[[BindingObject]].
2. Let value be ? HasProperty(bindingObject, N).
3. If value is false, then
a. If S is false, return undefined; otherwise throw a ReferenceError exception.
4. Return ? Get(bindingObject, N).
9.1.1.2.5 SetMutableBinding ( N, V, S )
1. Let bindingObject be envRec.[[BindingObject]].
2. Let stillExists be ? HasProperty(bindingObject, N).
...
4. Perform ? Set(bindingObject, N, V, S).
...
10.1.9.2 OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
...
2. If IsDataDescriptor(ownDesc) is true, then
...
c. Let existingDescriptor be ? Receiver.[[GetOwnProperty]](P).
d. If existingDescriptor is not undefined, then
...
iv. Return ? Receiver.[[DefineOwnProperty]](P, valueDesc).
...
features: [Proxy, Reflect]
flags: [noStrict]
includes: [compareArray.js, proxyTrapsHelper.js]
--- |
2643 |
set-mutable-binding-idref-with-proxy-env.js |
---
esid: sec-object-environment-records-setmutablebinding-n-v-s
description: >
Lookups in proxy binding object for identifier reference.
info: |
9.1.1.2.1 HasBinding ( N )
1. Let bindingObject be envRec.[[BindingObject]].
2. Let foundBinding be ? HasProperty(bindingObject, N).
3. If foundBinding is false, return false.
...
5. Let unscopables be ? Get(bindingObject, %Symbol.unscopables%).
...
7. Return true.
9.1.1.2.5 SetMutableBinding ( N, V, S )
1. Let bindingObject be envRec.[[BindingObject]].
2. Let stillExists be ? HasProperty(bindingObject, N).
...
4. Perform ? Set(bindingObject, N, V, S).
...
10.1.9.2 OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc )
...
2. If IsDataDescriptor(ownDesc) is true, then
...
c. Let existingDescriptor be ? Receiver.[[GetOwnProperty]](P).
d. If existingDescriptor is not undefined, then
...
iv. Return ? Receiver.[[DefineOwnProperty]](P, valueDesc).
...
features: [Proxy, Reflect]
flags: [noStrict]
includes: [compareArray.js, proxyTrapsHelper.js]
--- |
2256 |
shell.js |
---
description: |
Used to assert the correctness of object behavior in the presence
and context of Proxy objects.
defines: [allowProxyTraps]
--- |
1810 |
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 |
strict-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 |
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 |