Name Description Size
11.2.3-3_1.js --- es5id: 11.2.3-3_1 description: > Call arguments are evaluated before the check is made to see if the object is actually callable (FunctionDeclaration) --- 592
11.2.3-3_2.js --- es5id: 11.2.3-3_2 description: > Call arguments are evaluated before the check is made to see if the object is actually callable (FunctionExpression) --- 598
11.2.3-3_3.js --- es5id: 11.2.3-3_3 description: > Call arguments are not evaluated before the check is made to see if the object is actually callable (undefined member) --- 598
11.2.3-3_4.js --- es5id: 11.2.3-3_4 description: > Call arguments are evaluated before the check is made to see if the object is actually callable (property) --- 865
11.2.3-3_5.js --- es5id: 11.2.3-3_5 description: > Call arguments are evaluated before the check is made to see if the object is actually callable (eval'ed) --- 589
11.2.3-3_6.js --- es5id: 11.2.3-3_6 description: > Call arguments are evaluated before the check is made to see if the object is actually callable (getter called) --- 749
11.2.3-3_7.js --- es5id: 11.2.3-3_7 description: > Call arguments are evaluated before the check is made to see if the object is actually callable (getter called as indexed property) --- 772
11.2.3-3_8.js --- es5id: 11.2.3-3_8 description: > Call arguments are evaluated before the check is made to see if the object is actually callable (global object) flags: [noStrict] --- 587
browser.js 0
eval-err-args.js --- description: Error evaluating arguments list for direct eval esid: sec-function-calls-runtime-semantics-evaluation info: | [...] 3. If Type(ref) is Reference and IsPropertyReference(ref) is false and GetReferencedName(ref) is "eval", then a. If SameValue(func, %eval%) is true, then i. Let argList be ? ArgumentListEvaluation(Arguments). 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ArgumentList : AssignmentExpression 1. Let ref be the result of evaluating AssignmentExpression. 2. Let arg be ? GetValue(ref). --- 814
eval-first-arg.js --- info: | If the eval function is called with some argument, then use a first argument es5id: 15.1.2.1_A1.2_T1 description: eval("x = 1", "x = 2"), x equal 1, not 2 --- 478
eval-no-args.js --- description: Error evaluating arguments list for direct eval esid: sec-function-calls-runtime-semantics-evaluation info: | [...] 3. If Type(ref) is Reference and IsPropertyReference(ref) is false and GetReferencedName(ref) is "eval", then a. If SameValue(func, %eval%) is true, then i. Let argList be ? ArgumentListEvaluation(Arguments). ii. If argList has no elements, return undefined. --- 640
eval-realm-indirect.js --- esid: sec-function-calls-runtime-semantics-evaluation es6id: 12.3.4.1 description: > An eval function from another realm is not a candidate for direct eval info: | [...] 3. If Type(ref) is Reference and IsPropertyReference(ref) is false and GetReferencedName(ref) is "eval", then a. If SameValue(func, %eval%) is true, then [...] flags: [noStrict] features: [cross-realm] --- 754
eval-spread-empty-leading.js --- esid: sec-function-calls-runtime-semantics-evaluation description: > Direct eval call with empty leading spread. info: | 12.3.4.1 Runtime Semantics: Evaluation ... 3. If Type(ref) is Reference and IsPropertyReference(ref) is false and GetReferencedName(ref) is "eval", then a. If SameValue(func, %eval%) is true, then i. Let argList be ? ArgumentListEvaluation(Arguments). ii. If argList has no elements, return undefined. iii. Let evalText be the first element of argList. ... features: [Symbol.iterator] --- 1090
eval-spread-empty-trailing.js --- esid: sec-function-calls-runtime-semantics-evaluation description: > Direct eval call with empty trailing spread. info: | 12.3.4.1 Runtime Semantics: Evaluation ... 3. If Type(ref) is Reference and IsPropertyReference(ref) is false and GetReferencedName(ref) is "eval", then a. If SameValue(func, %eval%) is true, then i. Let argList be ? ArgumentListEvaluation(Arguments). ii. If argList has no elements, return undefined. iii. Let evalText be the first element of argList. ... features: [Symbol.iterator] --- 1091
eval-spread-empty.js --- esid: sec-function-calls-runtime-semantics-evaluation description: > Direct eval call with empty spread. info: | 12.3.4.1 Runtime Semantics: Evaluation ... 3. If Type(ref) is Reference and IsPropertyReference(ref) is false and GetReferencedName(ref) is "eval", then a. If SameValue(func, %eval%) is true, then i. Let argList be ? ArgumentListEvaluation(Arguments). ii. If argList has no elements, return undefined. ... features: [Symbol.iterator] --- 946
eval-spread.js --- esid: sec-function-calls-runtime-semantics-evaluation description: > Direct eval call with spread. info: | 12.3.4.1 Runtime Semantics: Evaluation ... 3. If Type(ref) is Reference and IsPropertyReference(ref) is false and GetReferencedName(ref) is "eval", then a. If SameValue(func, %eval%) is true, then i. Let argList be ? ArgumentListEvaluation(Arguments). ii. If argList has no elements, return undefined. iii. Let evalText be the first element of argList. ... features: [Symbol.iterator] --- 1202
eval-strictness-inherit-non-strict.js --- description: Evaluated code honors the strictness of the calling context esid: sec-function-calls-runtime-semantics-evaluation info: | [...] 3. If Type(ref) is Reference and IsPropertyReference(ref) is false and GetReferencedName(ref) is "eval", then a. If SameValue(func, %eval%) is true, then [...] iv. If the source code matching this CallExpression is strict code, let strictCaller be true. Otherwise let strictCaller be false. [...] flags: [noStrict] --- 909
eval-strictness-inherit-strict-strict.js --- description: Evaluated code honors the strictness of the calling context esid: sec-function-calls-runtime-semantics-evaluation info: | [...] 3. If Type(ref) is Reference and IsPropertyReference(ref) is false and GetReferencedName(ref) is "eval", then a. If SameValue(func, %eval%) is true, then [...] iv. If the source code matching this CallExpression is strict code, let strictCaller be true. Otherwise let strictCaller be false. [...] flags: [onlyStrict] --- 927
S11.2.3_A1.js --- info: | White Space and Line Terminator between MemberExpression and Arguments are allowed es5id: 11.2.3_A1 description: Checking by using eval --- 1467
S11.2.3_A2.js --- info: "CallExpression : MemberExpression Arguments uses GetValue" es5id: 11.2.3_A2 description: If GetBase(MemberExpression) is null, throw ReferenceError --- 844
S11.2.3_A3_T1.js --- info: If MemberExpression is not Object, throw TypeError es5id: 11.2.3_A3_T1 description: Checking "boolean primitive" case --- 819
S11.2.3_A3_T2.js --- info: If MemberExpression is not Object, throw TypeError es5id: 11.2.3_A3_T2 description: Checking "number primitive" case --- 799
S11.2.3_A3_T3.js --- info: If MemberExpression is not Object, throw TypeError es5id: 11.2.3_A3_T3 description: Checking "string primitive" case --- 813
S11.2.3_A3_T4.js --- info: If MemberExpression is not Object, throw TypeError es5id: 11.2.3_A3_T4 description: Checking "undefined" case --- 836
S11.2.3_A3_T5.js --- info: If MemberExpression is not Object, throw TypeError es5id: 11.2.3_A3_T5 description: Checking "null" case --- 808
S11.2.3_A4_T1.js --- info: | If MemberExpression does not implement the internal [[Call]] method, throw TypeError es5id: 11.2.3_A4_T1 description: Checking Boolean object case --- 949
S11.2.3_A4_T2.js --- info: | If MemberExpression does not implement the internal [[Call]] method, throw TypeError es5id: 11.2.3_A4_T2 description: Checking Number object case --- 918
S11.2.3_A4_T3.js --- info: | If MemberExpression does not implement the internal [[Call]] method, throw TypeError es5id: 11.2.3_A4_T3 description: Checking String object case --- 932
S11.2.3_A4_T4.js --- info: | If MemberExpression does not implement the internal [[Call]] method, throw TypeError es5id: 11.2.3_A4_T4 description: Checking Global object case --- 576
S11.2.3_A4_T5.js --- info: | If MemberExpression does not implement the internal [[Call]] method, throw TypeError es5id: 11.2.3_A4_T5 description: Checking Math object case --- 574
S11.2.4_A1.1_T1.js --- info: "Arguments : ()" es5id: 11.2.4_A1.1_T1 description: Function is declared with no FormalParameterList --- 642
S11.2.4_A1.1_T2.js --- info: "Arguments : ()" es5id: 11.2.4_A1.1_T2 description: Function is declared with FormalParameterList --- 806
S11.2.4_A1.2_T1.js --- info: "Arguments : (ArgumentList)" es5id: 11.2.4_A1.2_T1 description: Function is declared with no FormalParameterList --- 1202
S11.2.4_A1.2_T2.js --- info: "Arguments : (ArgumentList)" es5id: 11.2.4_A1.2_T2 description: Function is declared with FormalParameterList --- 1349
S11.2.4_A1.3_T1.js --- info: | Arguments : (ArgumentList : ArgumentList,, AssignmentExpression) is a bad syntax es5id: 11.2.4_A1.3_T1 description: incorrect syntax negative: phase: parse type: SyntaxError --- 425
S11.2.4_A1.4_T1.js --- info: "Arguments : (ArgumentList : ArgumentList, AssignmentExpression)" es5id: 11.2.4_A1.4_T1 description: > Return an internal list whose length is one greater than the length of ArgumentList and whose items are the items of ArgumentList, in order, followed at the end by GetValue(AssignmentExpression), which is the last item of the new list flags: [noStrict] --- 598
S11.2.4_A1.4_T2.js --- info: "Arguments : (ArgumentList : ArgumentList, AssignmentExpression)" es5id: 11.2.4_A1.4_T2 description: > Return an internal list whose length is one greater than the length of ArgumentList and whose items are the items of ArgumentList, in order, followed at the end by GetValue(AssignmentExpression), which is the last item of the new list --- 883
S11.2.4_A1.4_T3.js --- info: "Arguments : (ArgumentList : ArgumentList, AssignmentExpression)" es5id: 11.2.4_A1.4_T3 description: > Return an internal list whose length is one greater than the length of ArgumentList and whose items are the items of ArgumentList, in order, followed at the end by GetValue(AssignmentExpression), which is the last item of the new list flags: [noStrict] --- 764
S11.2.4_A1.4_T4.js --- info: "Arguments : (ArgumentList : ArgumentList, AssignmentExpression)" es5id: 11.2.4_A1.4_T4 description: > Return an internal list whose length is one greater than the length of ArgumentList and whose items are the items of ArgumentList, in order, followed at the end by GetValue(AssignmentExpression), which is the last item of the new list --- 1250
scope-lex-close.js --- esid: sec-ecmascript-function-objects-call-thisargument-argumentslist description: > Removal of lexical environment for the function parameters and body info: | [...] 3. Let callerContext be the running execution context. [...] 8. Remove calleeContext from the execution context stack and restore callerContext as the running execution context. [...] features: [let] --- 966
scope-lex-open.js --- esid: sec-ecmascript-function-objects-call-thisargument-argumentslist description: > Creation of new variable environment for the function parameters and body (as distinct from that for the function's BindingIdentifier) info: | [...] 3. Let callerContext be the running execution context. 4. Let calleeContext be PrepareForOrdinaryCall(F, undefined). [...] 9.2.1.1 PrepareForOrdinaryCall [...] 8. Let localEnv be NewFunctionEnvironment(F, newTarget). 9. Set the LexicalEnvironment of calleeContext to localEnv. 10. Set the VariableEnvironment of calleeContext to localEnv. [...] features: [let] --- 1304
scope-var-close.js --- esid: sec-prepareforordinarycall description: > Removal of variable environment for the function parameters and body info: | [...] 3. Let callerContext be the running execution context. [...] 8. Remove calleeContext from the execution context stack and restore callerContext as the running execution context. [...] --- 914
scope-var-open.js --- esid: sec-prepareforordinarycall description: > Creation of new variable environment for the function parameters and body (as distinct from that for the function's BindingIdentifier) info: | [...] 3. Let callerContext be the running execution context. 4. Let calleeContext be PrepareForOrdinaryCall(F, undefined). [...] 9.2.1.1 PrepareForOrdinaryCall [...] 8. Let localEnv be NewFunctionEnvironment(F, newTarget). 9. Set the LexicalEnvironment of calleeContext to localEnv. 10. Set the VariableEnvironment of calleeContext to localEnv. [...] --- 1456
shell.js 0
spread-err-mult-err-expr-throws.js --- description: Spread operator following other arguments when evaluation throws (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [generators] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ArgumentList : ArgumentList , ... AssignmentExpression 1. Let precedingArgs be the result of evaluating ArgumentList. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let iterator be GetIterator(GetValue(spreadRef) ). 4. ReturnIfAbrupt(iterator). --- 1161
spread-err-mult-err-iter-get-value.js --- description: Spread operator following other arguments when GetIterator fails (@@iterator function return value) (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [Symbol.iterator] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ArgumentList : ArgumentList , ... AssignmentExpression 1. Let precedingArgs be the result of evaluating ArgumentList. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let iterator be GetIterator(GetValue(spreadRef) ). 4. ReturnIfAbrupt(iterator). 7.4.1 GetIterator ( obj, method ) [...] 2. Let iterator be ? Call(method, obj). 3. If Type(iterator) is not Object, throw a TypeError exception. --- 1431
spread-err-mult-err-itr-get-call.js --- description: Spread operator following other arguments when GetIterator fails (@@iterator function invocation) (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [Symbol.iterator] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ArgumentList : ArgumentList , ... AssignmentExpression 1. Let precedingArgs be the result of evaluating ArgumentList. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let iterator be GetIterator(GetValue(spreadRef) ). 4. ReturnIfAbrupt(iterator). 7.4.1 GetIterator ( obj, method ) [...] 3. Let iterator be Call(method,obj). 4. ReturnIfAbrupt(iterator). --- 1367
spread-err-mult-err-itr-get-get.js --- description: Spread operator following other arguments when GetIterator fails (@@iterator property access) (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [Symbol.iterator] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ArgumentList : ArgumentList , ... AssignmentExpression 1. Let precedingArgs be the result of evaluating ArgumentList. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let iterator be GetIterator(GetValue(spreadRef) ). 4. ReturnIfAbrupt(iterator). 7.4.1 GetIterator ( obj, method ) 1. If method was not passed, then a. Let method be ? GetMethod(obj, @@iterator). --- 1407
spread-err-mult-err-itr-step.js --- description: Spread operator following other arguments when IteratorStep fails (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [Symbol.iterator] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ArgumentList : ArgumentList , ... AssignmentExpression 1. Let precedingArgs be the result of evaluating ArgumentList. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let iterator be GetIterator(GetValue(spreadRef) ). 4. ReturnIfAbrupt(iterator). 7.4.5 IteratorStep ( iterator ) 1. Let result be IteratorNext(iterator). 2. ReturnIfAbrupt(result). 7.4.2 IteratorNext ( iterator, value ) 1. If value was not passed, then a. Let result be Invoke(iterator, "next", « »). [...] 3. ReturnIfAbrupt(result). --- 1550
spread-err-mult-err-itr-value.js --- description: Spread operator following other arguments when IteratorValue fails (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [Symbol.iterator] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ArgumentList : ArgumentList , ... AssignmentExpression 1. Let precedingArgs be the result of evaluating ArgumentList. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let iterator be GetIterator(GetValue(spreadRef) ). 4. ReturnIfAbrupt(iterator). 7.4.4 IteratorValue ( iterResult ) 1. Assert: Type(iterResult) is Object. 2. Return Get(iterResult, "value"). 7.3.1 Get (O, P) [...] 3. Return O.[[Get]](P, O). --- 1557
spread-err-mult-err-obj-unresolvable.js --- description: Object Spread operator results in error when using an unresolvable reference (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [object-spread] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] Pending Runtime Semantics: PropertyDefinitionEvaluation PropertyDefinition:...AssignmentExpression 1. Let exprValue be the result of evaluating AssignmentExpression. 2. Let fromValue be GetValue(exprValue). 3. ReturnIfAbrupt(fromValue). 4. Let excludedNames be a new empty List. 5. Return CopyDataProperties(object, fromValue, excludedNames). --- 1194
spread-err-mult-err-unresolvable.js --- description: Spread operator following other arguments when reference is unresolvable (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ArgumentList : ArgumentList , ... AssignmentExpression 1. Let precedingArgs be the result of evaluating ArgumentList. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let iterator be GetIterator(GetValue(spreadRef) ). 4. ReturnIfAbrupt(iterator). 6.2.3.1 GetValue (V) 1. ReturnIfAbrupt(V). 2. If Type(V) is not Reference, return V. 3. Let base be GetBase(V). 4. If IsUnresolvableReference(V), throw a ReferenceError exception. --- 1328
spread-err-sngl-err-expr-throws.js --- description: Spread operator applied to the only argument when evaluation throws (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [generators] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ArgumentList : ... AssignmentExpression 1. Let list be an empty List. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let spreadObj be GetValue(spreadRef). 4. Let iterator be GetIterator(spreadObj). 5. ReturnIfAbrupt(iterator). --- 1146
spread-err-sngl-err-itr-get-call.js --- description: Spread operator applied to the only argument when GetIterator fails (@@iterator function invocation) (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [Symbol.iterator] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ArgumentList : ... AssignmentExpression 1. Let list be an empty List. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let spreadObj be GetValue(spreadRef). 4. Let iterator be GetIterator(spreadObj). 5. ReturnIfAbrupt(iterator). 7.4.1 GetIterator ( obj, method ) [...] 3. Let iterator be Call(method,obj). 4. ReturnIfAbrupt(iterator). --- 1353
spread-err-sngl-err-itr-get-get.js --- description: Spread operator applied to the only argument when GetIterator fails (@@iterator property access) (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [Symbol.iterator] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ArgumentList : ... AssignmentExpression 1. Let list be an empty List. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let spreadObj be GetValue(spreadRef). 4. Let iterator be GetIterator(spreadObj). 5. ReturnIfAbrupt(iterator). 7.4.1 GetIterator ( obj, method ) 1. If method was not passed, then a. Let method be ? GetMethod(obj, @@iterator). --- 1393
spread-err-sngl-err-itr-get-value.js --- description: Spread operator applied to the only argument when GetIterator fails (@@iterator function return value) (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [Symbol.iterator] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ArgumentList : ... AssignmentExpression 1. Let list be an empty List. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let spreadObj be GetValue(spreadRef). 4. Let iterator be GetIterator(spreadObj). 5. ReturnIfAbrupt(iterator). 7.4.1 GetIterator ( obj, method ) [...] 2. Let iterator be ? Call(method, obj). 3. If Type(iterator) is not Object, throw a TypeError exception. --- 1379
spread-err-sngl-err-itr-step.js --- description: Spread operator applied to the only argument when IteratorStep fails (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [Symbol.iterator] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ArgumentList : ... AssignmentExpression 1. Let list be an empty List. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let spreadObj be GetValue(spreadRef). 4. Let iterator be GetIterator(spreadObj). 5. ReturnIfAbrupt(iterator). 6. Repeat a. Let next be IteratorStep(iterator). b. ReturnIfAbrupt(next). 7.4.5 IteratorStep ( iterator ) 1. Let result be IteratorNext(iterator). 2. ReturnIfAbrupt(result). 7.4.2 IteratorNext ( iterator, value ) 1. If value was not passed, then a. Let result be Invoke(iterator, "next", « »). [...] 3. ReturnIfAbrupt(result). --- 1628
spread-err-sngl-err-itr-value.js --- description: Spread operator applied to the only argument when IteratorValue fails (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [Symbol.iterator] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ArgumentList : ... AssignmentExpression 1. Let list be an empty List. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let spreadObj be GetValue(spreadRef). 4. Let iterator be GetIterator(spreadObj). 5. ReturnIfAbrupt(iterator). 6. Repeat a. Let next be IteratorStep(iterator). b. ReturnIfAbrupt(next). c. If next is false, return list. d. Let nextArg be IteratorValue(next). e. ReturnIfAbrupt(nextArg). 7.4.4 IteratorValue ( iterResult ) 1. Assert: Type(iterResult) is Object. 2. Return Get(iterResult, "value"). 7.3.1 Get (O, P) [...] 3. Return O.[[Get]](P, O). --- 1757
spread-err-sngl-err-obj-unresolvable.js --- description: Object Spread operator results in error when using an unresolvable reference (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [object-spread] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] Pending Runtime Semantics: PropertyDefinitionEvaluation PropertyDefinition:...AssignmentExpression 1. Let exprValue be the result of evaluating AssignmentExpression. 2. Let fromValue be GetValue(exprValue). 3. ReturnIfAbrupt(fromValue). 4. Let excludedNames be a new empty List. 5. Return CopyDataProperties(object, fromValue, excludedNames). --- 1188
spread-err-sngl-err-unresolvable.js --- description: Spread operator applied to the only argument when reference is unresolvable (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ArgumentList : ... AssignmentExpression 1. Let list be an empty List. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let spreadObj be GetValue(spreadRef). 4. Let iterator be GetIterator(spreadObj). 5. ReturnIfAbrupt(iterator). 6.2.3.1 GetValue (V) 1. ReturnIfAbrupt(V). 2. If Type(V) is not Reference, return V. 3. Let base be GetBase(V). 4. If IsUnresolvableReference(V), throw a ReferenceError exception. --- 1314
spread-mult-empty.js --- description: Spread operator following other arguments when no iteration occurs (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ArgumentList : ArgumentList , ... AssignmentExpression 1. Let precedingArgs be the result of evaluating ArgumentList. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let iterator be GetIterator(GetValue(spreadRef) ). 4. ReturnIfAbrupt(iterator). 5. Repeat a. Let next be IteratorStep(iterator). b. ReturnIfAbrupt(next). c. If next is false, return precedingArgs. --- 1415
spread-mult-expr.js --- description: Spread operator applied to AssignmentExpression following other elements (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ArgumentList : ArgumentList , ... AssignmentExpression 1. Let precedingArgs be the result of evaluating ArgumentList. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let iterator be GetIterator(GetValue(spreadRef) ). 4. ReturnIfAbrupt(iterator). 5. Repeat a. Let next be IteratorStep(iterator). b. ReturnIfAbrupt(next). c. If next is false, return precedingArgs. --- 1576
spread-mult-iter.js --- description: Spread operator following other arguments with a valid iterator (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [Symbol.iterator] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ArgumentList : ... AssignmentExpression 1. Let list be an empty List. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let spreadObj be GetValue(spreadRef). 4. Let iterator be GetIterator(spreadObj). 5. ReturnIfAbrupt(iterator). 6. Repeat a. Let next be IteratorStep(iterator). b. ReturnIfAbrupt(next). c. If next is false, return list. d. Let nextArg be IteratorValue(next). e. ReturnIfAbrupt(nextArg). f. Append nextArg as the last element of list. --- 1828
spread-mult-literal.js --- description: Spread operator applied to AssignmentExpression following other elements (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ArgumentList : ArgumentList , ... AssignmentExpression 1. Let precedingArgs be the result of evaluating ArgumentList. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let iterator be GetIterator(GetValue(spreadRef) ). 4. ReturnIfAbrupt(iterator). 5. Repeat a. Let next be IteratorStep(iterator). b. ReturnIfAbrupt(next). c. If next is false, return precedingArgs. --- 1501
spread-mult-obj-ident.js --- description: Object Spread operator following other properties (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [object-spread] flags: [generated] includes: [propertyHelper.js] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] Pending Runtime Semantics: PropertyDefinitionEvaluation PropertyDefinition:...AssignmentExpression 1. Let exprValue be the result of evaluating AssignmentExpression. 2. Let fromValue be GetValue(exprValue). 3. ReturnIfAbrupt(fromValue). 4. Let excludedNames be a new empty List. 5. Return CopyDataProperties(object, fromValue, excludedNames). --- 1731
spread-mult-obj-null.js --- description: Object Spread operator following other arguments with null value (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [object-spread] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] Pending Runtime Semantics: PropertyDefinitionEvaluation PropertyDefinition:...AssignmentExpression 1. Let exprValue be the result of evaluating AssignmentExpression. 2. Let fromValue be GetValue(exprValue). 3. ReturnIfAbrupt(fromValue). 4. Let excludedNames be a new empty List. 5. Return CopyDataProperties(object, fromValue, excludedNames). --- 1295
spread-mult-obj-undefined.js --- description: Object Spread operator following other arguments with undefined (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [object-spread] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] Pending Runtime Semantics: PropertyDefinitionEvaluation PropertyDefinition:...AssignmentExpression 1. Let exprValue be the result of evaluating AssignmentExpression. 2. Let fromValue be GetValue(exprValue). 3. ReturnIfAbrupt(fromValue). 4. Let excludedNames be a new empty List. 5. Return CopyDataProperties(object, fromValue, excludedNames). --- 1304
spread-obj-getter-descriptor.js --- description: Spread operation with getter results in data property descriptor (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [object-spread] flags: [generated] includes: [propertyHelper.js] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] Pending Runtime Semantics: PropertyDefinitionEvaluation PropertyDefinition:...AssignmentExpression 1. Let exprValue be the result of evaluating AssignmentExpression. 2. Let fromValue be GetValue(exprValue). 3. ReturnIfAbrupt(fromValue). 4. Let excludedNames be a new empty List. 5. Return CopyDataProperties(object, fromValue, excludedNames). --- 1499
spread-obj-getter-init.js --- description: Getter in object literal is not evaluated (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [object-spread] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] --- 1014
spread-obj-manipulate-outter-obj-in-getter.js --- description: Getter manipulates outter object before it's spread operation (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [object-spread] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] Pending Runtime Semantics: PropertyDefinitionEvaluation PropertyDefinition:...AssignmentExpression 1. Let exprValue be the result of evaluating AssignmentExpression. 2. Let fromValue be GetValue(exprValue). 3. ReturnIfAbrupt(fromValue). 4. Let excludedNames be a new empty List. 5. Return CopyDataProperties(object, fromValue, excludedNames). --- 1496
spread-obj-mult-spread-getter.js --- description: Multiple Object Spread usage calls getter multiple times (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [object-spread] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] Pending Runtime Semantics: PropertyDefinitionEvaluation PropertyDefinition:...AssignmentExpression 1. Let exprValue be the result of evaluating AssignmentExpression. 2. Let fromValue be GetValue(exprValue). 3. ReturnIfAbrupt(fromValue). 4. Let excludedNames be a new empty List. 5. Return CopyDataProperties(object, fromValue, excludedNames). --- 1429
spread-obj-mult-spread.js --- description: Multiple Object Spread operation (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [object-spread] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] Pending Runtime Semantics: PropertyDefinitionEvaluation PropertyDefinition:...AssignmentExpression 1. Let exprValue be the result of evaluating AssignmentExpression. 2. Let fromValue be GetValue(exprValue). 3. ReturnIfAbrupt(fromValue). 4. Let excludedNames be a new empty List. 5. Return CopyDataProperties(object, fromValue, excludedNames). --- 1364
spread-obj-null.js --- description: Null Object Spread is ignored (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [object-spread] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] Pending Runtime Semantics: PropertyDefinitionEvaluation PropertyDefinition:...AssignmentExpression 1. Let exprValue be the result of evaluating AssignmentExpression. 2. Let fromValue be GetValue(exprValue). 3. ReturnIfAbrupt(fromValue). 4. Let excludedNames be a new empty List. 5. Return CopyDataProperties(object, fromValue, excludedNames). --- 1183
spread-obj-override-immutable.js --- description: Object Spread overriding immutable properties (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [object-spread] flags: [generated] includes: [propertyHelper.js] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] --- 1228
spread-obj-overrides-prev-properties.js --- description: Object Spread properties overrides previous definitions (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [object-spread] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] Pending Runtime Semantics: PropertyDefinitionEvaluation PropertyDefinition:...AssignmentExpression 1. Let exprValue be the result of evaluating AssignmentExpression. 2. Let fromValue be GetValue(exprValue). 3. ReturnIfAbrupt(fromValue). 4. Let excludedNames be a new empty List. 5. Return CopyDataProperties(object, fromValue, excludedNames). --- 1378
spread-obj-skip-non-enumerable.js --- description: Object Spread doesn't copy non-enumerable properties (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [object-spread] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] --- 970
spread-obj-spread-order.js --- description: Spread operation follows [[OwnPropertyKeys]] order (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [Symbol, object-spread] flags: [generated] includes: [compareArray.js] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] Pending Runtime Semantics: PropertyDefinitionEvaluation PropertyDefinition:...AssignmentExpression 1. Let exprValue be the result of evaluating AssignmentExpression. 2. Let fromValue be GetValue(exprValue). 3. ReturnIfAbrupt(fromValue). 4. Let excludedNames be a new empty List. 5. Return CopyDataProperties(object, fromValue, excludedNames). --- 1578
spread-obj-symbol-property.js --- description: Spread operation where source object contains Symbol properties (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [Symbol, object-spread] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] Pending Runtime Semantics: PropertyDefinitionEvaluation PropertyDefinition:...AssignmentExpression 1. Let exprValue be the result of evaluating AssignmentExpression. 2. Let fromValue be GetValue(exprValue). 3. ReturnIfAbrupt(fromValue). 4. Let excludedNames be a new empty List. 5. Return CopyDataProperties(object, fromValue, excludedNames). --- 1487
spread-obj-undefined.js --- description: Undefined Object Spread is ignored (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [object-spread] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] Pending Runtime Semantics: PropertyDefinitionEvaluation PropertyDefinition:...AssignmentExpression 1. Let exprValue be the result of evaluating AssignmentExpression. 2. Let fromValue be GetValue(exprValue). 3. ReturnIfAbrupt(fromValue). 4. Let excludedNames be a new empty List. 5. Return CopyDataProperties(object, fromValue, excludedNames). --- 1198
spread-obj-with-overrides.js --- description: Object Spread properties being overriden (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [Symbol, object-spread] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] Pending Runtime Semantics: PropertyDefinitionEvaluation PropertyDefinition:...AssignmentExpression 1. Let exprValue be the result of evaluating AssignmentExpression. 2. Let fromValue be GetValue(exprValue). 3. ReturnIfAbrupt(fromValue). 4. Let excludedNames be a new empty List. 5. Return CopyDataProperties(object, fromValue, excludedNames). --- 1658
spread-sngl-empty.js --- description: Spread operator applied to the only argument when no iteration occurs (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ArgumentList : ... AssignmentExpression 1. Let list be an empty List. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let spreadObj be GetValue(spreadRef). 4. Let iterator be GetIterator(spreadObj). 5. ReturnIfAbrupt(iterator). 6. Repeat a. Let next be IteratorStep(iterator). b. ReturnIfAbrupt(next). c. If next is false, return list. [...] --- 1288
spread-sngl-expr.js --- description: Spread operator applied to AssignmentExpression as only element (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ArgumentList : ... AssignmentExpression 1. Let list be an empty List. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let spreadObj be GetValue(spreadRef). 4. Let iterator be GetIterator(spreadObj). 5. ReturnIfAbrupt(iterator). 6. Repeat a. Let next be IteratorStep(iterator). b. ReturnIfAbrupt(next). c. If next is false, return list. d. Let nextArg be IteratorValue(next). e. ReturnIfAbrupt(nextArg). f. Append nextArg as the last element of list. --- 1599
spread-sngl-iter.js --- description: Spread operator applied to the only argument with a valid iterator (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [Symbol.iterator] flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ArgumentList : ... AssignmentExpression 1. Let list be an empty List. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let spreadObj be GetValue(spreadRef). 4. Let iterator be GetIterator(spreadObj). 5. ReturnIfAbrupt(iterator). 6. Repeat a. Let next be IteratorStep(iterator). b. ReturnIfAbrupt(next). c. If next is false, return list. d. Let nextArg be IteratorValue(next). e. ReturnIfAbrupt(nextArg). f. Append nextArg as the last element of list. --- 1711
spread-sngl-literal.js --- description: Spread operator applied to array literal as only element (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation flags: [generated] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] 12.3.6.1 Runtime Semantics: ArgumentListEvaluation ArgumentList : ... AssignmentExpression 1. Let list be an empty List. 2. Let spreadRef be the result of evaluating AssignmentExpression. 3. Let spreadObj be GetValue(spreadRef). 4. Let iterator be GetIterator(spreadObj). 5. ReturnIfAbrupt(iterator). 6. Repeat a. Let next be IteratorStep(iterator). b. ReturnIfAbrupt(next). c. If next is false, return list. d. Let nextArg be IteratorValue(next). e. ReturnIfAbrupt(nextArg). f. Append nextArg as the last element of list. --- 1517
spread-sngl-obj-ident.js --- description: Object Spread operator without other arguments (CallExpression) esid: sec-function-calls-runtime-semantics-evaluation features: [object-spread] flags: [generated] includes: [propertyHelper.js] info: | CallExpression : MemberExpression Arguments [...] 9. Return EvaluateDirectCall(func, thisValue, Arguments, tailCall). 12.3.4.3 Runtime Semantics: EvaluateDirectCall 1. Let argList be ArgumentListEvaluation(arguments). [...] 6. Let result be Call(func, thisValue, argList). [...] Pending Runtime Semantics: PropertyDefinitionEvaluation PropertyDefinition:...AssignmentExpression 1. Let exprValue be the result of evaluating AssignmentExpression. 2. Let fromValue be GetValue(exprValue). 3. ReturnIfAbrupt(fromValue). 4. Let excludedNames be a new empty List. 5. Return CopyDataProperties(object, fromValue, excludedNames). --- 1486
tco-call-args-strict.js --- description: Expression is a candidate for tail-call optimization. esid: sec-static-semantics-hascallintailposition flags: [onlyStrict] features: [tail-call-optimization] includes: [tcoHelper.js] --- 641
tco-member-args-strict.js --- description: Expression is a candidate for tail-call optimization. esid: sec-static-semantics-hascallintailposition flags: [onlyStrict] features: [tail-call-optimization] includes: [tcoHelper.js] --- 604
tco-non-eval-function-dynamic.js --- esid: sec-function-calls-runtime-semantics-evaluation description: > Tail-call with identifier named "eval" in function environment, local "eval" binding dynamically added. info: | 12.3.4.1 Runtime Semantics: Evaluation ... 6. If Type(ref) is Reference and IsPropertyReference(ref) is false and GetReferencedName(ref) is "eval", then a. If SameValue(func, %eval%) is true, then ... ... 9. Return ? EvaluateCall(func, ref, arguments, tailCall). 12.3.4.2 Runtime Semantics: EvaluateCall( func, ref, arguments, tailPosition ) ... 7. If tailPosition is true, perform PrepareForTailCall(). 8. Let result be Call(func, thisValue, argList). ... flags: [noStrict] features: [tail-call-optimization] includes: [tcoHelper.js] --- 1248
tco-non-eval-function.js --- esid: sec-function-calls-runtime-semantics-evaluation description: > Tail-call with identifier named "eval" in function environment. info: | 12.3.4.1 Runtime Semantics: Evaluation ... 6. If Type(ref) is Reference and IsPropertyReference(ref) is false and GetReferencedName(ref) is "eval", then a. If SameValue(func, %eval%) is true, then ... ... 9. Return ? EvaluateCall(func, ref, arguments, tailCall). 12.3.4.2 Runtime Semantics: EvaluateCall( func, ref, arguments, tailPosition ) ... 7. If tailPosition is true, perform PrepareForTailCall(). 8. Let result be Call(func, thisValue, argList). ... flags: [noStrict] features: [tail-call-optimization] includes: [tcoHelper.js] --- 1199
tco-non-eval-global.js --- esid: sec-function-calls-runtime-semantics-evaluation description: > Tail-call with identifier named "eval" in global environment. info: | 12.3.4.1 Runtime Semantics: Evaluation ... 6. If Type(ref) is Reference and IsPropertyReference(ref) is false and GetReferencedName(ref) is "eval", then a. If SameValue(func, %eval%) is true, then ... ... 9. Return ? EvaluateCall(func, ref, arguments, tailCall). 12.3.4.2 Runtime Semantics: EvaluateCall( func, ref, arguments, tailPosition ) ... 7. If tailPosition is true, perform PrepareForTailCall(). 8. Let result be Call(func, thisValue, argList). ... flags: [noStrict] features: [tail-call-optimization] includes: [tcoHelper.js] --- 1154
tco-non-eval-with.js --- esid: sec-function-calls-runtime-semantics-evaluation description: > Tail-call with identifier named "eval" in object environment. info: | 12.3.4.1 Runtime Semantics: Evaluation ... 6. If Type(ref) is Reference and IsPropertyReference(ref) is false and GetReferencedName(ref) is "eval", then a. If SameValue(func, %eval%) is true, then ... ... 9. Return ? EvaluateCall(func, ref, arguments, tailCall). 12.3.4.2 Runtime Semantics: EvaluateCall( func, ref, arguments, tailPosition ) ... 7. If tailPosition is true, perform PrepareForTailCall(). 8. Let result be Call(func, thisValue, argList). ... flags: [noStrict] features: [tail-call-optimization] includes: [tcoHelper.js] --- 1215
trailing-comma.js --- description: > Check that trailing commas are permitted after spread arguments in a call expression. info: http://jeffmo.github.io/es-trailing-function-commas/ author: Jeff Morrison <lbljeffmo@gmail.com> --- 403
with-base-obj.js --- esid: sec-function-calls-runtime-semantics-evaluation es6id: 12.3.4.1 description: Correct retrieval of environment's "with" base object info: | 4. If Type(ref) is Reference, then a. If IsPropertyReference(ref) is true, then [...] b. Else the base of ref is an Environment Record, i. Let refEnv be GetBase(ref). ii. Let thisValue be refEnv.WithBaseObject(). [...] 8. Return ? EvaluateDirectCall(func, thisValue, Arguments, tailCall). flags: [noStrict] --- 952