gen-yield-identifier-spread-strict-strict.js (1082B)
1 // |reftest| error:SyntaxError 2 'use strict'; 3 // This file was procedurally generated from the following sources: 4 // - src/generators/yield-identifier-spread-strict.case 5 // - src/generators/default/obj-method.template 6 /*--- 7 description: It's an early error if the AssignmentExpression is a function body with yield as an identifier in strict mode. (Generator method) 8 esid: prod-GeneratorMethod 9 features: [object-spread, generators] 10 flags: [generated, onlyStrict] 11 negative: 12 phase: parse 13 type: SyntaxError 14 info: | 15 14.4 Generator Function Definitions 16 17 GeneratorMethod[Yield, Await]: 18 * PropertyName[?Yield, ?Await] ( UniqueFormalParameters[+Yield, ~Await] ) { GeneratorBody } 19 20 21 Spread Properties 22 23 PropertyDefinition[Yield]: 24 (...) 25 ...AssignmentExpression[In, ?Yield] 26 27 ---*/ 28 $DONOTEVALUATE(); 29 30 var callCount = 0; 31 32 var gen = { 33 *method() { 34 callCount += 1; 35 return { 36 ...(function() { 37 var yield; 38 throw new Test262Error(); 39 }()), 40 } 41 } 42 }.method; 43 44 var iter = gen(); 45 46 47 48 assert.sameValue(callCount, 1);