fn-name-gen.js (1123B)
1 // Copyright (C) 2015 the V8 project authors. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 4 /*--- 5 es6id: 12.14.4 6 description: Assignment of function `name` attribute (GeneratorExpression) 7 info: | 8 AssignmentExpression[In, Yield] : 9 LeftHandSideExpression[?Yield] = AssignmentExpression[?In, ?Yield] 10 11 1. If LeftHandSideExpression is neither an ObjectLiteral nor an 12 ArrayLiteral, then 13 [...] 14 e. If IsAnonymousFunctionDefinition(AssignmentExpression) and 15 IsIdentifierRef of LeftHandSideExpression are both true, then 16 17 i. Let hasNameProperty be HasOwnProperty(rval, "name"). 18 ii. ReturnIfAbrupt(hasNameProperty). 19 iii. If hasNameProperty is false, perform SetFunctionName(rval, 20 GetReferencedName(lref)). 21 includes: [propertyHelper.js] 22 features: [generators] 23 ---*/ 24 25 var xGen, gen; 26 27 xGen = function* x() {}; 28 gen = function*() {}; 29 30 assert(xGen.name !== 'xGen'); 31 32 verifyProperty(gen, 'name', { 33 value: 'gen', 34 writable: false, 35 enumerable: false, 36 configurable: true, 37 }); 38 39 reportCompare(0, 0);