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