1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 01:27:43 +00:00

LibJS: Convert new_object_environment() to NonnullGCPtr

This commit is contained in:
Linus Groh 2022-12-15 20:02:57 +00:00 committed by Andreas Kling
parent 107e06a396
commit 111a38c464
5 changed files with 5 additions and 5 deletions

View file

@ -621,7 +621,7 @@ Completion WithStatement::execute(Interpreter& interpreter) const
auto* old_environment = vm.running_execution_context().lexical_environment; auto* old_environment = vm.running_execution_context().lexical_environment;
// 4. Let newEnv be NewObjectEnvironment(obj, true, oldEnv). // 4. Let newEnv be NewObjectEnvironment(obj, true, oldEnv).
auto* new_environment = new_object_environment(*object, true, old_environment); auto new_environment = new_object_environment(*object, true, old_environment);
// 5. Set the running execution context's LexicalEnvironment to newEnv. // 5. Set the running execution context's LexicalEnvironment to newEnv.
vm.running_execution_context().lexical_environment = new_environment; vm.running_execution_context().lexical_environment = new_environment;

View file

@ -394,7 +394,7 @@ NonnullGCPtr<DeclarativeEnvironment> new_declarative_environment(Environment& en
} }
// 9.1.2.3 NewObjectEnvironment ( O, W, E ), https://tc39.es/ecma262/#sec-newobjectenvironment // 9.1.2.3 NewObjectEnvironment ( O, W, E ), https://tc39.es/ecma262/#sec-newobjectenvironment
ObjectEnvironment* new_object_environment(Object& object, bool is_with_environment, Environment* environment) NonnullGCPtr<ObjectEnvironment> new_object_environment(Object& object, bool is_with_environment, Environment* environment)
{ {
auto& heap = object.heap(); auto& heap = object.heap();

View file

@ -20,7 +20,7 @@
namespace JS { namespace JS {
NonnullGCPtr<DeclarativeEnvironment> new_declarative_environment(Environment&); NonnullGCPtr<DeclarativeEnvironment> new_declarative_environment(Environment&);
ObjectEnvironment* new_object_environment(Object&, bool is_with_environment, Environment*); NonnullGCPtr<ObjectEnvironment> new_object_environment(Object&, bool is_with_environment, Environment*);
FunctionEnvironment* new_function_environment(ECMAScriptFunctionObject&, Object* new_target); FunctionEnvironment* new_function_environment(ECMAScriptFunctionObject&, Object* new_target);
PrivateEnvironment* new_private_environment(VM& vm, PrivateEnvironment* outer); PrivateEnvironment* new_private_environment(VM& vm, PrivateEnvironment* outer);
Environment& get_this_environment(VM&); Environment& get_this_environment(VM&);

View file

@ -437,7 +437,7 @@ WebIDL::CallbackType* EventTarget::get_current_value_of_event_handler(FlyString
auto& realm = settings_object.realm(); auto& realm = settings_object.realm();
// 2. Let scope be realm.[[GlobalEnv]]. // 2. Let scope be realm.[[GlobalEnv]].
JS::Environment* scope = &realm.global_environment(); auto scope = JS::NonnullGCPtr<JS::Environment> { realm.global_environment() };
// 3. If eventHandler is an element's event handler, then set scope to NewObjectEnvironment(document, true, scope). // 3. If eventHandler is an element's event handler, then set scope to NewObjectEnvironment(document, true, scope).
// (Otherwise, eventHandler is a Window object's event handler.) // (Otherwise, eventHandler is a Window object's event handler.)

View file

@ -36,7 +36,7 @@ void WebContentConsoleClient::handle_input(DeprecatedString const& js_source)
auto& settings = Web::HTML::relevant_settings_object(*m_console_global_environment_extensions); auto& settings = Web::HTML::relevant_settings_object(*m_console_global_environment_extensions);
auto script = Web::HTML::ClassicScript::create("(console)", js_source, settings, settings.api_base_url()); auto script = Web::HTML::ClassicScript::create("(console)", js_source, settings, settings.api_base_url());
JS::Environment* with_scope = JS::new_object_environment(*m_console_global_environment_extensions, true, &settings.realm().global_environment()); JS::NonnullGCPtr<JS::Environment> with_scope = JS::new_object_environment(*m_console_global_environment_extensions, true, &settings.realm().global_environment());
// FIXME: Add parse error printouts back once ClassicScript can report parse errors. // FIXME: Add parse error printouts back once ClassicScript can report parse errors.
auto result = script->run(Web::HTML::ClassicScript::RethrowErrors::No, with_scope); auto result = script->run(Web::HTML::ClassicScript::RethrowErrors::No, with_scope);