| // Copyright (C) 2015 the V8 project authors. All rights reserved. |
| // This code is governed by the BSD license found in the LICENSE file. |
| |
| /*--- |
| es6id: B.3.1 |
| description: Function name is not assigned based on the property name |
| info: | |
| [...] |
| 6. If propKey is the String value "__proto__" and if |
| IsComputedPropertyKey(propKey) is false, then |
| a. If Type(propValue) is either Object or Null, then |
| i. Return object.[[SetPrototypeOf]](propValue). |
| b. Return NormalCompletion(empty). |
| 7. If IsAnonymousFunctionDefinition(AssignmentExpression) is true, then |
| a. Let hasNameProperty be HasOwnProperty(propValue, "name"). |
| b. ReturnIfAbrupt(hasNameProperty). |
| c. If hasNameProperty is false, perform SetFunctionName(propValue, propKey). |
| ---*/ |
| |
| var o; |
| |
| o = { |
| __proto__: function() {} |
| }; |
| |
| assert(o.__proto__.name !== '__proto__'); |