diff options
author | Linus Groh <mail@linusgroh.de> | 2022-12-13 20:49:50 +0000 |
---|---|---|
committer | Linus Groh <mail@linusgroh.de> | 2022-12-14 09:59:45 +0000 |
commit | ddc6e139a612154611e82493ef2bbe886a73814b (patch) | |
tree | e5567a3841a3433171cb045575947d805085618b | |
parent | f9900957284231bf4568bdf56948beacd474943f (diff) | |
download | serenity-ddc6e139a612154611e82493ef2bbe886a73814b.zip |
LibJS: Convert Object::create() to NonnullGCPtr
45 files changed, 80 insertions, 80 deletions
diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp index b40d3b85a6..18dc29d56c 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp @@ -1564,7 +1564,7 @@ static void generate_wrap_statement(SourceGenerator& generator, DeprecatedString auto dictionary_generator = scoped_generator.fork(); dictionary_generator.append(R"~~~( - auto* dictionary_object@recursion_depth@ = JS::Object::create(realm, realm.intrinsics().object_prototype()); + auto dictionary_object@recursion_depth@ = JS::Object::create(realm, realm.intrinsics().object_prototype()); )~~~"); auto* current_dictionary = &interface.dictionaries.find(type.name())->value; @@ -2467,7 +2467,7 @@ void @prototype_class@::initialize(JS::Realm& realm) if (interface.has_unscopable_member) { generator.append(R"~~~( - auto* unscopable_object = JS::Object::create(realm, nullptr); + auto unscopable_object = JS::Object::create(realm, nullptr); )~~~"); } diff --git a/Userland/Libraries/LibJS/AST.cpp b/Userland/Libraries/LibJS/AST.cpp index 0587f86fb6..a2f6c0f567 100644 --- a/Userland/Libraries/LibJS/AST.cpp +++ b/Userland/Libraries/LibJS/AST.cpp @@ -1896,7 +1896,7 @@ ThrowCompletionOr<ECMAScriptFunctionObject*> ClassExpression::class_definition_e } } - auto* prototype = Object::create(realm, proto_parent); + auto prototype = Object::create(realm, proto_parent); VERIFY(prototype); vm.running_execution_context().lexical_environment = class_environment; @@ -3067,7 +3067,7 @@ Completion ObjectExpression::execute(Interpreter& interpreter) const auto& realm = *vm.current_realm(); // 1. Let obj be OrdinaryObjectCreate(%Object.prototype%). - auto* object = Object::create(realm, realm.intrinsics().object_prototype()); + auto object = Object::create(realm, realm.intrinsics().object_prototype()); // 2. Perform ? PropertyDefinitionEvaluation of PropertyDefinitionList with argument obj. for (auto& property : m_properties) { diff --git a/Userland/Libraries/LibJS/Bytecode/Op.cpp b/Userland/Libraries/LibJS/Bytecode/Op.cpp index e7bb2d1c7d..a8ab19f398 100644 --- a/Userland/Libraries/LibJS/Bytecode/Op.cpp +++ b/Userland/Libraries/LibJS/Bytecode/Op.cpp @@ -251,7 +251,7 @@ ThrowCompletionOr<void> Append::execute_impl(Bytecode::Interpreter& interpreter) static Object* iterator_to_object(VM& vm, Iterator iterator) { auto& realm = *vm.current_realm(); - auto* object = Object::create(realm, nullptr); + auto object = Object::create(realm, nullptr); object->define_direct_property(vm.names.iterator, iterator.iterator, 0); object->define_direct_property(vm.names.next, iterator.next_method, 0); object->define_direct_property(vm.names.done, Value(iterator.done), 0); @@ -342,7 +342,7 @@ ThrowCompletionOr<void> CopyObjectExcludingProperties::execute_impl(Bytecode::In auto* from_object = TRY(interpreter.reg(m_from_object).to_object(vm)); - auto* to_object = Object::create(realm, realm.intrinsics().object_prototype()); + auto to_object = Object::create(realm, realm.intrinsics().object_prototype()); HashTable<Value, ValueTraits> excluded_names; for (size_t i = 0; i < m_excluded_names_count; ++i) @@ -930,7 +930,7 @@ ThrowCompletionOr<void> GetObjectPropertyIterator::execute_impl(Bytecode::Interp return vm.throw_completion<InternalError>("Invalid state for GetObjectPropertyIterator.next"); auto& iterated_object = iterated_object_value.as_object(); - auto* result_object = Object::create(realm, nullptr); + auto result_object = Object::create(realm, nullptr); while (true) { if (items.is_empty()) { result_object->define_direct_property(vm.names.done, JS::Value(true), default_attributes); diff --git a/Userland/Libraries/LibJS/Runtime/AbstractOperations.cpp b/Userland/Libraries/LibJS/Runtime/AbstractOperations.cpp index 333fac8f35..76e33d4e79 100644 --- a/Userland/Libraries/LibJS/Runtime/AbstractOperations.cpp +++ b/Userland/Libraries/LibJS/Runtime/AbstractOperations.cpp @@ -1053,7 +1053,7 @@ Object* create_unmapped_arguments_object(VM& vm, Span<Value> arguments) // 2. Let obj be OrdinaryObjectCreate(%Object.prototype%, ยซ [[ParameterMap]] ยป). // 3. Set obj.[[ParameterMap]] to undefined. - auto* object = Object::create(realm, realm.intrinsics().object_prototype()); + auto object = Object::create(realm, realm.intrinsics().object_prototype()); object->set_has_parameter_map(); // 4. Perform ! DefinePropertyOrThrow(obj, "length", PropertyDescriptor { [[Value]]: ๐ฝ(len), [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true }). diff --git a/Userland/Libraries/LibJS/Runtime/ArrayPrototype.cpp b/Userland/Libraries/LibJS/Runtime/ArrayPrototype.cpp index adcd71ce6b..d847ef3dde 100644 --- a/Userland/Libraries/LibJS/Runtime/ArrayPrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/ArrayPrototype.cpp @@ -89,7 +89,7 @@ void ArrayPrototype::initialize(Realm& realm) // 23.1.3.37 Array.prototype [ @@unscopables ], https://tc39.es/ecma262/#sec-array.prototype-@@unscopables // With array grouping proposal, https://tc39.es/proposal-array-grouping/#sec-array.prototype-@@unscopables // With change array by copy proposal, https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype-@@unscopables - auto* unscopable_list = Object::create(realm, nullptr); + auto unscopable_list = Object::create(realm, nullptr); MUST(unscopable_list->create_data_property_or_throw(vm.names.at, Value(true))); MUST(unscopable_list->create_data_property_or_throw(vm.names.copyWithin, Value(true))); MUST(unscopable_list->create_data_property_or_throw(vm.names.entries, Value(true))); @@ -791,7 +791,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::group) } // 7. Let obj be OrdinaryObjectCreate(null). - auto* object = Object::create(realm, nullptr); + auto object = Object::create(realm, nullptr); // 8. For each Record { [[Key]], [[Elements]] } g of groups, do for (auto& group : groups) { diff --git a/Userland/Libraries/LibJS/Runtime/GeneratorObject.cpp b/Userland/Libraries/LibJS/Runtime/GeneratorObject.cpp index cb80bc8083..0daf443ce4 100644 --- a/Userland/Libraries/LibJS/Runtime/GeneratorObject.cpp +++ b/Userland/Libraries/LibJS/Runtime/GeneratorObject.cpp @@ -99,7 +99,7 @@ ThrowCompletionOr<Value> GeneratorObject::execute(VM& vm, Completion const& comp }; auto& realm = *vm.current_realm(); - auto* completion_object = Object::create(realm, nullptr); + auto completion_object = Object::create(realm, nullptr); completion_object->define_direct_property(vm.names.type, Value(to_underlying(completion.type())), default_attributes); completion_object->define_direct_property(vm.names.value, completion.value().value(), default_attributes); diff --git a/Userland/Libraries/LibJS/Runtime/Intl/AbstractOperations.cpp b/Userland/Libraries/LibJS/Runtime/Intl/AbstractOperations.cpp index 55b275cc2e..94d212e8d7 100644 --- a/Userland/Libraries/LibJS/Runtime/Intl/AbstractOperations.cpp +++ b/Userland/Libraries/LibJS/Runtime/Intl/AbstractOperations.cpp @@ -600,7 +600,7 @@ ThrowCompletionOr<Object*> coerce_options_to_object(VM& vm, Value options) // 1. If options is undefined, then if (options.is_undefined()) { // a. Return OrdinaryObjectCreate(null). - return Object::create(realm, nullptr); + return Object::create(realm, nullptr).ptr(); } // 2. Return ? ToObject(options). diff --git a/Userland/Libraries/LibJS/Runtime/Intl/CollatorPrototype.cpp b/Userland/Libraries/LibJS/Runtime/Intl/CollatorPrototype.cpp index c46df80645..465ca42ec7 100644 --- a/Userland/Libraries/LibJS/Runtime/Intl/CollatorPrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/Intl/CollatorPrototype.cpp @@ -64,7 +64,7 @@ JS_DEFINE_NATIVE_FUNCTION(CollatorPrototype::resolved_options) auto* collator = TRY(typed_this_object(vm)); // 3. Let options be OrdinaryObjectCreate(%Object.prototype%). - auto* options = Object::create(realm, realm.intrinsics().object_prototype()); + auto options = Object::create(realm, realm.intrinsics().object_prototype()); // 4. For each row of Table 3, except the header row, in table order, do // a. Let p be the Property value of the current row. diff --git a/Userland/Libraries/LibJS/Runtime/Intl/DateTimeFormat.cpp b/Userland/Libraries/LibJS/Runtime/Intl/DateTimeFormat.cpp index 672f04d7ef..2df15f9d70 100644 --- a/Userland/Libraries/LibJS/Runtime/Intl/DateTimeFormat.cpp +++ b/Userland/Libraries/LibJS/Runtime/Intl/DateTimeFormat.cpp @@ -547,13 +547,13 @@ ThrowCompletionOr<Vector<PatternPartition>> format_date_time_pattern(VM& vm, Dat auto const& locale = date_time_format.locale(); auto const& data_locale = date_time_format.data_locale(); - auto construct_number_format = [&](auto* options) -> ThrowCompletionOr<NumberFormat*> { + auto construct_number_format = [&](auto& options) -> ThrowCompletionOr<NumberFormat*> { auto* number_format = TRY(construct(vm, *realm.intrinsics().intl_number_format_constructor(), PrimitiveString::create(vm, locale), options)); return static_cast<NumberFormat*>(number_format); }; // 4. Let nfOptions be OrdinaryObjectCreate(null). - auto* number_format_options = Object::create(realm, nullptr); + auto number_format_options = Object::create(realm, nullptr); // 5. Perform ! CreateDataPropertyOrThrow(nfOptions, "useGrouping", false). MUST(number_format_options->create_data_property_or_throw(vm.names.useGrouping, Value(false))); @@ -562,7 +562,7 @@ ThrowCompletionOr<Vector<PatternPartition>> format_date_time_pattern(VM& vm, Dat auto* number_format = TRY(construct_number_format(number_format_options)); // 7. Let nf2Options be OrdinaryObjectCreate(null). - auto* number_format_options2 = Object::create(realm, nullptr); + auto number_format_options2 = Object::create(realm, nullptr); // 8. Perform ! CreateDataPropertyOrThrow(nf2Options, "minimumIntegerDigits", 2). MUST(number_format_options2->create_data_property_or_throw(vm.names.minimumIntegerDigits, Value(2))); @@ -582,7 +582,7 @@ ThrowCompletionOr<Vector<PatternPartition>> format_date_time_pattern(VM& vm, Dat fractional_second_digits = date_time_format.fractional_second_digits(); // a. Let nf3Options be OrdinaryObjectCreate(null). - auto* number_format_options3 = Object::create(realm, nullptr); + auto number_format_options3 = Object::create(realm, nullptr); // b. Perform ! CreateDataPropertyOrThrow(nf3Options, "minimumIntegerDigits", fractionalSecondDigits). MUST(number_format_options3->create_data_property_or_throw(vm.names.minimumIntegerDigits, Value(*fractional_second_digits))); @@ -865,7 +865,7 @@ ThrowCompletionOr<Array*> format_date_time_to_parts(VM& vm, DateTimeFormat& date // 4. For each Record { [[Type]], [[Value]] } part in parts, do for (auto& part : parts) { // a. Let O be OrdinaryObjectCreate(%Object.prototype%). - auto* object = Object::create(realm, realm.intrinsics().object_prototype()); + auto object = Object::create(realm, realm.intrinsics().object_prototype()); // b. Perform ! CreateDataPropertyOrThrow(O, "type", part.[[Type]]). MUST(object->create_data_property_or_throw(vm.names.type, PrimitiveString::create(vm, part.type))); @@ -1181,7 +1181,7 @@ ThrowCompletionOr<Array*> format_date_time_range_to_parts(VM& vm, DateTimeFormat // 4. For each Record { [[Type]], [[Value]], [[Source]] } part in parts, do for (auto& part : parts) { // a. Let O be OrdinaryObjectCreate(%ObjectPrototype%). - auto* object = Object::create(realm, realm.intrinsics().object_prototype()); + auto object = Object::create(realm, realm.intrinsics().object_prototype()); // b. Perform ! CreateDataPropertyOrThrow(O, "type", part.[[Type]]). MUST(object->create_data_property_or_throw(vm.names.type, PrimitiveString::create(vm, part.type))); diff --git a/Userland/Libraries/LibJS/Runtime/Intl/DateTimeFormatPrototype.cpp b/Userland/Libraries/LibJS/Runtime/Intl/DateTimeFormatPrototype.cpp index a18f751782..7d81d057a5 100644 --- a/Userland/Libraries/LibJS/Runtime/Intl/DateTimeFormatPrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/Intl/DateTimeFormatPrototype.cpp @@ -155,7 +155,7 @@ JS_DEFINE_NATIVE_FUNCTION(DateTimeFormatPrototype::resolved_options) auto* date_time_format = TRY(typed_this_object(vm)); // 4. Let options be OrdinaryObjectCreate(%Object.prototype%). - auto* options = Object::create(realm, realm.intrinsics().object_prototype()); + auto options = Object::create(realm, realm.intrinsics().object_prototype()); // 5. For each row of Table 5, except the header row, in table order, do // a. Let p be the Property value of the current row. diff --git a/Userland/Libraries/LibJS/Runtime/Intl/DisplayNamesPrototype.cpp b/Userland/Libraries/LibJS/Runtime/Intl/DisplayNamesPrototype.cpp index 8b44081396..79450b62a3 100644 --- a/Userland/Libraries/LibJS/Runtime/Intl/DisplayNamesPrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/Intl/DisplayNamesPrototype.cpp @@ -131,7 +131,7 @@ JS_DEFINE_NATIVE_FUNCTION(DisplayNamesPrototype::resolved_options) auto* display_names = TRY(typed_this_object(vm)); // 3. Let options be OrdinaryObjectCreate(%Object.prototype%). - auto* options = Object::create(realm, realm.intrinsics().object_prototype()); + auto options = Object::create(realm, realm.intrinsics().object_prototype()); // 4. For each row of Table 8, except the header row, in table order, do // a. Let p be the Property value of the current row. diff --git a/Userland/Libraries/LibJS/Runtime/Intl/DurationFormat.cpp b/Userland/Libraries/LibJS/Runtime/Intl/DurationFormat.cpp index 11a9c61281..8afbfd61cc 100644 --- a/Userland/Libraries/LibJS/Runtime/Intl/DurationFormat.cpp +++ b/Userland/Libraries/LibJS/Runtime/Intl/DurationFormat.cpp @@ -339,7 +339,7 @@ Vector<PatternPartition> partition_duration_format_pattern(VM& vm, DurationForma auto value = duration.*value_slot; // i. Let nfOpts be ! OrdinaryObjectCreate(null). - auto* number_format_options = Object::create(realm, nullptr); + auto number_format_options = Object::create(realm, nullptr); // j. If unit is "seconds", "milliseconds", or "microseconds", then if (unit.is_one_of("seconds"sv, "milliseconds"sv, "microseconds"sv)) { @@ -486,7 +486,7 @@ Vector<PatternPartition> partition_duration_format_pattern(VM& vm, DurationForma } // 4. Let lfOpts be ! OrdinaryObjectCreate(null). - auto* list_format_options = Object::create(realm, nullptr); + auto list_format_options = Object::create(realm, nullptr); // 5. Perform ! CreateDataPropertyOrThrow(lfOpts, "type", "unit"). MUST(list_format_options->create_data_property_or_throw(vm.names.type, PrimitiveString::create(vm, "unit"sv))); diff --git a/Userland/Libraries/LibJS/Runtime/Intl/DurationFormatPrototype.cpp b/Userland/Libraries/LibJS/Runtime/Intl/DurationFormatPrototype.cpp index 8712ffdc85..f3092b7eb7 100644 --- a/Userland/Libraries/LibJS/Runtime/Intl/DurationFormatPrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/Intl/DurationFormatPrototype.cpp @@ -90,7 +90,7 @@ JS_DEFINE_NATIVE_FUNCTION(DurationFormatPrototype::format_to_parts) auto const& part = parts[n]; // a. Let obj be ! OrdinaryObjectCreate(%ObjectPrototype%). - auto* object = Object::create(realm, realm.intrinsics().object_prototype()); + auto object = Object::create(realm, realm.intrinsics().object_prototype()); // b. Perform ! CreateDataPropertyOrThrow(obj, "type", part.[[Type]]). MUST(object->create_data_property_or_throw(vm.names.type, PrimitiveString::create(vm, part.type))); @@ -118,7 +118,7 @@ JS_DEFINE_NATIVE_FUNCTION(DurationFormatPrototype::resolved_options) auto* duration_format = TRY(typed_this_object(vm)); // 3. Let options be ! OrdinaryObjectCreate(%Object.prototype%). - auto* options = Object::create(realm, realm.intrinsics().object_prototype()); + auto options = Object::create(realm, realm.intrinsics().object_prototype()); // 4. For each row of Table 2, except the header row, in table order, do // a. Let p be the Property value of the current row. diff --git a/Userland/Libraries/LibJS/Runtime/Intl/ListFormat.cpp b/Userland/Libraries/LibJS/Runtime/Intl/ListFormat.cpp index 4f030e1955..c594789e1d 100644 --- a/Userland/Libraries/LibJS/Runtime/Intl/ListFormat.cpp +++ b/Userland/Libraries/LibJS/Runtime/Intl/ListFormat.cpp @@ -217,7 +217,7 @@ Array* format_list_to_parts(VM& vm, ListFormat const& list_format, Vector<Deprec // 4. For each Record { [[Type]], [[Value]] } part in parts, do for (auto& part : parts) { // a. Let O be OrdinaryObjectCreate(%Object.prototype%). - auto* object = Object::create(realm, realm.intrinsics().object_prototype()); + auto object = Object::create(realm, realm.intrinsics().object_prototype()); // b. Perform ! CreateDataPropertyOrThrow(O, "type", part.[[Type]]). MUST(object->create_data_property_or_throw(vm.names.type, PrimitiveString::create(vm, part.type))); diff --git a/Userland/Libraries/LibJS/Runtime/Intl/ListFormatPrototype.cpp b/Userland/Libraries/LibJS/Runtime/Intl/ListFormatPrototype.cpp index 2976dadfe2..d9c3988711 100644 --- a/Userland/Libraries/LibJS/Runtime/Intl/ListFormatPrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/Intl/ListFormatPrototype.cpp @@ -76,7 +76,7 @@ JS_DEFINE_NATIVE_FUNCTION(ListFormatPrototype::resolved_options) auto* list_format = TRY(typed_this_object(vm)); // 3. Let options be OrdinaryObjectCreate(%Object.prototype%). - auto* options = Object::create(realm, realm.intrinsics().object_prototype()); + auto options = Object::create(realm, realm.intrinsics().object_prototype()); // 4. For each row of Table 10, except the header row, in table order, do // a. Let p be the Property value of the current row. diff --git a/Userland/Libraries/LibJS/Runtime/Intl/LocalePrototype.cpp b/Userland/Libraries/LibJS/Runtime/Intl/LocalePrototype.cpp index e9059a007e..4c85ecb660 100644 --- a/Userland/Libraries/LibJS/Runtime/Intl/LocalePrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/Intl/LocalePrototype.cpp @@ -258,7 +258,7 @@ JS_DEFINE_NATIVE_FUNCTION(LocalePrototype::text_info) auto* locale_object = TRY(typed_this_object(vm)); // 3. Let info be ! ObjectCreate(%Object.prototype%). - auto* info = Object::create(realm, realm.intrinsics().object_prototype()); + auto info = Object::create(realm, realm.intrinsics().object_prototype()); // 4. Let dir be ! CharacterDirectionOfLocale(loc). auto direction = character_direction_of_locale(*locale_object); @@ -280,7 +280,7 @@ JS_DEFINE_NATIVE_FUNCTION(LocalePrototype::week_info) [[maybe_unused]] auto* locale_object = TRY(typed_this_object(vm)); // 3. Let info be ! ObjectCreate(%Object.prototype%). - auto* info = Object::create(realm, realm.intrinsics().object_prototype()); + auto info = Object::create(realm, realm.intrinsics().object_prototype()); // 4. Let wi be ! WeekInfoOfLocale(loc). auto week_info = week_info_of_locale(*locale_object); diff --git a/Userland/Libraries/LibJS/Runtime/Intl/NumberFormat.cpp b/Userland/Libraries/LibJS/Runtime/Intl/NumberFormat.cpp index cad3bb1d1e..a5ea933c86 100644 --- a/Userland/Libraries/LibJS/Runtime/Intl/NumberFormat.cpp +++ b/Userland/Libraries/LibJS/Runtime/Intl/NumberFormat.cpp @@ -922,7 +922,7 @@ Array* format_numeric_to_parts(VM& vm, NumberFormat& number_format, Mathematical // 4. For each Record { [[Type]], [[Value]] } part in parts, do for (auto& part : parts) { // a. Let O be OrdinaryObjectCreate(%Object.prototype%). - auto* object = Object::create(realm, realm.intrinsics().object_prototype()); + auto object = Object::create(realm, realm.intrinsics().object_prototype()); // b. Perform ! CreateDataPropertyOrThrow(O, "type", part.[[Type]]). MUST(object->create_data_property_or_throw(vm.names.type, PrimitiveString::create(vm, part.type))); @@ -1832,7 +1832,7 @@ ThrowCompletionOr<Array*> format_numeric_range_to_parts(VM& vm, NumberFormat& nu // 4. For each Record { [[Type]], [[Value]] } part in parts, do for (auto& part : parts) { // a. Let O be OrdinaryObjectCreate(%Object.prototype%). - auto* object = Object::create(realm, realm.intrinsics().object_prototype()); + auto object = Object::create(realm, realm.intrinsics().object_prototype()); // b. Perform ! CreateDataPropertyOrThrow(O, "type", part.[[Type]]). MUST(object->create_data_property_or_throw(vm.names.type, PrimitiveString::create(vm, part.type))); diff --git a/Userland/Libraries/LibJS/Runtime/Intl/NumberFormatPrototype.cpp b/Userland/Libraries/LibJS/Runtime/Intl/NumberFormatPrototype.cpp index 092a948d83..715159a301 100644 --- a/Userland/Libraries/LibJS/Runtime/Intl/NumberFormatPrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/Intl/NumberFormatPrototype.cpp @@ -145,7 +145,7 @@ JS_DEFINE_NATIVE_FUNCTION(NumberFormatPrototype::resolved_options) auto* number_format = TRY(typed_this_object(vm)); // 4. Let options be OrdinaryObjectCreate(%Object.prototype%). - auto* options = Object::create(realm, realm.intrinsics().object_prototype()); + auto options = Object::create(realm, realm.intrinsics().object_prototype()); // 5. For each row of Table 11, except the header row, in table order, do // a. Let p be the Property value of the current row. diff --git a/Userland/Libraries/LibJS/Runtime/Intl/PluralRulesPrototype.cpp b/Userland/Libraries/LibJS/Runtime/Intl/PluralRulesPrototype.cpp index 0c2c1401ad..fd95e551f4 100644 --- a/Userland/Libraries/LibJS/Runtime/Intl/PluralRulesPrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/Intl/PluralRulesPrototype.cpp @@ -86,7 +86,7 @@ JS_DEFINE_NATIVE_FUNCTION(PluralRulesPrototype::resolved_options) auto* plural_rules = TRY(typed_this_object(vm)); // 3. Let options be OrdinaryObjectCreate(%Object.prototype%). - auto* options = Object::create(realm, realm.intrinsics().object_prototype()); + auto options = Object::create(realm, realm.intrinsics().object_prototype()); // 4. For each row of Table 13, except the header row, in table order, do // a. Let p be the Property value of the current row. diff --git a/Userland/Libraries/LibJS/Runtime/Intl/RelativeTimeFormat.cpp b/Userland/Libraries/LibJS/Runtime/Intl/RelativeTimeFormat.cpp index 74c45c4e45..5fd2251b4c 100644 --- a/Userland/Libraries/LibJS/Runtime/Intl/RelativeTimeFormat.cpp +++ b/Userland/Libraries/LibJS/Runtime/Intl/RelativeTimeFormat.cpp @@ -257,7 +257,7 @@ ThrowCompletionOr<Array*> format_relative_time_to_parts(VM& vm, RelativeTimeForm // 4. For each Record { [[Type]], [[Value]], [[Unit]] } part in parts, do for (auto& part : parts) { // a. Let O be OrdinaryObjectCreate(%Object.prototype%). - auto* object = Object::create(realm, realm.intrinsics().object_prototype()); + auto object = Object::create(realm, realm.intrinsics().object_prototype()); // b. Perform ! CreateDataPropertyOrThrow(O, "type", part.[[Type]]). MUST(object->create_data_property_or_throw(vm.names.type, PrimitiveString::create(vm, part.type))); diff --git a/Userland/Libraries/LibJS/Runtime/Intl/RelativeTimeFormatPrototype.cpp b/Userland/Libraries/LibJS/Runtime/Intl/RelativeTimeFormatPrototype.cpp index 103ba2b3eb..13f937f338 100644 --- a/Userland/Libraries/LibJS/Runtime/Intl/RelativeTimeFormatPrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/Intl/RelativeTimeFormatPrototype.cpp @@ -76,7 +76,7 @@ JS_DEFINE_NATIVE_FUNCTION(RelativeTimeFormatPrototype::resolved_options) auto* relative_time_format = TRY(typed_this_object(vm)); // 3. Let options be OrdinaryObjectCreate(%Object.prototype%). - auto* options = Object::create(realm, realm.intrinsics().object_prototype()); + auto options = Object::create(realm, realm.intrinsics().object_prototype()); // 4. For each row of Table 15, except the header row, in table order, do // a. Let p be the Property value of the current row. diff --git a/Userland/Libraries/LibJS/Runtime/Intl/Segmenter.cpp b/Userland/Libraries/LibJS/Runtime/Intl/Segmenter.cpp index 72e1bf865d..1b3f63316c 100644 --- a/Userland/Libraries/LibJS/Runtime/Intl/Segmenter.cpp +++ b/Userland/Libraries/LibJS/Runtime/Intl/Segmenter.cpp @@ -62,7 +62,7 @@ Object* create_segment_data_object(VM& vm, Segmenter const& segmenter, Utf16View VERIFY(start_index < end_index); // 5. Let result be OrdinaryObjectCreate(%Object.prototype%). - auto* result = Object::create(realm, realm.intrinsics().object_prototype()); + auto result = Object::create(realm, realm.intrinsics().object_prototype()); // 6. Let segment be the substring of string from startIndex to endIndex. auto segment = string.substring_view(start_index, end_index - start_index); diff --git a/Userland/Libraries/LibJS/Runtime/Intl/SegmenterPrototype.cpp b/Userland/Libraries/LibJS/Runtime/Intl/SegmenterPrototype.cpp index 036f334ae0..6faa5fa342 100644 --- a/Userland/Libraries/LibJS/Runtime/Intl/SegmenterPrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/Intl/SegmenterPrototype.cpp @@ -41,7 +41,7 @@ JS_DEFINE_NATIVE_FUNCTION(SegmenterPrototype::resolved_options) auto* segmenter = TRY(typed_this_object(vm)); // 3. Let options be OrdinaryObjectCreate(%Object.prototype%). - auto* options = Object::create(realm, realm.intrinsics().object_prototype()); + auto options = Object::create(realm, realm.intrinsics().object_prototype()); // 4. For each row of Table 16, except the header row, in table order, do // a. Let p be the Property value of the current row. diff --git a/Userland/Libraries/LibJS/Runtime/IteratorOperations.cpp b/Userland/Libraries/LibJS/Runtime/IteratorOperations.cpp index 2bdbc5406e..190465a69e 100644 --- a/Userland/Libraries/LibJS/Runtime/IteratorOperations.cpp +++ b/Userland/Libraries/LibJS/Runtime/IteratorOperations.cpp @@ -189,7 +189,7 @@ Object* create_iterator_result_object(VM& vm, Value value, bool done) auto& realm = *vm.current_realm(); // 1. Let obj be OrdinaryObjectCreate(%Object.prototype%). - auto* object = Object::create(realm, realm.intrinsics().object_prototype()); + auto object = Object::create(realm, realm.intrinsics().object_prototype()); // 2. Perform ! CreateDataPropertyOrThrow(obj, "value", value). MUST(object->create_data_property_or_throw(vm.names.value, value)); diff --git a/Userland/Libraries/LibJS/Runtime/JSONObject.cpp b/Userland/Libraries/LibJS/Runtime/JSONObject.cpp index 1d6437eb7f..d70d0ebaf0 100644 --- a/Userland/Libraries/LibJS/Runtime/JSONObject.cpp +++ b/Userland/Libraries/LibJS/Runtime/JSONObject.cpp @@ -102,7 +102,7 @@ ThrowCompletionOr<DeprecatedString> JSONObject::stringify_impl(VM& vm, Value val state.gap = DeprecatedString::empty(); } - auto* wrapper = Object::create(realm, realm.intrinsics().object_prototype()); + auto wrapper = Object::create(realm, realm.intrinsics().object_prototype()); MUST(wrapper->create_data_property_or_throw(DeprecatedString::empty(), value)); return serialize_json_property(vm, state, DeprecatedString::empty(), wrapper); } @@ -401,7 +401,7 @@ JS_DEFINE_NATIVE_FUNCTION(JSONObject::parse) return vm.throw_completion<SyntaxError>(ErrorType::JsonMalformed); Value unfiltered = parse_json_value(vm, json.value()); if (reviver.is_function()) { - auto* root = Object::create(realm, realm.intrinsics().object_prototype()); + auto root = Object::create(realm, realm.intrinsics().object_prototype()); auto root_name = DeprecatedString::empty(); MUST(root->create_data_property_or_throw(root_name, unfiltered)); return internalize_json_property(vm, root, root_name, reviver.as_function()); @@ -431,7 +431,7 @@ Value JSONObject::parse_json_value(VM& vm, JsonValue const& value) Object* JSONObject::parse_json_object(VM& vm, JsonObject const& json_object) { auto& realm = *vm.current_realm(); - auto* object = Object::create(realm, realm.intrinsics().object_prototype()); + auto object = Object::create(realm, realm.intrinsics().object_prototype()); json_object.for_each_member([&](auto& key, auto& value) { object->define_direct_property(key, parse_json_value(vm, value), default_attributes); }); diff --git a/Userland/Libraries/LibJS/Runtime/Object.cpp b/Userland/Libraries/LibJS/Runtime/Object.cpp index 249d94e083..4a614120d2 100644 --- a/Userland/Libraries/LibJS/Runtime/Object.cpp +++ b/Userland/Libraries/LibJS/Runtime/Object.cpp @@ -27,14 +27,14 @@ namespace JS { static HashMap<Object const*, HashMap<FlyString, Object::IntrinsicAccessor>> s_intrinsics; // 10.1.12 OrdinaryObjectCreate ( proto [ , additionalInternalSlotsList ] ), https://tc39.es/ecma262/#sec-ordinaryobjectcreate -Object* Object::create(Realm& realm, Object* prototype) +NonnullGCPtr<Object> Object::create(Realm& realm, Object* prototype) { if (!prototype) - return realm.heap().allocate<Object>(realm, *realm.intrinsics().empty_object_shape()); + return *realm.heap().allocate<Object>(realm, *realm.intrinsics().empty_object_shape()); else if (prototype == realm.intrinsics().object_prototype()) - return realm.heap().allocate<Object>(realm, *realm.intrinsics().new_object_shape()); + return *realm.heap().allocate<Object>(realm, *realm.intrinsics().new_object_shape()); else - return realm.heap().allocate<Object>(realm, *prototype); + return *realm.heap().allocate<Object>(realm, *prototype); } Object::Object(GlobalObjectTag, Realm& realm) diff --git a/Userland/Libraries/LibJS/Runtime/Object.h b/Userland/Libraries/LibJS/Runtime/Object.h index f9725ee78d..de134670b3 100644 --- a/Userland/Libraries/LibJS/Runtime/Object.h +++ b/Userland/Libraries/LibJS/Runtime/Object.h @@ -44,7 +44,7 @@ class Object : public Cell { JS_CELL(Object, Cell); public: - static Object* create(Realm&, Object* prototype); + static NonnullGCPtr<Object> create(Realm&, Object* prototype); virtual void initialize(Realm&) override; virtual ~Object(); diff --git a/Userland/Libraries/LibJS/Runtime/ObjectConstructor.cpp b/Userland/Libraries/LibJS/Runtime/ObjectConstructor.cpp index 976e20cdde..0dbc849867 100644 --- a/Userland/Libraries/LibJS/Runtime/ObjectConstructor.cpp +++ b/Userland/Libraries/LibJS/Runtime/ObjectConstructor.cpp @@ -73,7 +73,7 @@ ThrowCompletionOr<Object*> ObjectConstructor::construct(FunctionObject& new_targ return TRY(ordinary_create_from_constructor<Object>(vm, new_target, &Intrinsics::object_prototype)); auto value = vm.argument(0); if (value.is_nullish()) - return Object::create(realm, realm.intrinsics().object_prototype()); + return Object::create(realm, realm.intrinsics().object_prototype()).ptr(); return value.to_object(vm); } @@ -223,7 +223,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::from_entries) auto& realm = *vm.current_realm(); auto iterable = TRY(require_object_coercible(vm, vm.argument(0))); - auto* object = Object::create(realm, realm.intrinsics().object_prototype()); + auto object = Object::create(realm, realm.intrinsics().object_prototype()); (void)TRY(get_iterator_values(vm, iterable, [&](Value iterator_value) -> Optional<Completion> { if (!iterator_value.is_object()) @@ -274,7 +274,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::get_own_property_descriptors) auto own_keys = TRY(object->internal_own_property_keys()); // 3. Let descriptors be OrdinaryObjectCreate(%Object.prototype%). - auto* descriptors = Object::create(realm, realm.intrinsics().object_prototype()); + auto descriptors = Object::create(realm, realm.intrinsics().object_prototype()); // 4. For each element key of ownKeys, do for (auto& key : own_keys) { @@ -369,7 +369,7 @@ JS_DEFINE_NATIVE_FUNCTION(ObjectConstructor::create) return vm.throw_completion<TypeError>(ErrorType::ObjectPrototypeWrongType); // 2. Let obj be OrdinaryObjectCreate(O). - auto* object = Object::create(realm, proto.is_null() ? nullptr : &proto.as_object()); + auto object = Object::create(realm, proto.is_null() ? nullptr : &proto.as_object()); // 3. If Properties is not undefined, then if (!properties.is_undefined()) { diff --git a/Userland/Libraries/LibJS/Runtime/PromiseResolvingElementFunctions.cpp b/Userland/Libraries/LibJS/Runtime/PromiseResolvingElementFunctions.cpp index a03622d70b..8f4025c030 100644 --- a/Userland/Libraries/LibJS/Runtime/PromiseResolvingElementFunctions.cpp +++ b/Userland/Libraries/LibJS/Runtime/PromiseResolvingElementFunctions.cpp @@ -101,7 +101,7 @@ ThrowCompletionOr<Value> PromiseAllSettledResolveElementFunction::resolve_elemen auto& realm = *vm.current_realm(); // 9. Let obj be OrdinaryObjectCreate(%Object.prototype%). - auto* object = Object::create(realm, realm.intrinsics().object_prototype()); + auto object = Object::create(realm, realm.intrinsics().object_prototype()); // 10. Perform ! CreateDataPropertyOrThrow(obj, "status", "fulfilled"). MUST(object->create_data_property_or_throw(vm.names.status, PrimitiveString::create(vm, "fulfilled"sv))); @@ -142,7 +142,7 @@ ThrowCompletionOr<Value> PromiseAllSettledRejectElementFunction::resolve_element auto& realm = *vm.current_realm(); // 9. Let obj be OrdinaryObjectCreate(%Object.prototype%). - auto* object = Object::create(realm, realm.intrinsics().object_prototype()); + auto object = Object::create(realm, realm.intrinsics().object_prototype()); // 10. Perform ! CreateDataPropertyOrThrow(obj, "status", "rejected"). MUST(object->create_data_property_or_throw(vm.names.status, PrimitiveString::create(vm, "rejected"sv))); diff --git a/Userland/Libraries/LibJS/Runtime/PropertyDescriptor.cpp b/Userland/Libraries/LibJS/Runtime/PropertyDescriptor.cpp index ab958b26f3..198a5efb90 100644 --- a/Userland/Libraries/LibJS/Runtime/PropertyDescriptor.cpp +++ b/Userland/Libraries/LibJS/Runtime/PropertyDescriptor.cpp @@ -71,7 +71,7 @@ Value from_property_descriptor(VM& vm, Optional<PropertyDescriptor> const& prope if (!property_descriptor.has_value()) return js_undefined(); - auto* object = Object::create(realm, realm.intrinsics().object_prototype()); + auto object = Object::create(realm, realm.intrinsics().object_prototype()); if (property_descriptor->value.has_value()) MUST(object->create_data_property_or_throw(vm.names.value, *property_descriptor->value)); if (property_descriptor->writable.has_value()) diff --git a/Userland/Libraries/LibJS/Runtime/ProxyConstructor.cpp b/Userland/Libraries/LibJS/Runtime/ProxyConstructor.cpp index 55a56f50c4..291bf5edb5 100644 --- a/Userland/Libraries/LibJS/Runtime/ProxyConstructor.cpp +++ b/Userland/Libraries/LibJS/Runtime/ProxyConstructor.cpp @@ -87,7 +87,7 @@ JS_DEFINE_NATIVE_FUNCTION(ProxyConstructor::revocable) auto revoker = NativeFunction::create(realm, move(revoker_closure), 0, ""); // 5. Let result be OrdinaryObjectCreate(%Object.prototype%). - auto* result = Object::create(realm, realm.intrinsics().object_prototype()); + auto result = Object::create(realm, realm.intrinsics().object_prototype()); // 6. Perform ! CreateDataPropertyOrThrow(result, "proxy", p). MUST(result->create_data_property_or_throw(vm.names.proxy, proxy)); diff --git a/Userland/Libraries/LibJS/Runtime/RegExpPrototype.cpp b/Userland/Libraries/LibJS/Runtime/RegExpPrototype.cpp index 06cbbba499..5dca3cca2d 100644 --- a/Userland/Libraries/LibJS/Runtime/RegExpPrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/RegExpPrototype.cpp @@ -284,7 +284,7 @@ static ThrowCompletionOr<Value> regexp_builtin_exec(VM& vm, RegExpObject& regexp // a. Let groups be undefined. // b. Let hasGroups be false. bool has_groups = result.n_named_capture_groups != 0; - Object* groups_object = has_groups ? Object::create(realm, nullptr) : nullptr; + auto groups_object = has_groups ? Object::create(realm, nullptr) : GCPtr<Object> {}; // 32. For each integer i such that i โฅ 1 and i โค n, in ascending order, do for (size_t i = 1; i <= result.n_capture_groups; ++i) { diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.cpp index b99067d21d..6e32e5181b 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.cpp @@ -84,7 +84,7 @@ ThrowCompletionOr<Object*> get_options_object(VM& vm, Value options) // 1. If options is undefined, then if (options.is_undefined()) { // a. Return OrdinaryObjectCreate(null). - return Object::create(realm, nullptr); + return Object::create(realm, nullptr).ptr(); } // 2. If Type(options) is Object, then @@ -600,7 +600,7 @@ ThrowCompletionOr<Value> to_relative_temporal_object(VM& vm, Object const& optio auto* fields = TRY(prepare_temporal_fields(vm, value_object, field_names, Vector<StringView> {})); // f. Let dateOptions be OrdinaryObjectCreate(null). - auto* date_options = Object::create(realm, nullptr); + auto date_options = Object::create(realm, nullptr); // g. Perform ! CreateDataPropertyOrThrow(dateOptions, "overflow", "constrain"). MUST(date_options->create_data_property_or_throw(vm.names.overflow, PrimitiveString::create(vm, "constrain"sv))); @@ -740,7 +740,7 @@ ThrowCompletionOr<Object*> merge_largest_unit_option(VM& vm, Object const& optio auto& realm = *vm.current_realm(); // 1. Let merged be OrdinaryObjectCreate(null). - auto* merged = Object::create(realm, nullptr); + auto merged = Object::create(realm, nullptr); // 2. Let keys be ? EnumerableOwnPropertyNames(options, key). auto keys = TRY(options.enumerable_own_property_names(Object::PropertyKind::Key)); @@ -760,7 +760,7 @@ ThrowCompletionOr<Object*> merge_largest_unit_option(VM& vm, Object const& optio MUST(merged->create_data_property_or_throw(vm.names.largestUnit, PrimitiveString::create(vm, move(largest_unit)))); // 5. Return merged. - return merged; + return merged.ptr(); } // 13.19 MaximumTemporalDurationRoundingIncrement ( unit ), https://tc39.es/proposal-temporal/#sec-temporal-maximumtemporaldurationroundingincrement @@ -1745,7 +1745,7 @@ ThrowCompletionOr<Object*> prepare_temporal_fields(VM& vm, Object const& fields, auto& realm = *vm.current_realm(); // 1. Let result be OrdinaryObjectCreate(null). - auto* result = Object::create(realm, nullptr); + auto result = Object::create(realm, nullptr); VERIFY(result); // 2. Let any be false. @@ -1811,7 +1811,7 @@ ThrowCompletionOr<Object*> prepare_temporal_fields(VM& vm, Object const& fields, } // 5. Return result. - return result; + return result.ptr(); } // 13.44 GetDifferenceSettings ( operation, options, unitGroup, disallowedUnits, fallbackSmallestUnit, smallestLargestDefaultUnit ), https://tc39.es/proposal-temporal/#sec-temporal-getdifferencesettings diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/Calendar.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/Calendar.cpp index 6c21cbd3bb..e44f435aa6 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/Calendar.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/Calendar.cpp @@ -945,7 +945,7 @@ ThrowCompletionOr<Object*> default_merge_calendar_fields(VM& vm, Object const& f auto& realm = *vm.current_realm(); // 1. Let merged be OrdinaryObjectCreate(%Object.prototype%). - auto* merged = Object::create(realm, realm.intrinsics().object_prototype()); + auto merged = Object::create(realm, realm.intrinsics().object_prototype()); // 2. Let fieldsKeys be ? EnumerableOwnPropertyNames(fields, key). auto fields_keys = TRY(fields.enumerable_own_property_names(Object::PropertyKind::Key)); @@ -1012,7 +1012,7 @@ ThrowCompletionOr<Object*> default_merge_calendar_fields(VM& vm, Object const& f } // 7. Return merged. - return merged; + return merged.ptr(); } // 12.2.38 ToISODayOfYear ( year, month, day ), https://tc39.es/proposal-temporal/#sec-temporal-toisodayofyear diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/Duration.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/Duration.cpp index 3ffa0a1982..5573fe3c60 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/Duration.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/Duration.cpp @@ -689,7 +689,7 @@ ThrowCompletionOr<DateDurationRecord> unbalance_duration_relative(VM& vm, double auto* new_relative_to = TRY(calendar_date_add(vm, *calendar, relative_to, *one_year, nullptr, date_add)); // ii. Let untilOptions be OrdinaryObjectCreate(null). - auto* until_options = Object::create(realm, nullptr); + auto until_options = Object::create(realm, nullptr); // iii. Perform ! CreateDataPropertyOrThrow(untilOptions, "largestUnit", "month"). MUST(until_options->create_data_property_or_throw(vm.names.largestUnit, PrimitiveString::create(vm, "month"sv))); @@ -925,7 +925,7 @@ ThrowCompletionOr<DateDurationRecord> balance_duration_relative(VM& vm, double y auto* date_until = TRY(Value(&calendar).get_method(vm, vm.names.dateUntil)); // l. Let untilOptions be OrdinaryObjectCreate(null). - auto* until_options = Object::create(realm, nullptr); + auto until_options = Object::create(realm, nullptr); // m. Perform ! CreateDataPropertyOrThrow(untilOptions, "largestUnit", "month"). MUST(until_options->create_data_property_or_throw(vm.names.largestUnit, PrimitiveString::create(vm, "month"sv))); @@ -1106,7 +1106,7 @@ ThrowCompletionOr<DurationRecord> add_duration(VM& vm, double years1, double mon auto date_largest_unit = larger_of_two_temporal_units("day"sv, largest_unit); // h. Let differenceOptions be OrdinaryObjectCreate(null). - auto* difference_options = Object::create(realm, nullptr); + auto difference_options = Object::create(realm, nullptr); // i. Perform ! CreateDataPropertyOrThrow(differenceOptions, "largestUnit", dateLargestUnit). MUST(difference_options->create_data_property_or_throw(vm.names.largestUnit, PrimitiveString::create(vm, date_largest_unit))); @@ -1309,7 +1309,7 @@ ThrowCompletionOr<RoundedDuration> round_duration(VM& vm, double years, double m auto* days_later = TRY(calendar_date_add(vm, *calendar, relative_to, *days_duration, nullptr, date_add)); // k. Let untilOptions be OrdinaryObjectCreate(null). - auto* until_options = Object::create(realm, nullptr); + auto until_options = Object::create(realm, nullptr); // l. Perform ! CreateDataPropertyOrThrow(untilOptions, "largestUnit", "year"). MUST(until_options->create_data_property_or_throw(vm.names.largestUnit, PrimitiveString::create(vm, "year"sv))); diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/PlainDatePrototype.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/PlainDatePrototype.cpp index c3ec137ac9..06ec856482 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/PlainDatePrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/PlainDatePrototype.cpp @@ -326,7 +326,7 @@ JS_DEFINE_NATIVE_FUNCTION(PlainDatePrototype::get_iso_fields) auto* temporal_date = TRY(typed_this_object(vm)); // 3. Let fields be OrdinaryObjectCreate(%Object.prototype%). - auto* fields = Object::create(realm, realm.intrinsics().object_prototype()); + auto fields = Object::create(realm, realm.intrinsics().object_prototype()); // 4. Perform ! CreateDataPropertyOrThrow(fields, "calendar", temporalDate.[[Calendar]]). MUST(fields->create_data_property_or_throw(vm.names.calendar, Value(&temporal_date->calendar()))); diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/PlainDateTimePrototype.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/PlainDateTimePrototype.cpp index bd0c8ad8be..fc16777780 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/PlainDateTimePrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/PlainDateTimePrototype.cpp @@ -735,7 +735,7 @@ JS_DEFINE_NATIVE_FUNCTION(PlainDateTimePrototype::get_iso_fields) auto* date_time = TRY(typed_this_object(vm)); // 3. Let fields be OrdinaryObjectCreate(%Object.prototype%). - auto* fields = Object::create(realm, realm.intrinsics().object_prototype()); + auto fields = Object::create(realm, realm.intrinsics().object_prototype()); // 4. Perform ! CreateDataPropertyOrThrow(fields, "calendar", dateTime.[[Calendar]]). MUST(fields->create_data_property_or_throw(vm.names.calendar, Value(&date_time->calendar()))); diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/PlainMonthDayPrototype.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/PlainMonthDayPrototype.cpp index 58c793506d..d57e2f0c51 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/PlainMonthDayPrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/PlainMonthDayPrototype.cpp @@ -241,7 +241,7 @@ JS_DEFINE_NATIVE_FUNCTION(PlainMonthDayPrototype::to_plain_date) merged_fields = TRY(prepare_temporal_fields(vm, *merged_fields, merged_field_names, Vector<StringView> {})); // 12. Let options be OrdinaryObjectCreate(null). - auto* options = Object::create(realm, nullptr); + auto options = Object::create(realm, nullptr); // 13. Perform ! CreateDataPropertyOrThrow(options, "overflow", "reject"). MUST(options->create_data_property_or_throw(vm.names.overflow, PrimitiveString::create(vm, vm.names.reject.as_string()))); @@ -260,7 +260,7 @@ JS_DEFINE_NATIVE_FUNCTION(PlainMonthDayPrototype::get_iso_fields) auto* month_day = TRY(typed_this_object(vm)); // 3. Let fields be OrdinaryObjectCreate(%Object.prototype%). - auto* fields = Object::create(realm, realm.intrinsics().object_prototype()); + auto fields = Object::create(realm, realm.intrinsics().object_prototype()); // 4. Perform ! CreateDataPropertyOrThrow(fields, "calendar", monthDay.[[Calendar]]). MUST(fields->create_data_property_or_throw(vm.names.calendar, Value(&month_day->calendar()))); diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/PlainTimePrototype.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/PlainTimePrototype.cpp index 49ebe1d98a..54e2bff5f4 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/PlainTimePrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/PlainTimePrototype.cpp @@ -425,7 +425,7 @@ JS_DEFINE_NATIVE_FUNCTION(PlainTimePrototype::get_iso_fields) auto* temporal_time = TRY(typed_this_object(vm)); // 3. Let fields be OrdinaryObjectCreate(%Object.prototype%). - auto* fields = Object::create(realm, realm.intrinsics().object_prototype()); + auto fields = Object::create(realm, realm.intrinsics().object_prototype()); // 4. Perform ! CreateDataPropertyOrThrow(fields, "calendar", temporalTime.[[Calendar]]). MUST(fields->create_data_property_or_throw(vm.names.calendar, Value(&temporal_time->calendar()))); diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/PlainYearMonth.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/PlainYearMonth.cpp index 9bd283d64a..5c10f92938 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/PlainYearMonth.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/PlainYearMonth.cpp @@ -345,7 +345,7 @@ ThrowCompletionOr<PlainYearMonth*> add_duration_to_or_subtract_duration_from_pla auto* duration_to_add = MUST(create_temporal_duration(vm, duration->years(), duration->months(), duration->weeks(), balance_result.days, 0, 0, 0, 0, 0, 0)); // 14. Let optionsCopy be OrdinaryObjectCreate(null). - auto* options_copy = Object::create(realm, nullptr); + auto options_copy = Object::create(realm, nullptr); // 15. Let entries be ? EnumerableOwnPropertyNames(options, key+value). auto entries = TRY(options->enumerable_own_property_names(Object::PropertyKind::KeyAndValue)); diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/PlainYearMonthPrototype.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/PlainYearMonthPrototype.cpp index 0700b98205..40e324c815 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/PlainYearMonthPrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/PlainYearMonthPrototype.cpp @@ -408,7 +408,7 @@ JS_DEFINE_NATIVE_FUNCTION(PlainYearMonthPrototype::to_plain_date) merged_fields = TRY(prepare_temporal_fields(vm, *merged_fields, merged_field_names, Vector<StringView> {})); // 12. Let options be OrdinaryObjectCreate(null). - auto* options = Object::create(realm, nullptr); + auto options = Object::create(realm, nullptr); // 13. Perform ! CreateDataPropertyOrThrow(options, "overflow", "reject"). MUST(options->create_data_property_or_throw(vm.names.overflow, PrimitiveString::create(vm, vm.names.reject.as_string()))); @@ -427,7 +427,7 @@ JS_DEFINE_NATIVE_FUNCTION(PlainYearMonthPrototype::get_iso_fields) auto* year_month = TRY(typed_this_object(vm)); // 3. Let fields be OrdinaryObjectCreate(%Object.prototype%). - auto* fields = Object::create(realm, realm.intrinsics().object_prototype()); + auto fields = Object::create(realm, realm.intrinsics().object_prototype()); // 4. Perform ! CreateDataPropertyOrThrow(fields, "calendar", yearMonth.[[Calendar]]). MUST(fields->create_data_property_or_throw(vm.names.calendar, Value(&year_month->calendar()))); diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/ZonedDateTimePrototype.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/ZonedDateTimePrototype.cpp index c530e5db8c..d545919622 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/ZonedDateTimePrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/ZonedDateTimePrototype.cpp @@ -1297,7 +1297,7 @@ JS_DEFINE_NATIVE_FUNCTION(ZonedDateTimePrototype::get_iso_fields) auto* zoned_date_time = TRY(typed_this_object(vm)); // 3. Let fields be OrdinaryObjectCreate(%Object.prototype%). - auto* fields = Object::create(realm, realm.intrinsics().object_prototype()); + auto fields = Object::create(realm, realm.intrinsics().object_prototype()); // 4. Let timeZone be zonedDateTime.[[TimeZone]]. auto& time_zone = zoned_date_time->time_zone(); diff --git a/Userland/Libraries/LibJS/Runtime/VM.cpp b/Userland/Libraries/LibJS/Runtime/VM.cpp index 4b6620098e..f60e2f07a6 100644 --- a/Userland/Libraries/LibJS/Runtime/VM.cpp +++ b/Userland/Libraries/LibJS/Runtime/VM.cpp @@ -332,7 +332,7 @@ ThrowCompletionOr<void> VM::property_binding_initialization(BindingPattern const VERIFY_NOT_REACHED(); } - auto* rest_object = Object::create(realm, realm.intrinsics().object_prototype()); + auto rest_object = Object::create(realm, realm.intrinsics().object_prototype()); VERIFY(rest_object); TRY(rest_object->copy_data_properties(vm, object, seen_names)); diff --git a/Userland/Libraries/LibWeb/Bindings/MainThreadVM.cpp b/Userland/Libraries/LibWeb/Bindings/MainThreadVM.cpp index b3335506dd..e719d17b3e 100644 --- a/Userland/Libraries/LibWeb/Bindings/MainThreadVM.cpp +++ b/Userland/Libraries/LibWeb/Bindings/MainThreadVM.cpp @@ -385,7 +385,7 @@ JS::VM& main_thread_vm() // and ensure_web_constructor() invocations. // FIXME: Find a nicer way to do this. JS::DeferGC defer_gc(root_realm->heap()); - auto* object = JS::Object::create(*root_realm, nullptr); + auto object = JS::Object::create(*root_realm, nullptr); root_realm->set_global_object(object, object); add_window_exposed_interfaces(*object, *root_realm); diff --git a/Userland/Utilities/js.cpp b/Userland/Utilities/js.cpp index 7e1a105341..c64af942a4 100644 --- a/Userland/Utilities/js.cpp +++ b/Userland/Utilities/js.cpp @@ -351,9 +351,9 @@ static JS::ThrowCompletionOr<JS::Value> load_ini_impl(JS::VM& vm) return vm.throw_completion<JS::Error>(DeprecatedString::formatted("Failed to open '{}': {}", filename, file_or_error.error())); auto config_file = MUST(Core::ConfigFile::open(filename, file_or_error.release_value())); - auto* object = JS::Object::create(realm, realm.intrinsics().object_prototype()); + auto object = JS::Object::create(realm, realm.intrinsics().object_prototype()); for (auto const& group : config_file->groups()) { - auto* group_object = JS::Object::create(realm, realm.intrinsics().object_prototype()); + auto group_object = JS::Object::create(realm, realm.intrinsics().object_prototype()); for (auto const& key : config_file->keys(group)) { auto entry = config_file->read_entry(group, key); group_object->define_direct_property(key, JS::PrimitiveString::create(vm, move(entry)), JS::Attribute::Enumerable | JS::Attribute::Configurable | JS::Attribute::Writable); |