mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 08:48:11 +00:00
LibJS: Expose JSON.parse as an intrinsic value of the global object
This will allow us to safely call it if we need to parse JSON within LibJS.
This commit is contained in:
parent
f568939568
commit
202de6ed25
2 changed files with 4 additions and 0 deletions
|
@ -304,6 +304,7 @@ void GlobalObject::initialize_global_object()
|
|||
m_array_prototype_values_function = &m_array_prototype->get_without_side_effects(vm.names.values).as_function();
|
||||
m_date_constructor_now_function = &m_date_constructor->get_without_side_effects(vm.names.now).as_function();
|
||||
m_eval_function = &get_without_side_effects(vm.names.eval).as_function();
|
||||
m_json_parse_function = &get_without_side_effects(vm.names.JSON).as_object().get_without_side_effects(vm.names.parse).as_function();
|
||||
}
|
||||
|
||||
GlobalObject::~GlobalObject()
|
||||
|
@ -324,6 +325,7 @@ void GlobalObject::visit_edges(Visitor& visitor)
|
|||
visitor.visit(m_date_constructor_now_function);
|
||||
visitor.visit(m_eval_function);
|
||||
visitor.visit(m_throw_type_error_function);
|
||||
visitor.visit(m_json_parse_function);
|
||||
|
||||
#define __JS_ENUMERATE(ClassName, snake_name, PrototypeName, ConstructorName, ArrayType) \
|
||||
visitor.visit(m_##snake_name##_constructor); \
|
||||
|
|
|
@ -42,6 +42,7 @@ public:
|
|||
FunctionObject* date_constructor_now_function() const { return m_date_constructor_now_function; }
|
||||
FunctionObject* eval_function() const { return m_eval_function; }
|
||||
FunctionObject* throw_type_error_function() const { return m_throw_type_error_function; }
|
||||
FunctionObject* json_parse_function() const { return m_json_parse_function; }
|
||||
|
||||
#define __JS_ENUMERATE(ClassName, snake_name, PrototypeName, ConstructorName, ArrayType) \
|
||||
ConstructorName* snake_name##_constructor() { return m_##snake_name##_constructor; } \
|
||||
|
@ -109,6 +110,7 @@ private:
|
|||
FunctionObject* m_date_constructor_now_function { nullptr };
|
||||
FunctionObject* m_eval_function { nullptr };
|
||||
FunctionObject* m_throw_type_error_function { nullptr };
|
||||
FunctionObject* m_json_parse_function { nullptr };
|
||||
|
||||
#define __JS_ENUMERATE(ClassName, snake_name, PrototypeName, ConstructorName, ArrayType) \
|
||||
ConstructorName* m_##snake_name##_constructor { nullptr }; \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue