rest-params-trailing-comma-early-error.js (1814B)
1 // |reftest| error:SyntaxError 2 // This file was procedurally generated from the following sources: 3 // - src/function-forms/rest-params-trailing-comma-early-error.case 4 // - src/function-forms/syntax/gen-func-expr.template 5 /*--- 6 description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (generator function expression) 7 esid: sec-generator-function-definitions-runtime-semantics-evaluation 8 features: [generators] 9 flags: [generated] 10 negative: 11 phase: parse 12 type: SyntaxError 13 info: | 14 GeneratorExpression : function * ( FormalParameters ) { GeneratorBody } 15 16 [...] 17 3. Let closure be GeneratorFunctionCreate(Normal, FormalParameters, 18 GeneratorBody, scope, strict). 19 [...] 20 21 9.2.1 [[Call]] ( thisArgument, argumentsList) 22 23 [...] 24 7. Let result be OrdinaryCallEvaluateBody(F, argumentsList). 25 [...] 26 27 9.2.1.3 OrdinaryCallEvaluateBody ( F, argumentsList ) 28 29 1. Let status be FunctionDeclarationInstantiation(F, argumentsList). 30 [...] 31 32 9.2.12 FunctionDeclarationInstantiation(func, argumentsList) 33 34 [...] 35 23. Let iteratorRecord be Record {[[iterator]]: 36 CreateListIterator(argumentsList), [[done]]: false}. 37 24. If hasDuplicates is true, then 38 [...] 39 25. Else, 40 b. Let formalStatus be IteratorBindingInitialization for formals with 41 iteratorRecord and env as arguments. 42 [...] 43 44 45 Trailing comma in the parameters list 46 47 14.1 Function Definitions 48 49 FormalParameters[Yield, Await] : 50 [empty] 51 FunctionRestParameter[?Yield, ?Await] 52 FormalParameterList[?Yield, ?Await] 53 FormalParameterList[?Yield, ?Await] , 54 FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await] 55 ---*/ 56 $DONOTEVALUATE(); 57 58 0, function*(...a,) { 59 60 };