mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 03:57:44 +00:00
LibJS/Bytecode: Add codegen for "named evaluation if anonymous function"
This gives anonymous functions the name from the LHS they are being assigned to. 171 new passes on test262. :^)
This commit is contained in:
parent
a92d94f4e9
commit
85a3a1c085
8 changed files with 109 additions and 27 deletions
|
@ -734,10 +734,11 @@ public:
|
|||
virtual void dump(int indent) const override;
|
||||
|
||||
virtual Bytecode::CodeGenerationErrorOr<void> generate_bytecode(Bytecode::Generator&) const override;
|
||||
virtual Bytecode::CodeGenerationErrorOr<void> generate_bytecode_with_lhs_name(Bytecode::Generator&, Optional<DeprecatedFlyString const&> lhs_name) const;
|
||||
|
||||
bool has_name() const { return !name().is_empty(); }
|
||||
|
||||
Value instantiate_ordinary_function_expression(Interpreter&, DeprecatedFlyString given_name) const;
|
||||
Value instantiate_ordinary_function_expression(VM&, DeprecatedFlyString given_name) const;
|
||||
|
||||
private:
|
||||
virtual bool is_function_expression() const override { return true; }
|
||||
|
@ -1414,6 +1415,7 @@ public:
|
|||
virtual Completion execute(Interpreter&) const override;
|
||||
virtual void dump(int indent) const override;
|
||||
virtual Bytecode::CodeGenerationErrorOr<void> generate_bytecode(Bytecode::Generator&) const override;
|
||||
virtual Bytecode::CodeGenerationErrorOr<void> generate_bytecode_with_lhs_name(Bytecode::Generator&, Optional<DeprecatedFlyString const&> lhs_name) const;
|
||||
|
||||
bool has_name() const { return !m_name.is_empty(); }
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue