Idan Horowitz
557424a141
LibJS: Remove usage of define_native_property in OrdinaryFunctionObject
...
The length & name properties are supposed to be normal data properties.
2021-07-05 17:26:31 +01:00
Andreas Kling
44221756ab
LibJS: Drop "Record" suffix from all the *Environment record classes
...
"Records" in the spec are basically C++ classes, so let's drop this
mouthful of a suffix.
2021-07-01 12:28:57 +02:00
Idan Horowitz
5606332ed7
LibJS: Add a [[Realm]] getter to FunctionObject and use it where needed
...
Defined by https://tc39.es/ecma262/#sec-ordinaryfunctioncreate step #17
and by https://tc39.es/ecma262/#sec-createbuiltinfunction step #6 .
2021-06-30 18:41:32 +01:00
Leon Albrecht
57b7f4ec5b
LibJS: Mark FunctionObject::is_ordinary_function() as override
2021-06-28 19:25:35 +02:00
Andreas Kling
2d4eb40f59
LibJS: Add the CreateMappedArgumentsObject abstract operation
...
This patch adds a new ArgumentsObject class to represent what the spec
calls "Arguments Exotic Objects"
These are constructed by the new CreateMappedArgumentsObject when the
`arguments` identifier is resolved in a callee context.
The implementation is incomplete and doesn't yet support mapping of
the parameter variables to the indexed properties of `arguments`.
2021-06-28 16:52:20 +02:00
Andreas Kling
c8270dbe2e
LibJS: Rename ScriptFunction => OrdinaryFunctionObject
...
These are basically what the spec calls "ordinary function objects",
so let's have the name reflect that. :^)
2021-06-27 22:36:04 +02:00