blob: 580efb4cebc6566e4611a8831eae7ac98b6af286 [file] [log] [blame]
// Copyright (C) 2021 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-arrow-function-definitions-runtime-semantics-evaluation
description: The [[Extensible]] slot of arrow functions
info: |
15.3.4 Runtime Semantics: InstantiateArrowFunctionExpression
[...]
4. Let closure be OrdinaryFunctionCreate(%Function.prototype%, sourceText,
ArrowParameters, ConciseBody, lexical-this, scope).
10.2.3 OrdinaryFunctionCreate ( functionPrototype, sourceText, ParameterList, Body, thisMode, Scope )
[...]
3. Let F be ! OrdinaryObjectCreate(functionPrototype, internalSlotsList).
10.1.12 OrdinaryObjectCreate ( proto [ , additionalInternalSlotsList ] )
1. Let internalSlotsList be « [[Prototype]], [[Extensible]] ».
2. If additionalInternalSlotsList is present, append each of its elements
to internalSlotsList.
3. Let O be ! MakeBasicObject(internalSlotsList).
7.3.1 MakeBasicObject ( internalSlotsList )
[...]
6. If internalSlotsList contains [[Extensible]], set obj.[[Extensible]] to
true.
---*/
assert(Object.isExtensible(() => {}));