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

LibJS: NewClass bytecode instruction

This adds a the NewClass bytecode instruction, enough of it
is implemented for it to show it in the bytecode (js -d).
This commit is contained in:
Johan Dahlin 2021-06-30 15:42:13 -03:00 committed by Andreas Kling
parent 3694b8b690
commit f6028c2534
6 changed files with 37 additions and 1 deletions

View file

@ -484,6 +484,22 @@ private:
Register m_arguments[];
};
class NewClass final : public Instruction {
public:
explicit NewClass(ClassExpression const& class_expression)
: Instruction(Type::NewClass)
, m_class_expression(class_expression)
{
}
void execute_impl(Bytecode::Interpreter&) const;
String to_string_impl(Bytecode::Executable const&) const;
void replace_references_impl(BasicBlock const&, BasicBlock const&) { }
private:
ClassExpression const& m_class_expression;
};
class NewFunction final : public Instruction {
public:
explicit NewFunction(FunctionNode const& function_node)