1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 19:17:44 +00:00

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`.
This commit is contained in:
Andreas Kling 2021-06-28 13:26:01 +02:00
parent a55cf08ef9
commit 2d4eb40f59
8 changed files with 95 additions and 10 deletions

View file

@ -41,6 +41,7 @@ protected:
virtual bool is_strict_mode() const final { return m_is_strict; }
private:
virtual bool is_ordinary_function_object() const { return true; }
virtual FunctionEnvironmentRecord* create_environment_record(FunctionObject&) override;
virtual void visit_edges(Visitor&) override;