mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-27 18:17:22 +02:00
LibJS: Use ClassFieldInitializerStatement for class fields
This is necessary as we might have to perform named evaluation with the field name. Ideally we would also skip some setup parts of the function like function_declaration_instantiation however this would require bigger changes to ECMAScriptFunctionObject.
This commit is contained in:
Notes:
sideshowbarker
2024-07-18 02:07:49 +09:00
Author: https://github.com/davidot Commit: https://github.com/SerenityOS/serenity/commit/4c8090a45d4 Pull-request: https://github.com/SerenityOS/serenity/pull/10470 Issue: https://github.com/SerenityOS/serenity/issues/7044 Issue: https://github.com/SerenityOS/serenity/issues/8574 Reviewed-by: https://github.com/linusg
@@ -78,13 +78,15 @@ public:
|
||||
protected:
|
||||
virtual bool is_strict_mode() const final { return m_strict; }
|
||||
|
||||
virtual Completion ordinary_call_evaluate_body();
|
||||
|
||||
private:
|
||||
virtual bool is_ecmascript_function_object() const override { return true; }
|
||||
virtual void visit_edges(Visitor&) override;
|
||||
|
||||
void prepare_for_ordinary_call(ExecutionContext& callee_context, Object* new_target);
|
||||
void ordinary_call_bind_this(ExecutionContext&, Value this_argument);
|
||||
Completion ordinary_call_evaluate_body();
|
||||
|
||||
ThrowCompletionOr<void> function_declaration_instantiation(Interpreter*);
|
||||
|
||||
// Internal Slots of ECMAScript Function Objects, https://tc39.es/ecma262/#table-internal-slots-of-ecmascript-function-objects
|
||||
|
||||
Reference in New Issue
Block a user