diff options
Diffstat (limited to 'Userland/Libraries')
45 files changed, 242 insertions, 242 deletions
diff --git a/Userland/Libraries/LibJS/AST.cpp b/Userland/Libraries/LibJS/AST.cpp index 913a3c1516..84e7681b1c 100644 --- a/Userland/Libraries/LibJS/AST.cpp +++ b/Userland/Libraries/LibJS/AST.cpp @@ -1084,7 +1084,7 @@ Reference MemberExpression::to_reference(Interpreter& interpreter, GlobalObject& // From here on equivalent to // 13.3.4 EvaluatePropertyAccessWithIdentifierKey ( baseValue, identifierName, strict ), https://tc39.es/ecma262/#sec-evaluate-property-access-with-identifier-key - PropertyName property_name; + PropertyKey property_name; if (is_computed()) { // Weird order which I can't quite find from the specs. auto value = m_property->execute(interpreter, global_object); @@ -1094,7 +1094,7 @@ Reference MemberExpression::to_reference(Interpreter& interpreter, GlobalObject& TRY_OR_DISCARD(require_object_coercible(global_object, base_value)); VERIFY(!value.is_empty()); - property_name = PropertyName::from_value(global_object, value); + property_name = PropertyKey::from_value(global_object, value); if (interpreter.exception()) return Reference {}; } else if (is<PrivateIdentifier>(*m_property)) { @@ -1191,7 +1191,7 @@ static ThrowCompletionOr<ClassElement::ClassElementName> class_key_to_property_n if (prop_key.is_object()) prop_key = TRY(prop_key.to_primitive(global_object, Value::PreferredType::String)); - auto property_key = PropertyName::from_value(global_object, prop_key); + auto property_key = PropertyKey::from_value(global_object, prop_key); if (auto* exception = interpreter.exception()) return throw_completion(exception->value()); return ClassElement::ClassElementName { property_key }; @@ -1211,7 +1211,7 @@ ThrowCompletionOr<ClassElement::ClassValue> ClassMethod::class_element_evaluatio auto set_function_name = [&](String prefix = "") { auto property_name = property_key.visit( - [&](PropertyName const& property_name) -> String { + [&](PropertyKey const& property_name) -> String { if (property_name.is_symbol()) { auto description = property_name.as_symbol()->description(); if (description.is_empty()) @@ -1228,8 +1228,8 @@ ThrowCompletionOr<ClassElement::ClassValue> ClassMethod::class_element_evaluatio update_function_name(method_value, String::formatted("{}{}{}", prefix, prefix.is_empty() ? "" : " ", property_name)); }; - if (property_key.has<PropertyName>()) { - auto& property_name = property_key.get<PropertyName>(); + if (property_key.has<PropertyKey>()) { + auto& property_name = property_key.get<PropertyKey>(); switch (kind()) { case ClassMethod::Kind::Method: set_function_name(); @@ -1303,7 +1303,7 @@ ThrowCompletionOr<ClassElement::ClassValue> ClassField::class_element_evaluation if (m_initializer) { auto copy_initializer = m_initializer; auto name = property_key.visit( - [&](PropertyName const& property_name) -> String { + [&](PropertyKey const& property_name) -> String { return property_name.is_number() ? property_name.to_string() : property_name.to_string_or_symbol().to_display_string(); }, [&](PrivateName const& private_name) -> String { @@ -2600,14 +2600,14 @@ Value ObjectExpression::execute(Interpreter& interpreter, GlobalObject& global_o switch (property.type()) { case ObjectProperty::Type::Getter: VERIFY(value.is_function()); - object->define_direct_accessor(PropertyName::from_value(global_object, key), &value.as_function(), nullptr, Attribute::Configurable | Attribute::Enumerable); + object->define_direct_accessor(PropertyKey::from_value(global_object, key), &value.as_function(), nullptr, Attribute::Configurable | Attribute::Enumerable); break; case ObjectProperty::Type::Setter: VERIFY(value.is_function()); - object->define_direct_accessor(PropertyName::from_value(global_object, key), nullptr, &value.as_function(), Attribute::Configurable | Attribute::Enumerable); + object->define_direct_accessor(PropertyKey::from_value(global_object, key), nullptr, &value.as_function(), Attribute::Configurable | Attribute::Enumerable); break; case ObjectProperty::Type::KeyValue: - object->define_direct_property(PropertyName::from_value(global_object, key), value, JS::default_attributes); + object->define_direct_property(PropertyKey::from_value(global_object, key), value, JS::default_attributes); break; case ObjectProperty::Type::Spread: default: @@ -2627,7 +2627,7 @@ void MemberExpression::dump(int indent) const m_property->dump(indent + 1); } -PropertyName MemberExpression::computed_property_name(Interpreter& interpreter, GlobalObject& global_object) const +PropertyKey MemberExpression::computed_property_name(Interpreter& interpreter, GlobalObject& global_object) const { if (!is_computed()) return verify_cast<Identifier>(*m_property).string(); @@ -2636,7 +2636,7 @@ PropertyName MemberExpression::computed_property_name(Interpreter& interpreter, if (interpreter.exception()) return {}; VERIFY(!value.is_empty()); - return PropertyName::from_value(global_object, value); + return PropertyKey::from_value(global_object, value); } String MemberExpression::to_string_approximation() const diff --git a/Userland/Libraries/LibJS/AST.h b/Userland/Libraries/LibJS/AST.h index 47ba73e5c5..b8e7036385 100644 --- a/Userland/Libraries/LibJS/AST.h +++ b/Userland/Libraries/LibJS/AST.h @@ -18,7 +18,7 @@ #include <AK/Vector.h> #include <LibJS/Forward.h> #include <LibJS/Runtime/EnvironmentCoordinate.h> -#include <LibJS/Runtime/PropertyName.h> +#include <LibJS/Runtime/PropertyKey.h> #include <LibJS/Runtime/Reference.h> #include <LibJS/Runtime/Value.h> #include <LibJS/SourceRange.h> @@ -1036,7 +1036,7 @@ public: virtual ElementKind class_element_kind() const = 0; bool is_static() const { return m_is_static; } - using ClassElementName = Variant<PropertyName, PrivateName>; + using ClassElementName = Variant<PropertyKey, PrivateName>; struct ClassFieldDefinition { ClassElementName name; @@ -1558,7 +1558,7 @@ public: Expression const& object() const { return *m_object; } Expression const& property() const { return *m_property; } - PropertyName computed_property_name(Interpreter&, GlobalObject&) const; + PropertyKey computed_property_name(Interpreter&, GlobalObject&) const; String to_string_approximation() const; diff --git a/Userland/Libraries/LibJS/Bytecode/Op.cpp b/Userland/Libraries/LibJS/Bytecode/Op.cpp index 8dff0a17bc..49855b1f38 100644 --- a/Userland/Libraries/LibJS/Bytecode/Op.cpp +++ b/Userland/Libraries/LibJS/Bytecode/Op.cpp @@ -216,7 +216,7 @@ void CopyObjectExcludingProperties::execute_impl(Bytecode::Interpreter& interpre auto property_name_or_error = key.to_property_key(interpreter.global_object()); if (property_name_or_error.is_error()) return; - PropertyName property_name = property_name_or_error.release_value(); + PropertyKey property_name = property_name_or_error.release_value(); auto property_value_or_error = from_object->get(property_name); if (property_value_or_error.is_error()) return; diff --git a/Userland/Libraries/LibJS/Forward.h b/Userland/Libraries/LibJS/Forward.h index a10569b2d5..3e49f8dcf8 100644 --- a/Userland/Libraries/LibJS/Forward.h +++ b/Userland/Libraries/LibJS/Forward.h @@ -163,7 +163,7 @@ class PromiseReactionJob; class PromiseResolveThenableJob; class PropertyAttributes; class PropertyDescriptor; -class PropertyName; +class PropertyKey; class Realm; class Reference; class ScopeNode; diff --git a/Userland/Libraries/LibJS/Parser.cpp b/Userland/Libraries/LibJS/Parser.cpp index 0bfdefb1ed..f2f275dd44 100644 --- a/Userland/Libraries/LibJS/Parser.cpp +++ b/Userland/Libraries/LibJS/Parser.cpp @@ -1384,7 +1384,7 @@ NonnullRefPtr<ObjectExpression> Parser::parse_object_expression() // It is a Syntax Error if PropertyNameList of PropertyDefinitionList contains any duplicate // entries for "__proto__" and at least two of those entries were obtained from productions of - // the form PropertyDefinition : PropertyName : AssignmentExpression . + // the form PropertyDefinition : PropertyKey : AssignmentExpression . bool has_direct_proto_property = false; while (!done() && !match(TokenType::CurlyClose)) { diff --git a/Userland/Libraries/LibJS/Runtime/AbstractOperations.cpp b/Userland/Libraries/LibJS/Runtime/AbstractOperations.cpp index 6b6dc82baa..d3f95a1e92 100644 --- a/Userland/Libraries/LibJS/Runtime/AbstractOperations.cpp +++ b/Userland/Libraries/LibJS/Runtime/AbstractOperations.cpp @@ -27,7 +27,7 @@ #include <LibJS/Runtime/Object.h> #include <LibJS/Runtime/ObjectEnvironment.h> #include <LibJS/Runtime/PropertyDescriptor.h> -#include <LibJS/Runtime/PropertyName.h> +#include <LibJS/Runtime/PropertyKey.h> #include <LibJS/Runtime/ProxyObject.h> #include <LibJS/Runtime/Reference.h> @@ -106,7 +106,7 @@ ThrowCompletionOr<MarkedValueList> create_list_from_array_like(GlobalObject& glo // 6. Repeat, while index < len, for (size_t i = 0; i < length; ++i) { // a. Let indexName be ! ToString(𝔽(index)). - auto index_name = PropertyName { i }; + auto index_name = PropertyKey { i }; // b. Let next be ? Get(obj, indexName). auto next = TRY(array_like.get(index_name)); @@ -206,7 +206,7 @@ bool is_compatible_property_descriptor(bool extensible, PropertyDescriptor const } // 10.1.6.3 ValidateAndApplyPropertyDescriptor ( O, P, extensible, Desc, current ), https://tc39.es/ecma262/#sec-validateandapplypropertydescriptor -bool validate_and_apply_property_descriptor(Object* object, PropertyName const& property_name, bool extensible, PropertyDescriptor const& descriptor, Optional<PropertyDescriptor> const& current) +bool validate_and_apply_property_descriptor(Object* object, PropertyKey const& property_name, bool extensible, PropertyDescriptor const& descriptor, Optional<PropertyDescriptor> const& current) { // 1. Assert: If O is not undefined, then IsPropertyKey(P) is true. if (object) @@ -835,7 +835,7 @@ Object* create_mapped_arguments_object(GlobalObject& global_object, FunctionObje // 2. Let p be MakeArgSetter(name, env). // 3. Perform map.[[DefineOwnProperty]](! ToString(𝔽(index)), PropertyDescriptor { [[Set]]: p, [[Get]]: g, [[Enumerable]]: false, [[Configurable]]: true }). object->parameter_map().define_old_native_accessor( - PropertyName { index }, + PropertyKey { index }, [&environment, name](VM&, GlobalObject& global_object_getter) -> Value { return MUST(environment.get_binding_value(global_object_getter, name, false)); }, @@ -859,7 +859,7 @@ Object* create_mapped_arguments_object(GlobalObject& global_object, FunctionObje } // 7.1.21 CanonicalNumericIndexString ( argument ), https://tc39.es/ecma262/#sec-canonicalnumericindexstring -Value canonical_numeric_index_string(GlobalObject& global_object, PropertyName const& property_name) +Value canonical_numeric_index_string(GlobalObject& global_object, PropertyKey const& property_name) { // NOTE: If the property name is a number type (An implementation-defined optimized // property key type), it can be treated as a string property that has already been diff --git a/Userland/Libraries/LibJS/Runtime/AbstractOperations.h b/Userland/Libraries/LibJS/Runtime/AbstractOperations.h index bb3f7ead8f..e84cedddf7 100644 --- a/Userland/Libraries/LibJS/Runtime/AbstractOperations.h +++ b/Userland/Libraries/LibJS/Runtime/AbstractOperations.h @@ -30,11 +30,11 @@ ThrowCompletionOr<MarkedValueList> create_list_from_array_like(GlobalObject&, Va ThrowCompletionOr<FunctionObject*> species_constructor(GlobalObject&, Object const&, FunctionObject& default_constructor); ThrowCompletionOr<Realm*> get_function_realm(GlobalObject&, FunctionObject const&); bool is_compatible_property_descriptor(bool extensible, PropertyDescriptor const&, Optional<PropertyDescriptor> const& current); -bool validate_and_apply_property_descriptor(Object*, PropertyName const&, bool extensible, PropertyDescriptor const&, Optional<PropertyDescriptor> const& current); +bool validate_and_apply_property_descriptor(Object*, PropertyKey const&, bool extensible, PropertyDescriptor const&, Optional<PropertyDescriptor> const& current); ThrowCompletionOr<Object*> get_prototype_from_constructor(GlobalObject&, FunctionObject const& constructor, Object* (GlobalObject::*intrinsic_default_prototype)()); Object* create_unmapped_arguments_object(GlobalObject&, Span<Value> arguments); Object* create_mapped_arguments_object(GlobalObject&, FunctionObject&, Vector<FunctionNode::Parameter> const&, Span<Value> arguments, Environment&); -Value canonical_numeric_index_string(GlobalObject&, PropertyName const&); +Value canonical_numeric_index_string(GlobalObject&, PropertyKey const&); ThrowCompletionOr<String> get_substitution(GlobalObject&, Utf16View const& matched, Utf16View const& str, size_t position, Span<Value> captures, Value named_captures, Value replacement); enum class CallerMode { diff --git a/Userland/Libraries/LibJS/Runtime/ArgumentsObject.cpp b/Userland/Libraries/LibJS/Runtime/ArgumentsObject.cpp index 66509f627c..44fb59da2d 100644 --- a/Userland/Libraries/LibJS/Runtime/ArgumentsObject.cpp +++ b/Userland/Libraries/LibJS/Runtime/ArgumentsObject.cpp @@ -35,7 +35,7 @@ void ArgumentsObject::visit_edges(Cell::Visitor& visitor) } // 10.4.4.3 [[Get]] ( P, Receiver ), https://tc39.es/ecma262/#sec-arguments-exotic-objects-get-p-receiver -ThrowCompletionOr<Value> ArgumentsObject::internal_get(PropertyName const& property_name, Value receiver) const +ThrowCompletionOr<Value> ArgumentsObject::internal_get(PropertyKey const& property_name, Value receiver) const { // 1. Let map be args.[[ParameterMap]]. auto& map = *m_parameter_map; @@ -56,7 +56,7 @@ ThrowCompletionOr<Value> ArgumentsObject::internal_get(PropertyName const& prope } // 10.4.4.4 [[Set]] ( P, V, Receiver ), https://tc39.es/ecma262/#sec-arguments-exotic-objects-set-p-v-receiver -ThrowCompletionOr<bool> ArgumentsObject::internal_set(PropertyName const& property_name, Value value, Value receiver) +ThrowCompletionOr<bool> ArgumentsObject::internal_set(PropertyKey const& property_name, Value value, Value receiver) { bool is_mapped = false; @@ -84,7 +84,7 @@ ThrowCompletionOr<bool> ArgumentsObject::internal_set(PropertyName const& proper } // 10.4.4.5 [[Delete]] ( P ), https://tc39.es/ecma262/#sec-arguments-exotic-objects-delete-p -ThrowCompletionOr<bool> ArgumentsObject::internal_delete(PropertyName const& property_name) +ThrowCompletionOr<bool> ArgumentsObject::internal_delete(PropertyKey const& property_name) { // 1. Let map be args.[[ParameterMap]]. auto& map = parameter_map(); @@ -106,7 +106,7 @@ ThrowCompletionOr<bool> ArgumentsObject::internal_delete(PropertyName const& pro } // 10.4.4.1 [[GetOwnProperty]] ( P ), https://tc39.es/ecma262/#sec-arguments-exotic-objects-getownproperty-p -ThrowCompletionOr<Optional<PropertyDescriptor>> ArgumentsObject::internal_get_own_property(PropertyName const& property_name) const +ThrowCompletionOr<Optional<PropertyDescriptor>> ArgumentsObject::internal_get_own_property(PropertyKey const& property_name) const { // 1. Let desc be OrdinaryGetOwnProperty(args, P). auto desc = MUST(Object::internal_get_own_property(property_name)); @@ -130,7 +130,7 @@ ThrowCompletionOr<Optional<PropertyDescriptor>> ArgumentsObject::internal_get_ow } // 10.4.4.2 [[DefineOwnProperty]] ( P, Desc ), https://tc39.es/ecma262/#sec-arguments-exotic-objects-defineownproperty-p-desc -ThrowCompletionOr<bool> ArgumentsObject::internal_define_own_property(PropertyName const& property_name, PropertyDescriptor const& descriptor) +ThrowCompletionOr<bool> ArgumentsObject::internal_define_own_property(PropertyKey const& property_name, PropertyDescriptor const& descriptor) { // 1. Let map be args.[[ParameterMap]]. auto& map = parameter_map(); diff --git a/Userland/Libraries/LibJS/Runtime/ArgumentsObject.h b/Userland/Libraries/LibJS/Runtime/ArgumentsObject.h index 8fec73ecfe..6d0e9d2351 100644 --- a/Userland/Libraries/LibJS/Runtime/ArgumentsObject.h +++ b/Userland/Libraries/LibJS/Runtime/ArgumentsObject.h @@ -23,11 +23,11 @@ public: Environment& environment() { return m_environment; } - virtual ThrowCompletionOr<Optional<PropertyDescriptor>> internal_get_own_property(PropertyName const&) const override; - virtual ThrowCompletionOr<bool> internal_define_own_property(PropertyName const&, PropertyDescriptor const&) override; - virtual ThrowCompletionOr<Value> internal_get(PropertyName const&, Value receiver) const override; - virtual ThrowCompletionOr<bool> internal_set(PropertyName const&, Value value, Value receiver) override; - virtual ThrowCompletionOr<bool> internal_delete(PropertyName const&) override; + virtual ThrowCompletionOr<Optional<PropertyDescriptor>> internal_get_own_property(PropertyKey const&) const override; + virtual ThrowCompletionOr<bool> internal_define_own_property(PropertyKey const&, PropertyDescriptor const&) override; + virtual ThrowCompletionOr<Value> internal_get(PropertyKey const&, Value receiver) const override; + virtual ThrowCompletionOr<bool> internal_set(PropertyKey const&, Value value, Value receiver) override; + virtual ThrowCompletionOr<bool> internal_delete(PropertyKey const&) override; // [[ParameterMap]] Object& parameter_map() { return *m_parameter_map; } diff --git a/Userland/Libraries/LibJS/Runtime/Array.cpp b/Userland/Libraries/LibJS/Runtime/Array.cpp index be5aa049ca..8c52d9856c 100644 --- a/Userland/Libraries/LibJS/Runtime/Array.cpp +++ b/Userland/Libraries/LibJS/Runtime/Array.cpp @@ -151,7 +151,7 @@ ThrowCompletionOr<bool> Array::set_length(PropertyDescriptor const& property_des } // NON-STANDARD: Used to return the value of the ephemeral length property -ThrowCompletionOr<Optional<PropertyDescriptor>> Array::internal_get_own_property(PropertyName const& property_name) const +ThrowCompletionOr<Optional<PropertyDescriptor>> Array::internal_get_own_property(PropertyKey const& property_name) const { auto& vm = this->vm(); if (property_name.is_string() && property_name.as_string() == vm.names.length.as_string()) @@ -161,7 +161,7 @@ ThrowCompletionOr<Optional<PropertyDescriptor>> Array::internal_get_own_property } // 10.4.2.1 [[DefineOwnProperty]] ( P, Desc ), https://tc39.es/ecma262/#sec-array-exotic-objects-defineownproperty-p-desc -ThrowCompletionOr<bool> Array::internal_define_own_property(PropertyName const& property_name, PropertyDescriptor const& property_descriptor) +ThrowCompletionOr<bool> Array::internal_define_own_property(PropertyKey const& property_name, PropertyDescriptor const& property_descriptor) { auto& vm = this->vm(); @@ -208,7 +208,7 @@ ThrowCompletionOr<bool> Array::internal_define_own_property(PropertyName const& } // NON-STANDARD: Used to reject deletes to ephemeral (non-configurable) length property -ThrowCompletionOr<bool> Array::internal_delete(PropertyName const& property_name) +ThrowCompletionOr<bool> Array::internal_delete(PropertyKey const& property_name) { auto& vm = this->vm(); if (property_name.is_string() && property_name.as_string() == vm.names.length.as_string()) diff --git a/Userland/Libraries/LibJS/Runtime/Array.h b/Userland/Libraries/LibJS/Runtime/Array.h index b1e394f571..d06d607079 100644 --- a/Userland/Libraries/LibJS/Runtime/Array.h +++ b/Userland/Libraries/LibJS/Runtime/Array.h @@ -38,9 +38,9 @@ public: explicit Array(Object& prototype); virtual ~Array() override; - virtual ThrowCompletionOr<Optional<PropertyDescriptor>> internal_get_own_property(PropertyName const&) const override; - virtual ThrowCompletionOr<bool> internal_define_own_property(PropertyName const&, PropertyDescriptor const&) override; - virtual ThrowCompletionOr<bool> internal_delete(PropertyName const&) override; + virtual ThrowCompletionOr<Optional<PropertyDescriptor>> internal_get_own_property(PropertyKey const&) const override; + virtual ThrowCompletionOr<bool> internal_define_own_property(PropertyKey const&, PropertyDescriptor const&) override; + virtual ThrowCompletionOr<bool> internal_delete(PropertyKey const&) override; virtual ThrowCompletionOr<MarkedValueList> internal_own_property_keys() const override; [[nodiscard]] bool length_is_writable() const { return m_length_writable; }; diff --git a/Userland/Libraries/LibJS/Runtime/ArrayPrototype.cpp b/Userland/Libraries/LibJS/Runtime/ArrayPrototype.cpp index 9d5cfbe02c..81598d904e 100644 --- a/Userland/Libraries/LibJS/Runtime/ArrayPrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/ArrayPrototype.cpp @@ -169,7 +169,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::filter) // 7. Repeat, while k < len, for (; k < length; ++k) { // a. Let Pk be ! ToString(𝔽(k)). - auto property_name = PropertyName { k }; + auto property_name = PropertyKey { k }; // b. Let kPresent be ? HasProperty(O, Pk). auto k_present = TRY(object->has_property(property_name)); @@ -219,7 +219,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::for_each) // 5. Repeat, while k < len, for (size_t k = 0; k < length; ++k) { // a. Let Pk be ! ToString(𝔽(k)). - auto property_name = PropertyName { k }; + auto property_name = PropertyKey { k }; // b. Let kPresent be ? HasProperty(O, Pk). auto k_present = TRY(object->has_property(property_name)); @@ -263,7 +263,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::map) // 6. Repeat, while k < len, for (size_t k = 0; k < length; ++k) { // a. Let Pk be ! ToString(𝔽(k)). - auto property_name = PropertyName { k }; + auto property_name = PropertyKey { k }; // b. Let kPresent be ? HasProperty(O, Pk). auto k_present = TRY(object->has_property(property_name)); @@ -611,7 +611,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::index_of) // 10. Repeat, while k < len, for (; k < length; ++k) { - auto property_name = PropertyName { k }; + auto property_name = PropertyKey { k }; // a. Let kPresent be ? HasProperty(O, ! ToString(𝔽(k))). auto k_present = TRY(object->has_property(property_name)); @@ -675,7 +675,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::reduce) // b. Repeat, while kPresent is false and k < len, for (; !k_present && k < length; ++k) { // i. Let Pk be ! ToString(𝔽(k)). - auto property_name = PropertyName { k }; + auto property_name = PropertyKey { k }; // ii. Set kPresent to ? HasProperty(O, Pk). k_present = TRY(object->has_property(property_name)); @@ -697,7 +697,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::reduce) // 9. Repeat, while k < len, for (; k < length; ++k) { // a. Let Pk be ! ToString(𝔽(k)). - auto property_name = PropertyName { k }; + auto property_name = PropertyKey { k }; // b. Let kPresent be ? HasProperty(O, Pk). auto k_present = TRY(object->has_property(property_name)); @@ -757,7 +757,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::reduce_right) // b. Repeat, while kPresent is false and k ≥ 0, for (; !k_present && k >= 0; --k) { // i. Let Pk be ! ToString(𝔽(k)). - auto property_name = PropertyName { k }; + auto property_name = PropertyKey { k }; // ii. Set kPresent to ? HasProperty(O, Pk). k_present = TRY(object->has_property(property_name)); @@ -779,7 +779,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::reduce_right) // 9. Repeat, while k ≥ 0, for (; k >= 0; --k) { // a. Let Pk be ! ToString(𝔽(k)). - auto property_name = PropertyName { k }; + auto property_name = PropertyKey { k }; // b. Let kPresent be ? HasProperty(O, Pk). auto k_present = TRY(object->has_property(property_name)); @@ -1015,7 +1015,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::last_index_of) // 8. Repeat, while k ≥ 0, for (; k >= 0; --k) { - auto property_name = PropertyName { k }; + auto property_name = PropertyKey { k }; // a. Let kPresent be ? HasProperty(O, ! ToString(𝔽(k))). auto k_present = TRY(object->has_property(property_name)); @@ -1091,7 +1091,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::find) // 5. Repeat, while k < len, for (size_t k = 0; k < length; ++k) { // a. Let Pk be ! ToString(𝔽(k)). - auto property_name = PropertyName { k }; + auto property_name = PropertyKey { k }; // b. Let kValue be ? Get(O, Pk). auto k_value = TRY(object->get(property_name)); @@ -1130,7 +1130,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::find_index) // 5. Repeat, while k < len, for (size_t k = 0; k < length; ++k) { // a. Let Pk be ! ToString(𝔽(k)). - auto property_name = PropertyName { k }; + auto property_name = PropertyKey { k }; // b. Let kValue be ? Get(O, Pk). auto k_value = TRY(object->get(property_name)); @@ -1169,7 +1169,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::find_last) // 5. Repeat, while k ≥ 0, for (i64 k = static_cast<i64>(length) - 1; k >= 0; --k) { // a. Let Pk be ! ToString(𝔽(k)). - auto property_name = PropertyName { k }; + auto property_name = PropertyKey { k }; // b. Let kValue be ? Get(O, Pk). auto k_value = TRY(object->get(property_name)); @@ -1208,7 +1208,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::find_last_index) // 5. Repeat, while k ≥ 0, for (i64 k = static_cast<i64>(length) - 1; k >= 0; --k) { // a. Let Pk be ! ToString(𝔽(k)). - auto property_name = PropertyName { k }; + auto property_name = PropertyKey { k }; // b. Let kValue be ? Get(O, Pk). auto k_value = TRY(object->get(property_name)); @@ -1247,7 +1247,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::some) // 5. Repeat, while k < len, for (size_t k = 0; k < length; ++k) { // a. Let Pk be ! ToString(𝔽(k)). - auto property_name = PropertyName { k }; + auto property_name = PropertyKey { k }; // b. Let kPresent be ? HasProperty(O, Pk). auto k_present = TRY(object->has_property(property_name)); @@ -1292,7 +1292,7 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayPrototype::every) // 5. Repeat, while k < len, for (size_t k = 0; k < length; ++k) { // a. Let Pk be ! ToString(𝔽(k)). - auto property_name = PropertyName { k }; + auto property_name = PropertyKey { k }; // b. Let kPresent be ? HasProperty(O, Pk). auto k_present = TRY(object->has_property(property_name)); diff --git a/Userland/Libraries/LibJS/Runtime/CommonPropertyNames.h b/Userland/Libraries/LibJS/Runtime/CommonPropertyNames.h index cd57be17e1..069c356071 100644 --- a/Userland/Libraries/LibJS/Runtime/CommonPropertyNames.h +++ b/Userland/Libraries/LibJS/Runtime/CommonPropertyNames.h @@ -8,7 +8,7 @@ #include <AK/FlyString.h> #include <LibJS/Forward.h> -#include <LibJS/Runtime/PropertyName.h> +#include <LibJS/Runtime/PropertyKey.h> namespace JS { @@ -487,28 +487,28 @@ namespace JS { P(zonedDateTimeISO) struct CommonPropertyNames { - PropertyName and_ { "and", PropertyName::StringMayBeNumber::No }; - PropertyName catch_ { "catch", PropertyName::StringMayBeNumber::No }; - PropertyName delete_ { "delete", PropertyName::StringMayBeNumber::No }; - PropertyName for_ { "for", PropertyName::StringMayBeNumber::No }; - PropertyName or_ { "or", PropertyName::StringMayBeNumber::No }; - PropertyName register_ { "register", PropertyName::StringMayBeNumber::No }; - PropertyName return_ { "return", PropertyName::StringMayBeNumber::No }; - PropertyName throw_ { "throw", PropertyName::StringMayBeNumber::No }; - PropertyName xor_ { "xor", PropertyName::StringMayBeNumber::No }; -#define __ENUMERATE(x) PropertyName x { #x, PropertyName::StringMayBeNumber::No }; + PropertyKey and_ { "and", PropertyKey::StringMayBeNumber::No }; + PropertyKey catch_ { "catch", PropertyKey::StringMayBeNumber::No }; + PropertyKey delete_ { "delete", PropertyKey::StringMayBeNumber::No }; + PropertyKey for_ { "for", PropertyKey::StringMayBeNumber::No }; + PropertyKey or_ { "or", PropertyKey::StringMayBeNumber::No }; + PropertyKey register_ { "register", PropertyKey::StringMayBeNumber::No }; + PropertyKey return_ { "return", PropertyKey::StringMayBeNumber::No }; + PropertyKey throw_ { "throw", PropertyKey::StringMayBeNumber::No }; + PropertyKey xor_ { "xor", PropertyKey::StringMayBeNumber::No }; +#define __ENUMERATE(x) PropertyKey x { #x, PropertyKey::StringMayBeNumber::No }; ENUMERATE_STANDARD_PROPERTY_NAMES(__ENUMERATE) #undef __ENUMERATE -#define __JS_ENUMERATE(x, a, b, c, t) PropertyName x { #x, PropertyName::StringMayBeNumber::No }; +#define __JS_ENUMERATE(x, a, b, c, t) PropertyKey x { #x, PropertyKey::StringMayBeNumber::No }; JS_ENUMERATE_BUILTIN_TYPES #undef __JS_ENUMERATE -#define __JS_ENUMERATE(x, a, b, c) PropertyName x { #x, PropertyName::StringMayBeNumber::No }; +#define __JS_ENUMERATE(x, a, b, c) PropertyKey x { #x, PropertyKey::StringMayBeNumber::No }; JS_ENUMERATE_INTL_OBJECTS #undef __JS_ENUMERATE -#define __JS_ENUMERATE(x, a, b, c) PropertyName x { #x, PropertyName::StringMayBeNumber::No }; +#define __JS_ENUMERATE(x, a, b, c) PropertyKey x { #x, PropertyKey::StringMayBeNumber::No }; JS_ENUMERATE_TEMPORAL_OBJECTS #undef __JS_ENUMERATE -#define __JS_ENUMERATE(x, a) PropertyName x { #x, PropertyName::StringMayBeNumber::No }; +#define __JS_ENUMERATE(x, a) PropertyKey x { #x, PropertyKey::StringMayBeNumber::No }; JS_ENUMERATE_WELL_KNOWN_SYMBOLS #undef __JS_ENUMERATE }; diff --git a/Userland/Libraries/LibJS/Runtime/ECMAScriptFunctionObject.cpp b/Userland/Libraries/LibJS/Runtime/ECMAScriptFunctionObject.cpp index accd057046..648e25254e 100644 --- a/Userland/Libraries/LibJS/Runtime/ECMAScriptFunctionObject.cpp +++ b/Userland/Libraries/LibJS/Runtime/ECMAScriptFunctionObject.cpp @@ -276,7 +276,7 @@ void ECMAScriptFunctionObject::visit_edges(Visitor& visitor) visitor.visit(m_home_object); for (auto& field : m_fields) { - if (auto* property_name_ptr = field.name.get_pointer<PropertyName>(); property_name_ptr && property_name_ptr->is_symbol()) + if (auto* property_name_ptr = field.name.get_pointer<PropertyKey>(); property_name_ptr && property_name_ptr->is_symbol()) visitor.visit(property_name_ptr->as_symbol()); visitor.visit(field.initializer); diff --git a/Userland/Libraries/LibJS/Runtime/ECMAScriptFunctionObject.h b/Userland/Libraries/LibJS/Runtime/ECMAScriptFunctionObject.h index ac313c205e..dfe121f844 100644 --- a/Userland/Libraries/LibJS/Runtime/ECMAScriptFunctionObject.h +++ b/Userland/Libraries/LibJS/Runtime/ECMAScriptFunctionObject.h @@ -59,12 +59,12 @@ public: void set_home_object(Object* home_object) { m_home_object = home_object; } struct InstanceField { - Variant<PropertyName, PrivateName> name; + Variant<PropertyKey, PrivateName> name; ECMAScriptFunctionObject* initializer { nullptr }; }; Vector<InstanceField> const& fields() const { return m_fields; } - void add_field(Variant<PropertyName, PrivateName> property_key, ECMAScriptFunctionObject* initializer); + void add_field(Variant<PropertyKey, PrivateName> property_key, ECMAScriptFunctionObject* initializer); Vector<PrivateElement> const& private_methods() const { return m_private_methods; } void add_private_method(PrivateElement method) { m_private_methods.append(move(method)); }; diff --git a/Userland/Libraries/LibJS/Runtime/GlobalObject.h b/Userland/Libraries/LibJS/Runtime/GlobalObject.h index e39bbe538c..eb6d2b3bad 100644 --- a/Userland/Libraries/LibJS/Runtime/GlobalObject.h +++ b/Userland/Libraries/LibJS/Runtime/GlobalObject.h @@ -69,9 +69,9 @@ protected: virtual void visit_edges(Visitor&) override; template<typename ConstructorType> - void initialize_constructor(PropertyName const&, ConstructorType*&, Object* prototype); + void initialize_constructor(PropertyKey const&, ConstructorType*&, Object* prototype); template<typename ConstructorType> - void add_constructor(PropertyName const&, ConstructorType*&, Object* prototype); + void add_constructor(PropertyKey const&, ConstructorType*&, Object* prototype); private: virtual bool is_global_object() const final { return true; } @@ -133,7 +133,7 @@ private: }; template<typename ConstructorType> -inline void GlobalObject::initialize_constructor(PropertyName const& property_name, ConstructorType*& constructor, Object* prototype) +inline void GlobalObject::initialize_constructor(PropertyKey const& property_name, ConstructorType*& constructor, Object* prototype) { auto& vm = this->vm(); constructor = heap().allocate<ConstructorType>(*this, *this); @@ -148,7 +148,7 @@ inline void GlobalObject::initialize_constructor(PropertyName const& property_na } template<typename ConstructorType> -inline void GlobalObject::add_constructor(PropertyName const& property_name, ConstructorType*& constructor, Object* prototype) +inline void GlobalObject::add_constructor(PropertyKey const& property_name, ConstructorType*& constructor, Object* prototype) { // Some constructors are pre-initialized separately. if (!constructor) @@ -165,7 +165,7 @@ template<> inline bool Object::fast_is<GlobalObject>() const { return is_global_object(); } template<typename... Args> -[[nodiscard]] ALWAYS_INLINE ThrowCompletionOr<Value> Value::invoke(GlobalObject& global_object, PropertyName const& property_name, Args... args) +[[nodiscard]] ALWAYS_INLINE ThrowCompletionOr<Value> Value::invoke(GlobalObject& global_object, PropertyKey const& property_name, Args... args) { if constexpr (sizeof...(Args) > 0) { MarkedValueList arglist { global_object.vm().heap() }; diff --git a/Userland/Libraries/LibJS/Runtime/Intl/AbstractOperations.cpp b/Userland/Libraries/LibJS/Runtime/Intl/AbstractOperations.cpp index b1eb98f082..5e14a77690 100644 --- a/Userland/Libraries/LibJS/Runtime/Intl/AbstractOperations.cpp +++ b/Userland/Libraries/LibJS/Runtime/Intl/AbstractOperations.cpp @@ -219,7 +219,7 @@ ThrowCompletionOr<Vector<String>> canonicalize_locale_list(GlobalObject& global_ // 7. Repeat, while k < len, for (size_t k = 0; k < length; ++k) { // a. Let Pk be ToString(k). - auto property_key = PropertyName { k }; + auto property_key = PropertyKey { k }; // b. Let kPresent be ? HasProperty(O, Pk). auto key_present = TRY(object->has_property(property_key)); @@ -597,7 +597,7 @@ ThrowCompletionOr<Object*> coerce_options_to_object(GlobalObject& global_object, } // 9.2.13 GetOption ( options, property, type, values, fallback ), https://tc39.es/ecma402/#sec-getoption -ThrowCompletionOr<Value> get_option(GlobalObject& global_object, Object const& options, PropertyName const& property, Value::Type type, Vector<StringView> const& values, Fallback fallback) +ThrowCompletionOr<Value> get_option(GlobalObject& global_object, Object const& options, PropertyKey const& property, Value::Type type, Vector<StringView> const& values, Fallback fallback) { auto& vm = global_object.vm(); @@ -661,7 +661,7 @@ ThrowCompletionOr<Optional<int>> default_number_option(GlobalObject& global_obje } // 9.2.15 GetNumberOption ( options, property, minimum, maximum, fallback ), https://tc39.es/ecma402/#sec-getnumberoption -ThrowCompletionOr<Optional<int>> get_number_option(GlobalObject& global_object, Object const& options, PropertyName const& property, int minimum, int maximum, Optional<int> fallback) +ThrowCompletionOr<Optional<int>> get_number_option(GlobalObject& global_object, Object const& options, PropertyKey const& property, int minimum, int maximum, Optional<int> fallback) { // 1. Assert: Type(options) is Object. diff --git a/Userland/Libraries/LibJS/Runtime/Intl/AbstractOperations.h b/Userland/Libraries/LibJS/Runtime/Intl/AbstractOperations.h index f69977c183..16e5391053 100644 --- a/Userland/Libraries/LibJS/Runtime/Intl/AbstractOperations.h +++ b/Userland/Libraries/LibJS/Runtime/Intl/AbstractOperations.h @@ -46,9 +46,9 @@ Vector<String> lookup_supported_locales(Vector<String> const& requested_locales) Vector<String> best_fit_supported_locales(Vector<String> const& requested_locales); ThrowCompletionOr<Array*> supported_locales(GlobalObject&, Vector<String> const& requested_locales, Value options); ThrowCompletionOr<Object*> coerce_options_to_object(GlobalObject& global_object, Value options); -ThrowCompletionOr<Value> get_option(GlobalObject& global_object, Object const& options, PropertyName const& property, Value::Type type, Vector<StringView> const& values, Fallback fallback); +ThrowCompletionOr<Value> get_option(GlobalObject& global_object, Object const& options, PropertyKey const& property, Value::Type type, Vector<StringView> const& values, Fallback fallback); ThrowCompletionOr<Optional<int>> default_number_option(GlobalObject& global_object, Value value, int minimum, int maximum, Optional<int> fallback); -ThrowCompletionOr<Optional<int>> get_number_option(GlobalObject& global_object, Object const& options, PropertyName const& property, int minimum, int maximum, Optional<int> fallback); +ThrowCompletionOr<Optional<int>> get_number_option(GlobalObject& global_object, Object const& options, PropertyKey const& property, int minimum, int maximum, Optional<int> fallback); Vector<PatternPartition> partition_pattern(StringView pattern); } diff --git a/Userland/Libraries/LibJS/Runtime/Intl/LocaleConstructor.cpp b/Userland/Libraries/LibJS/Runtime/Intl/LocaleConstructor.cpp index e12b0ee80f..25cd2946d4 100644 --- a/Userland/Libraries/LibJS/Runtime/Intl/LocaleConstructor.cpp +++ b/Userland/Libraries/LibJS/Runtime/Intl/LocaleConstructor.cpp @@ -26,7 +26,7 @@ struct LocaleAndKeys { }; // Note: This is not an AO in the spec. This just serves to abstract very similar steps in ApplyOptionsToTag and the Intl.Locale constructor. -static ThrowCompletionOr<Optional<String>> get_string_option(GlobalObject& global_object, Object const& options, PropertyName const& property, Function<bool(StringView)> validator, Vector<StringView> const& values = {}) +static ThrowCompletionOr<Optional<String>> get_string_option(GlobalObject& global_object, Object const& options, PropertyKey const& property, Function<bool(StringView)> validator, Vector<StringView> const& values = {}) { auto& vm = global_object.vm(); diff --git a/Userland/Libraries/LibJS/Runtime/JSONObject.cpp b/Userland/Libraries/LibJS/Runtime/JSONObject.cpp index 4993d382eb..cc990fd28b 100644 --- a/Userland/Libraries/LibJS/Runtime/JSONObject.cpp +++ b/Userland/Libraries/LibJS/Runtime/JSONObject.cpp @@ -129,7 +129,7 @@ JS_DEFINE_OLD_NATIVE_FUNCTION(JSONObject::stringify) } // 25.5.2.1 SerializeJSONProperty ( state, key, holder ), https://tc39.es/ecma262/#sec-serializejsonproperty -String JSONObject::serialize_json_property(GlobalObject& global_object, StringifyState& state, const PropertyName& key, Object* holder) +String JSONObject::serialize_json_property(GlobalObject& global_object, StringifyState& state, const PropertyKey& key, Object* holder) { auto& vm = global_object.vm(); auto value = TRY_OR_DISCARD(holder->get(key)); @@ -200,7 +200,7 @@ String JSONObject::serialize_json_object(GlobalObject& global_object, StringifyS state.indent = String::formatted("{}{}", state.indent, state.gap); Vector<String> property_strings; - auto process_property = [&](const PropertyName& key) { + auto process_property = [&](const PropertyKey& key) { if (key.is_symbol()) return; auto serialized_property_string = serialize_json_property(global_object, state, key, &object); @@ -437,7 +437,7 @@ Array* JSONObject::parse_json_array(GlobalObject& global_object, const JsonArray } // 25.5.1.1 InternalizeJSONProperty ( holder, name, reviver ), https://tc39.es/ecma262/#sec-internalizejsonproperty -Value JSONObject::internalize_json_property(GlobalObject& global_object, Object* holder, PropertyName const& name, FunctionObject& reviver) +Value JSONObject::internalize_json_property(GlobalObject& global_object, Object* holder, PropertyKey const& name, FunctionObject& reviver) { auto& vm = global_object.vm(); auto value = TRY_OR_DISCARD(holder->get(name)); @@ -445,7 +445,7 @@ Value JSONObject::internalize_json_property(GlobalObject& global_object, Object* auto is_array = TRY_OR_DISCARD(value.is_array(global_object)); auto& value_object = value.as_object(); - auto process_property = [&](const PropertyName& key) -> ThrowCompletionOr<void> { + auto process_property = [&](const PropertyKey& key) -> ThrowCompletionOr<void> { auto element = internalize_json_property(global_object, &value_object, key, reviver); if (auto* exception = vm.exception()) return throw_completion(exception->value()); diff --git a/Userland/Libraries/LibJS/Runtime/JSONObject.h b/Userland/Libraries/LibJS/Runtime/JSONObject.h index 6d717b22be..10ac77a2e2 100644 --- a/Userland/Libraries/LibJS/Runtime/JSONObject.h +++ b/Userland/Libraries/LibJS/Runtime/JSONObject.h @@ -34,7 +34,7 @@ private: }; // Stringify helpers - static String serialize_json_property(GlobalObject&, StringifyState&, const PropertyName& key, Object* holder); + static String serialize_json_property(GlobalObject&, StringifyState&, const PropertyKey& key, Object* holder); static String serialize_json_object(GlobalObject&, StringifyState&, Object&); static String serialize_json_array(GlobalObject&, StringifyState&, Object&); static String quote_json_string(String); @@ -42,7 +42,7 @@ private: // Parse helpers static Object* parse_json_object(GlobalObject&, const JsonObject&); static Array* parse_json_array(GlobalObject&, const JsonArray&); - static Value internalize_json_property(GlobalObject&, Object* holder, PropertyName const& name, FunctionObject& reviver); + static Value internalize_json_property(GlobalObject&, Object* holder, PropertyKey const& name, FunctionObject& reviver); JS_DECLARE_OLD_NATIVE_FUNCTION(stringify); JS_DECLARE_OLD_NATIVE_FUNCTION(parse); diff --git a/Userland/Libraries/LibJS/Runtime/Object.cpp b/Userland/Libraries/LibJS/Runtime/Object.cpp index 600dfb5365..94d93da5aa 100644 --- a/Userland/Libraries/LibJS/Runtime/Object.cpp +++ b/Userland/Libraries/LibJS/Runtime/Object.cpp @@ -77,7 +77,7 @@ ThrowCompletionOr<bool> Object::is_extensible() const // 7.3 Operations on Objects, https://tc39.es/ecma262/#sec-operations-on-objects // 7.3.2 Get ( O, P ), https://tc39.es/ecma262/#sec-get-o-p -ThrowCompletionOr<Value> Object::get(PropertyName const& property_name) const +ThrowCompletionOr<Value> Object::get(PropertyKey const& property_name) const { // 1. Assert: Type(O) is Object. @@ -91,7 +91,7 @@ ThrowCompletionOr<Value> Object::get(PropertyName const& property_name) const // 7.3.3 GetV ( V, P ) is defined as Value::get(). // 7.3.4 Set ( O, P, V, Throw ), https://tc39.es/ecma262/#sec-set-o-p-v-throw -ThrowCompletionOr<bool> Object::set(PropertyName const& property_name, Value value, ShouldThrowExceptions throw_exceptions) +ThrowCompletionOr<bool> Object::set(PropertyKey const& property_name, Value value, ShouldThrowExceptions throw_exceptions) { VERIFY(!value.is_empty()); auto& vm = this->vm(); @@ -117,7 +117,7 @@ ThrowCompletionOr<bool> Object::set(PropertyName const& property_name, Value val } // 7.3.5 CreateDataProperty ( O, P, V ), https://tc39.es/ecma262/#sec-createdataproperty -ThrowCompletionOr<bool> Object::create_data_property(PropertyName const& property_name, Value value) +ThrowCompletionOr<bool> Object::create_data_property(PropertyKey const& property_name, Value value) { // 1. Assert: Type(O) is Object. @@ -137,7 +137,7 @@ ThrowCompletionOr<bool> Object::create_data_property(PropertyName const& propert } // 7.3.6 CreateMethodProperty ( O, P, V ), https://tc39.es/ecma262/#sec-createmethodproperty -ThrowCompletionOr<bool> Object::create_method_property(PropertyName const& property_name, Value value) +ThrowCompletionOr<bool> Object::create_method_property(PropertyKey const& property_name, Value value) { VERIFY(!value.is_empty()); @@ -159,7 +159,7 @@ ThrowCompletionOr<bool> Object::create_method_property(PropertyName const& prope } // 7.3.7 CreateDataPropertyOrThrow ( O, P, V ), https://tc39.es/ecma262/#sec-createdatapropertyorthrow -ThrowCompletionOr<bool> Object::create_data_property_or_throw(PropertyName const& property_name, Value value) +ThrowCompletionOr<bool> Object::create_data_property_or_throw(PropertyKey const& property_name, Value value) { VERIFY(!value.is_empty()); auto& vm = this->vm(); @@ -183,7 +183,7 @@ ThrowCompletionOr<bool> Object::create_data_property_or_throw(PropertyName const } // 7.3.6 CreateNonEnumerableDataPropertyOrThrow ( O, P, V ), https://tc39.es/proposal-error-cause/#sec-createnonenumerabledatapropertyorthrow -ThrowCompletionOr<bool> Object::create_non_enumerable_data_property_or_throw(PropertyName const& property_name, Value value) +ThrowCompletionOr<bool> Object::create_non_enumerable_data_property_or_throw(PropertyKey const& property_name, Value value) { VERIFY(!value.is_empty()); VERIFY(property_name.is_valid()); @@ -196,7 +196,7 @@ ThrowCompletionOr<bool> Object::create_non_enumerable_data_property_or_throw(Pro } // 7.3.8 DefinePropertyOrThrow ( O, P, desc ), https://tc39.es/ecma262/#sec-definepropertyorthrow -ThrowCompletionOr<bool> Object::define_property_or_throw(PropertyName const& property_name, PropertyDescriptor const& property_descriptor) +ThrowCompletionOr<bool> Object::define_property_or_throw(PropertyKey const& property_name, PropertyDescriptor const& property_descriptor) { auto& vm = this->vm(); @@ -219,7 +219,7 @@ ThrowCompletionOr<bool> Object::define_property_or_throw(PropertyName const& pro } // 7.3.9 DeletePropertyOrThrow ( O, P ), https://tc39.es/ecma262/#sec-deletepropertyorthrow -ThrowCompletionOr<bool> Object::delete_property_or_throw(PropertyName const& property_name) +ThrowCompletionOr<bool> Object::delete_property_or_throw(PropertyKey const& property_name) { auto& vm = this->vm(); @@ -242,7 +242,7 @@ ThrowCompletionOr<bool> Object::delete_property_or_throw(PropertyName const& pro } // 7.3.11 HasProperty ( O, P ), https://tc39.es/ecma262/#sec-hasproperty -ThrowCompletionOr<bool> Object::has_property(PropertyName const& property_name) const +ThrowCompletionOr<bool> Object::has_property(PropertyKey const& property_name) const { // 1. Assert: Type(O) is Object. @@ -254,7 +254,7 @@ ThrowCompletionOr<bool> Object::has_property(PropertyName const& property_name) } // 7.3.12 HasOwnProperty ( O, P ), https://tc39.es/ecma262/#sec-hasownproperty -ThrowCompletionOr<bool> Object::has_own_property(PropertyName const& property_name) const +ThrowCompletionOr<bool> Object::has_own_property(PropertyKey const& property_name) const { // 1. Assert: Type(O) is Object. @@ -296,7 +296,7 @@ ThrowCompletionOr<bool> Object::set_integrity_level(IntegrityLevel level) if (level == IntegrityLevel::Sealed) { // a. For each element k of keys, do for (auto& key : keys) { - auto property_name = PropertyName::from_value(global_object, key); + auto property_name = PropertyKey::from_value(global_object, key); // i. Perform ? DefinePropertyOrThrow(O, k, PropertyDescriptor { [[Configurable]]: false }). TRY(define_property_or_throw(property_name, { .configurable = false })); @@ -308,7 +308,7 @@ ThrowCompletionOr<bool> Object::set_integrity_level(IntegrityLevel level) // b. For each element k of keys, do for (auto& key : keys) { - auto property_name = PropertyName::from_value(global_object, key); + auto property_name = PropertyKey::from_value(global_object, key); // i. Let currentDesc be ? O.[[GetOwnProperty]](k). auto current_descriptor = TRY(internal_get_own_property(property_name)); @@ -360,7 +360,7 @@ ThrowCompletionOr<bool> Object::test_integrity_level(IntegrityLevel level) const // 7. For each element k of keys, do for (auto& key : keys) { - auto property_name = PropertyName::from_value(global_object(), key); + auto property_name = PropertyKey::from_value(global_object(), key); // a. Let currentDesc be ? O.[[GetOwnProperty]](k). auto current_descriptor = TRY(internal_get_own_property(property_name)); @@ -405,7 +405,7 @@ ThrowCompletionOr<MarkedValueList> Object::enumerable_own_property_names(Propert // a. If Type(key) is String, then if (!key.is_string()) continue; - auto property_name = PropertyName::from_value(global_object, key); + auto property_name = PropertyKey::from_value(global_object, key); // i. Let desc be ? O.[[GetOwnProperty]](key). auto descriptor = TRY(internal_get_own_property(property_name)); @@ -445,7 +445,7 @@ ThrowCompletionOr<MarkedValueList> Object::enumerable_own_property_names(Propert } // 7.3.25 CopyDataProperties ( target, source, excludedItems ), https://tc39.es/ecma262/#sec-copydataproperties -ThrowCompletionOr<Object*> Object::copy_data_properties(Value source, HashTable<PropertyName, PropertyNameTraits> const& seen_names, GlobalObject& global_object) +ThrowCompletionOr<Object*> Object::copy_data_properties(Value source, HashTable<PropertyKey, PropertyNameTraits> const& seen_names, GlobalObject& global_object) { if (source.is_nullish()) return this; @@ -453,7 +453,7 @@ ThrowCompletionOr<Object*> Object::copy_data_properties(Value source, HashTable< auto* from_object = MUST(source.to_object(global_object)); for (auto& next_key_value : TRY(from_object->internal_own_property_keys())) { - auto next_key = PropertyName::from_value(global_object, next_key_value); + auto next_key = PropertyKey::from_value(global_object, next_key_value); if (seen_names.contains(next_key)) continue; @@ -547,13 +547,13 @@ ThrowCompletionOr<void> Object::private_set(PrivateName const& name, Value value } // 7.3.31 DefineField ( receiver, fieldRecord ), https://tc39.es/ecma262/#sec-definefield -ThrowCompletionOr<void> Object::define_field(Variant<PropertyName, PrivateName> name, ECMAScriptFunctionObject* initializer) +ThrowCompletionOr<void> Object::define_field(Variant<PropertyKey, PrivateName> name, ECMAScriptFunctionObject* initializer) { Value init_value = js_undefined(); if (initializer) init_value = TRY(vm().call(*initializer, this)); - if (auto* property_name_ptr = name.get_pointer<PropertyName>()) + if (auto* property_name_ptr = name.get_pointer<PropertyKey>()) TRY(create_data_property_or_throw(*property_name_ptr, init_value)); else TRY(private_field_add(name.get<PrivateName>(), init_value)); @@ -634,7 +634,7 @@ ThrowCompletionOr<bool> Object::internal_prevent_extensions() } // 10.1.5 [[GetOwnProperty]] ( P ), https://tc39.es/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots-getownproperty-p -ThrowCompletionOr<Optional<PropertyDescriptor>> Object::internal_get_own_property(PropertyName const& property_name) const +ThrowCompletionOr<Optional<PropertyDescriptor>> Object::internal_get_own_property(PropertyKey const& property_name) const { // 1. Assert: IsPropertyKey(P) is true. VERIFY(property_name.is_valid()); @@ -680,7 +680,7 @@ ThrowCompletionOr<Optional<PropertyDescriptor>> Object::internal_get_own_propert } // 10.1.6 [[DefineOwnProperty]] ( P, Desc ), https://tc39.es/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots-defineownproperty-p-desc -ThrowCompletionOr<bool> Object::internal_define_own_property(PropertyName const& property_name, PropertyDescriptor const& property_descriptor) +ThrowCompletionOr<bool> Object::internal_define_own_property(PropertyKey const& property_name, PropertyDescriptor const& property_descriptor) { VERIFY(property_name.is_valid()); // 1. Let current be ? O.[[GetOwnProperty]](P). @@ -694,7 +694,7 @@ ThrowCompletionOr<bool> Object::internal_define_own_property(PropertyName const& } // 10.1.7 [[HasProperty]] ( P ), https://tc39.es/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots-hasproperty-p -ThrowCompletionOr<bool> Object::internal_has_property(PropertyName const& property_name) const +ThrowCompletionOr<bool> Object::internal_has_property(PropertyKey const& property_name) const { auto& vm = this->vm(); @@ -725,7 +725,7 @@ ThrowCompletionOr<bool> Object::internal_has_property(PropertyName const& proper } // 10.1.8 [[Get]] ( P, Receiver ), https://tc39.es/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots-get-p-receiver -ThrowCompletionOr<Value> Object::internal_get(PropertyName const& property_name, Value receiver) const +ThrowCompletionOr<Value> Object::internal_get(PropertyKey const& property_name, Value receiver) const { VERIFY(!receiver.is_empty()); auto& vm = this->vm(); @@ -768,7 +768,7 @@ ThrowCompletionOr<Value> Object::internal_get(PropertyName const& property_name, } // 10.1.9 [[Set]] ( P, V, Receiver ), https://tc39.es/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots-set-p-v-receiver -ThrowCompletionOr<bool> Object::internal_set(PropertyName const& property_name, Value value, Value receiver) +ThrowCompletionOr<bool> Object::internal_set(PropertyKey const& property_name, Value value, Value receiver) { VERIFY(!value.is_empty()); VERIFY(!receiver.is_empty()); @@ -784,7 +784,7 @@ ThrowCompletionOr<bool> Object::internal_set(PropertyName const& property_name, } // 10.1.9.2 OrdinarySetWithOwnDescriptor ( O, P, V, Receiver, ownDesc ), https://tc39.es/ecma262/#sec-ordinarysetwithowndescriptor -ThrowCompletionOr<bool> Object::ordinary_set_with_own_descriptor(PropertyName const& property_name, Value value, Value receiver, Optional<PropertyDescriptor> own_descriptor) +ThrowCompletionOr<bool> Object::ordinary_set_with_own_descriptor(PropertyKey const& property_name, Value value, Value receiver, Optional<PropertyDescriptor> own_descriptor) { auto& vm = this->vm(); @@ -870,7 +870,7 @@ ThrowCompletionOr<bool> Object::ordinary_set_with_own_descriptor(PropertyName co } // 10.1.10 [[Delete]] ( P ), https://tc39.es/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots-delete-p -ThrowCompletionOr<bool> Object::internal_delete(PropertyName const& property_name) +ThrowCompletionOr<bool> Object::internal_delete(PropertyKey const& property_name) { // 1. Assert: IsPropertyKey(P) is true. VERIFY(property_name.is_valid()); @@ -945,7 +945,7 @@ ThrowCompletionOr<bool> Object::set_immutable_prototype(Object* prototype) return false; } -Optional<ValueAndAttributes> Object::storage_get(PropertyName const& property_name) const +Optional<ValueAndAttributes> Object::storage_get(PropertyKey const& property_name) const { VERIFY(property_name.is_valid()); @@ -968,7 +968,7 @@ Optional<ValueAndAttributes> Object::storage_get(PropertyName const& property_na return ValueAndAttributes { .value = value, .attributes = attributes }; } -bool Object::storage_has(PropertyName const& property_name) const +bool Object::storage_has(PropertyKey const& property_name) const { VERIFY(property_name.is_valid()); if (property_name.is_number()) @@ -976,7 +976,7 @@ bool Object::storage_has(PropertyName const& property_name) const return shape().lookup(property_name.to_string_or_symbol()).has_value(); } -void Object::storage_set(PropertyName const& property_name, ValueAndAttributes const& value_and_attributes) +void Object::storage_set(PropertyKey const& property_name, ValueAndAttributes const& value_and_attributes) { VERIFY(property_name.is_valid()); @@ -1017,7 +1017,7 @@ void Object::storage_set(PropertyName const& property_name, ValueAndAttributes c m_storage[metadata->offset] = value; } -void Object::storage_delete(PropertyName const& property_name) +void Object::storage_delete(PropertyKey const& property_name) { VERIFY(property_name.is_valid()); VERIFY(storage_has(property_name)); @@ -1045,7 +1045,7 @@ void Object::set_prototype(Object* new_prototype) m_shape = shape.create_prototype_transition(new_prototype); } -void Object::define_old_native_accessor(PropertyName const& property_name, Function<Value(VM&, GlobalObject&)> getter, Function<Value(VM&, GlobalObject&)> setter, PropertyAttributes attribute) +void Object::define_old_native_accessor(PropertyKey const& property_name, Function<Value(VM&, GlobalObject&)> getter, Function<Value(VM&, GlobalObject&)> setter, PropertyAttributes attribute) { Function<ThrowCompletionOr<Value>(VM&, GlobalObject&)> completion_getter = {}; if (getter) { @@ -1068,7 +1068,7 @@ void Object::define_old_native_accessor(PropertyName const& property_name, Funct define_native_accessor(property_name, move(completion_getter), move(completion_setter), attribute); } -void Object::define_native_accessor(PropertyName const& property_name, Function<ThrowCompletionOr<Value>(VM&, GlobalObject&)> getter, Function<ThrowCompletionOr<Value>(VM&, GlobalObject&)> setter, PropertyAttributes attribute) +void Object::define_native_accessor(PropertyKey const& property_name, Function<ThrowCompletionOr<Value>(VM&, GlobalObject&)> getter, Function<ThrowCompletionOr<Value>(VM&, GlobalObject&)> setter, PropertyAttributes attribute) { auto& vm = this->vm(); String formatted_property_name; @@ -1096,7 +1096,7 @@ void Object::define_native_accessor(PropertyName const& property_name, Function< return define_direct_accessor(property_name, getter_function, setter_function, attribute); } -void Object::define_direct_accessor(PropertyName const& property_name, FunctionObject* getter, FunctionObject* setter, PropertyAttributes attributes) +void Object::define_direct_accessor(PropertyKey const& property_name, FunctionObject* getter, FunctionObject* setter, PropertyAttributes attributes) { VERIFY(property_name.is_valid()); @@ -1122,7 +1122,7 @@ void Object::ensure_shape_is_unique() } // Simple side-effect free property lookup, following the prototype chain. Non-standard. -Value Object::get_without_side_effects(const PropertyName& property_name) const +Value Object::get_without_side_effects(const PropertyKey& property_name) const { auto* object = this; while (object) { @@ -1134,7 +1134,7 @@ Value Object::get_without_side_effects(const PropertyName& property_name) const return {}; } -void Object::define_old_native_function(PropertyName const& property_name, Function<Value(VM&, GlobalObject&)> native_function, i32 length, PropertyAttributes attribute) +void Object::define_old_native_function(PropertyKey const& property_name, Function<Value(VM&, GlobalObject&)> native_function, i32 length, PropertyAttributes attribute) { auto completion_native_function = [native_function = move(native_function), property_name](auto& vm, auto& global_object) -> ThrowCompletionOr<Value> { auto result = native_function(vm, global_object); @@ -1145,7 +1145,7 @@ void Object::define_old_native_function(PropertyName const& property_name, Funct define_native_function(property_name, move(completion_native_function), length, attribute); } -void Object::define_native_function(PropertyName const& property_name, Function<ThrowCompletionOr<Value>(VM&, GlobalObject&)> native_function, i32 length, PropertyAttributes attribute) +void Object::define_native_function(PropertyKey const& property_name, Function<ThrowCompletionOr<Value>(VM&, GlobalObject&)> native_function, i32 length, PropertyAttributes attribute) { auto& vm = this->vm(); String function_name; @@ -1174,7 +1174,7 @@ ThrowCompletionOr<Object*> Object::define_properties(Value properties) auto keys = TRY(props->internal_own_property_keys()); struct NameAndDescriptor { - PropertyName name; + PropertyKey name; PropertyDescriptor descriptor; }; @@ -1183,7 +1183,7 @@ ThrowCompletionOr<Object*> Object::define_properties(Value properties) // 5. For each element nextKey of keys, do for (auto& next_key : keys) { - auto property_name = PropertyName::from_value(global_object, next_key); + auto property_name = PropertyKey::from_value(global_object, next_key); // a. Let propDesc be ? props.[[GetOwnProperty]](nextKey). auto property_descriptor = TRY(props->internal_get_own_property(property_name)); @@ -1237,7 +1237,7 @@ ThrowCompletionOr<Value> Object::ordinary_to_primitive(Value::PreferredType pref auto& vm = this->vm(); - AK::Array<PropertyName, 2> method_names; + AK::Array<PropertyKey, 2> method_names; // 1. If hint is string, then if (preferred_type == Value::PreferredType::String) { diff --git a/Userland/Libraries/LibJS/Runtime/Object.h b/Userland/Libraries/LibJS/Runtime/Object.h index 3ca024cf38..472a2c7e8e 100644 --- a/Userland/Libraries/LibJS/Runtime/Object.h +++ b/Userland/Libraries/LibJS/Runtime/Object.h @@ -18,7 +18,7 @@ #include <LibJS/Runtime/PrimitiveString.h> #include <LibJS/Runtime/PrivateEnvironment.h> #include <LibJS/Runtime/PropertyDescriptor.h> -#include <LibJS/Runtime/PropertyName.h> +#include <LibJS/Runtime/PropertyKey.h> #include <LibJS/Runtime/Shape.h> #include <LibJS/Runtime/Value.h> @@ -88,27 +88,27 @@ public: // 7.3 Operations on Objects, https://tc39.es/ecma262/#sec-operations-on-objects - ThrowCompletionOr<Value> get(PropertyName const&) const; - ThrowCompletionOr<bool> set(PropertyName const&, Value, ShouldThrowExceptions); - ThrowCompletionOr<bool> create_data_property(PropertyName const&, Value); - ThrowCompletionOr<bool> create_method_property(PropertyName const&, Value); - ThrowCompletionOr<bool> create_data_property_or_throw(PropertyName const&, Value); - ThrowCompletionOr<bool> create_non_enumerable_data_property_or_throw(PropertyName const&, Value); - ThrowCompletionOr<bool> define_property_or_throw(PropertyName const&, PropertyDescriptor const&); - ThrowCompletionOr<bool> delete_property_or_throw(PropertyName const&); - ThrowCompletionOr<bool> has_property(PropertyName const&) const; - ThrowCompletionOr<bool> has_own_property(PropertyName const&) const; + ThrowCompletionOr<Value> get(PropertyKey const&) const; + ThrowCompletionOr<bool> set(PropertyKey const&, Value, ShouldThrowExceptions); + ThrowCompletionOr<bool> create_data_property(PropertyKey const&, Value); + ThrowCompletionOr<bool> create_method_property(PropertyKey const&, Value); + ThrowCompletionOr<bool> create_data_property_or_throw(PropertyKey const&, Value); + ThrowCompletionOr<bool> create_non_enumerable_data_property_or_throw(PropertyKey const&, Value); + ThrowCompletionOr<bool> define_property_or_throw(PropertyKey const&, PropertyDescriptor const&); + ThrowCompletionOr<bool> delete_property_or_throw(PropertyKey const&); + ThrowCompletionOr<bool> has_property(PropertyKey const&) const; + ThrowCompletionOr<bool> has_own_property(PropertyKey const&) const; ThrowCompletionOr<bool> set_integrity_level(IntegrityLevel); ThrowCompletionOr<bool> test_integrity_level(IntegrityLevel) const; ThrowCompletionOr<MarkedValueList> enumerable_own_property_names(PropertyKind kind) const; - ThrowCompletionOr<Object*> copy_data_properties(Value source, HashTable<PropertyName, PropertyNameTraits> const& seen_names, GlobalObject& global_object); + ThrowCompletionOr<Object*> copy_data_properties(Value source, HashTable<PropertyKey, PropertyNameTraits> const& seen_names, GlobalObject& global_object); PrivateElement* private_element_find(PrivateName const& name); ThrowCompletionOr<void> private_field_add(PrivateName const& name, Value value); ThrowCompletionOr<void> private_method_or_accessor_add(PrivateElement element); ThrowCompletionOr<Value> private_get(PrivateName const& name); ThrowCompletionOr<void> private_set(PrivateName const& name, Value value); - ThrowCompletionOr<void> define_field(Variant<PropertyName, PrivateName> name, ECMAScriptFunctionObject* initializer); + ThrowCompletionOr<void> define_field(Variant<PropertyKey, PrivateName> name, ECMAScriptFunctionObject* initializer); // 10.1 Ordinary Object Internal Methods and Internal Slots, https://tc39.es/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots @@ -116,15 +116,15 @@ public: virtual ThrowCompletionOr<bool> internal_set_prototype_of(Object* prototype); virtual ThrowCompletionOr<bool> internal_is_extensible() const; virtual ThrowCompletionOr<bool> internal_prevent_extensions(); - virtual ThrowCompletionOr<Optional<PropertyDescriptor>> internal_get_own_property(PropertyName const&) const; - virtual ThrowCompletionOr<bool> internal_define_own_property(PropertyName const&, PropertyDescriptor const&); - virtual ThrowCompletionOr<bool> internal_has_property(PropertyName const&) const; - virtual ThrowCompletionOr<Value> internal_get(PropertyName const&, Value receiver) const; - virtual ThrowCompletionOr<bool> internal_set(PropertyName const&, Value value, Value receiver); - virtual ThrowCompletionOr<bool> internal_delete(PropertyName const&); + virtual ThrowCompletionOr<Optional<PropertyDescriptor>> internal_get_own_property(PropertyKey const&) const; + virtual ThrowCompletionOr<bool> internal_define_own_property(PropertyKey const&, PropertyDescriptor const&); + virtual ThrowCompletionOr<bool> internal_has_property(PropertyKey const&) const; + virtual ThrowCompletionOr<Value> internal_get(PropertyKey const&, Value receiver) const; + virtual ThrowCompletionOr<bool> internal_set(PropertyKey const&, Value value, Value receiver); + virtual ThrowCompletionOr<bool> internal_delete(PropertyKey const&); virtual ThrowCompletionOr<MarkedValueList> internal_own_property_keys() const; - ThrowCompletionOr<bool> ordinary_set_with_own_descriptor(PropertyName const&, Value, Value, Optional<PropertyDescriptor>); + ThrowCompletionOr<bool> ordinary_set_with_own_descriptor(PropertyKey const&, Value, Value, Optional<PropertyDescriptor>); // 10.4.7 Immutable Prototype Exotic Objects, https://tc39.es/ecma262/#sec-immutable-prototype-exotic-objects @@ -136,24 +136,24 @@ public: // Implementation-specific storage abstractions - Optional<ValueAndAttributes> storage_get(PropertyName const&) const; - bool storage_has(PropertyName const&) const; - void storage_set(PropertyName const&, ValueAndAttributes const&); - void storage_delete(PropertyName const&); + Optional<ValueAndAttributes> storage_get(PropertyKey const&) const; + bool storage_has(PropertyKey const&) const; + void storage_set(PropertyKey const&, ValueAndAttributes const&); + void storage_delete(PropertyKey const&); // Non-standard methods - Value get_without_side_effects(const PropertyName&) const; + Value get_without_side_effects(const PropertyKey&) const; - void define_direct_property(PropertyName const& property_name, Value value, PropertyAttributes attributes) { storage_set(property_name, { value, attributes }); }; - void define_direct_accessor(PropertyName const&, FunctionObject* getter, FunctionObject* setter, PropertyAttributes attributes); + void define_direct_property(PropertyKey const& property_name, Value value, PropertyAttributes attributes) { storage_set(property_name, { value, attributes }); }; + void define_direct_accessor(PropertyKey const&, FunctionObject* getter, FunctionObject* setter, PropertyAttributes attributes); // Legacy methods - Remove once JS_DECLARE_OLD_NATIVE_FUNCTION is removed - void define_old_native_function(PropertyName const&, Function<Value(VM&, GlobalObject&)>, i32 length, PropertyAttributes attributes); - void define_old_native_accessor(PropertyName const&, Function<Value(VM&, GlobalObject&)> getter, Function<Value(VM&, GlobalObject&)> setter, PropertyAttributes attributes); + void define_old_native_function(PropertyKey const&, Function<Value(VM&, GlobalObject&)>, i32 length, PropertyAttributes attributes); + void define_old_native_accessor(PropertyKey const&, Function<Value(VM&, GlobalObject&)> getter, Function<Value(VM&, GlobalObject&)> setter, PropertyAttributes attributes); - void define_native_function(PropertyName const&, Function<ThrowCompletionOr<Value>(VM&, GlobalObject&)>, i32 length, PropertyAttributes attributes); - void define_native_accessor(PropertyName const&, Function<ThrowCompletionOr<Value>(VM&, GlobalObject&)> getter, Function<ThrowCompletionOr<Value>(VM&, GlobalObject&)> setter, PropertyAttributes attributes); + void define_native_function(PropertyKey const&, Function<ThrowCompletionOr<Value>(VM&, GlobalObject&)>, i32 length, PropertyAttributes attributes); + void define_native_accessor(PropertyKey const&, Function<ThrowCompletionOr<Value>(VM&, GlobalObject&)> getter, Function<ThrowCompletionOr<Value>(VM&, GlobalObject&)> setter, PropertyAttributes attributes); virtual bool is_function() const { return false; } virtual bool is_typed_array() const { return false; } diff --git a/Userland/Libraries/LibJS/Runtime/ObjectConstructor.cpp b/Userland/Libraries/LibJS/Runtime/ObjectConstructor.cpp index 831bc5d00d..b8f577a097 100644 --- a/Userland/Libraries/LibJS/Runtime/ObjectConstructor.cpp +++ b/Userland/Libraries/LibJS/Runtime/ObjectConstructor.cpp @@ -285,7 +285,7 @@ JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectConstructor::get_own_property_descriptors) // 4. For each element key of ownKeys, do for (auto& key : own_keys) { - auto property_name = PropertyName::from_value(global_object, key); + auto property_name = PropertyKey::from_value(global_object, key); // a. Let desc be ? obj.[[GetOwnProperty]](key). auto desc = TRY_OR_DISCARD(object->internal_get_own_property(property_name)); @@ -425,7 +425,7 @@ JS_DEFINE_OLD_NATIVE_FUNCTION(ObjectConstructor::assign) // iii. For each element nextKey of keys, do for (auto& next_key : keys) { - auto property_name = PropertyName::from_value(global_object, next_key); + auto property_name = PropertyKey::from_value(global_object, next_key); // 1. Let desc be ? from.[[GetOwnProperty]](nextKey). auto desc = TRY_OR_DISCARD(from->internal_get_own_property(property_name)); diff --git a/Userland/Libraries/LibJS/Runtime/PropertyName.h b/Userland/Libraries/LibJS/Runtime/PropertyKey.h index 2bbb606033..29679b3ebb 100644 --- a/Userland/Libraries/LibJS/Runtime/PropertyName.h +++ b/Userland/Libraries/LibJS/Runtime/PropertyKey.h @@ -12,7 +12,7 @@ namespace JS { -class PropertyName { +class PropertyKey { public: enum class Type : u8 { Invalid, @@ -26,7 +26,7 @@ public: No, }; - static PropertyName from_value(GlobalObject& global_object, Value value) + static PropertyKey from_value(GlobalObject& global_object, Value value) { if (value.is_empty()) return {}; @@ -37,10 +37,10 @@ public: return TRY_OR_DISCARD(value.to_string(global_object)); } - PropertyName() { } + PropertyKey() { } template<Integral T> - PropertyName(T index) + PropertyKey(T index) { // FIXME: Replace this with requires(IsUnsigned<T>)? // Needs changes in various places using `int` (but not actually being in the negative range) @@ -58,20 +58,20 @@ public: m_number = index; } - PropertyName(char const* chars) + PropertyKey(char const* chars) : m_type(Type::String) , m_string(FlyString(chars)) { } - PropertyName(String const& string) + PropertyKey(String const& string) : m_type(Type::String) , m_string(FlyString(string)) { VERIFY(!m_string.is_null()); } - PropertyName(FlyString string, StringMayBeNumber string_may_be_number = StringMayBeNumber::Yes) + PropertyKey(FlyString string, StringMayBeNumber string_may_be_number = StringMayBeNumber::Yes) : m_string_may_be_number(string_may_be_number == StringMayBeNumber::Yes) , m_type(Type::String) , m_string(move(string)) @@ -79,13 +79,13 @@ public: VERIFY(!m_string.is_null()); } - PropertyName(Symbol& symbol) + PropertyKey(Symbol& symbol) : m_type(Type::Symbol) , m_symbol(&symbol) { } - PropertyName(StringOrSymbol const& string_or_symbol) + PropertyKey(StringOrSymbol const& string_or_symbol) { if (string_or_symbol.is_string()) { m_string = string_or_symbol.as_string(); @@ -106,7 +106,7 @@ public: if (m_type != Type::String || !m_string_may_be_number) return false; - return const_cast<PropertyName*>(this)->try_coerce_into_number(); + return const_cast<PropertyKey*>(this)->try_coerce_into_number(); } bool is_string() const { @@ -115,7 +115,7 @@ public: if (!m_string_may_be_number) return true; - return !const_cast<PropertyName*>(this)->try_coerce_into_number(); + return !const_cast<PropertyKey*>(this)->try_coerce_into_number(); } bool is_symbol() const { return m_type == Type::Symbol; } @@ -189,8 +189,8 @@ private: Symbol* m_symbol { nullptr }; }; -struct PropertyNameTraits : public Traits<PropertyName> { - static unsigned hash(PropertyName const& name) +struct PropertyNameTraits : public Traits<PropertyKey> { + static unsigned hash(PropertyKey const& name) { VERIFY(name.is_valid()); if (name.is_string()) @@ -200,17 +200,17 @@ struct PropertyNameTraits : public Traits<PropertyName> { return ptr_hash(name.as_symbol()); } - static bool equals(PropertyName const& a, PropertyName const& b) + static bool equals(PropertyKey const& a, PropertyKey const& b) { if (a.type() != b.type()) return false; switch (a.type()) { - case PropertyName::Type::Number: + case PropertyKey::Type::Number: return a.as_number() == b.as_number(); - case PropertyName::Type::String: + case PropertyKey::Type::String: return a.as_string() == b.as_string(); - case PropertyName::Type::Symbol: + case PropertyKey::Type::Symbol: return a.as_symbol() == b.as_symbol(); default: VERIFY_NOT_REACHED(); @@ -223,11 +223,11 @@ struct PropertyNameTraits : public Traits<PropertyName> { namespace AK { template<> -struct Formatter<JS::PropertyName> : Formatter<StringView> { - void format(FormatBuilder& builder, JS::PropertyName const& property_name) +struct Formatter<JS::PropertyKey> : Formatter<StringView> { + void format(FormatBuilder& builder, JS::PropertyKey const& property_name) { if (!property_name.is_valid()) - Formatter<StringView>::format(builder, "<invalid PropertyName>"); + Formatter<StringView>::format(builder, "<invalid PropertyKey>"); else if (property_name.is_number()) Formatter<StringView>::format(builder, String::number(property_name.as_number())); else diff --git a/Userland/Libraries/LibJS/Runtime/ProxyObject.cpp b/Userland/Libraries/LibJS/Runtime/ProxyObject.cpp index 9d7b0c208d..f57e763c56 100644 --- a/Userland/Libraries/LibJS/Runtime/ProxyObject.cpp +++ b/Userland/Libraries/LibJS/Runtime/ProxyObject.cpp @@ -31,7 +31,7 @@ ProxyObject::~ProxyObject() { } -static Value property_name_to_value(VM& vm, PropertyName const& name) +static Value property_name_to_value(VM& vm, PropertyKey const& name) { VERIFY(name.is_valid()); if (name.is_symbol()) @@ -223,7 +223,7 @@ ThrowCompletionOr<bool> ProxyObject::internal_prevent_extensions() } // 10.5.5 [[GetOwnProperty]] ( P ), https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-getownproperty-p -ThrowCompletionOr<Optional<PropertyDescriptor>> ProxyObject::internal_get_own_property(const PropertyName& property_name) const +ThrowCompletionOr<Optional<PropertyDescriptor>> ProxyObject::internal_get_own_property(const PropertyKey& property_name) const { auto& vm = this->vm(); auto& global_object = this->global_object(); @@ -316,7 +316,7 @@ ThrowCompletionOr<Optional<PropertyDescriptor>> ProxyObject::internal_get_own_pr } // 10.5.6 [[DefineOwnProperty]] ( P, Desc ), https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-defineownproperty-p-desc -ThrowCompletionOr<bool> ProxyObject::internal_define_own_property(PropertyName const& property_name, PropertyDescriptor const& property_descriptor) +ThrowCompletionOr<bool> ProxyObject::internal_define_own_property(PropertyKey const& property_name, PropertyDescriptor const& property_descriptor) { auto& vm = this->vm(); auto& global_object = this->global_object(); @@ -400,7 +400,7 @@ ThrowCompletionOr<bool> ProxyObject::internal_define_own_property(PropertyName c } // 10.5.7 [[HasProperty]] ( P ), https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-hasproperty-p -ThrowCompletionOr<bool> ProxyObject::internal_has_property(PropertyName const& property_name) const +ThrowCompletionOr<bool> ProxyObject::internal_has_property(PropertyKey const& property_name) const { auto& vm = this->vm(); auto& global_object = this->global_object(); @@ -454,7 +454,7 @@ ThrowCompletionOr<bool> ProxyObject::internal_has_property(PropertyName const& p } // 10.5.8 [[Get]] ( P, Receiver ), https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-get-p-receiver -ThrowCompletionOr<Value> ProxyObject::internal_get(PropertyName const& property_name, Value receiver) const +ThrowCompletionOr<Value> ProxyObject::internal_get(PropertyKey const& property_name, Value receiver) const { VERIFY(!receiver.is_empty()); @@ -525,7 +525,7 @@ ThrowCompletionOr<Value> ProxyObject::internal_get(PropertyName const& property_ } // 10.5.9 [[Set]] ( P, V, Receiver ), https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver -ThrowCompletionOr<bool> ProxyObject::internal_set(PropertyName const& property_name, Value value, Value receiver) +ThrowCompletionOr<bool> ProxyObject::internal_set(PropertyKey const& property_name, Value value, Value receiver) { VERIFY(!value.is_empty()); VERIFY(!receiver.is_empty()); @@ -585,7 +585,7 @@ ThrowCompletionOr<bool> ProxyObject::internal_set(PropertyName const& property_n } // 10.5.10 [[Delete]] ( P ), https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-delete-p -ThrowCompletionOr<bool> ProxyObject::internal_delete(PropertyName const& property_name) +ThrowCompletionOr<bool> ProxyObject::internal_delete(PropertyKey const& property_name) { auto& vm = this->vm(); auto& global_object = this->global_object(); @@ -700,7 +700,7 @@ ThrowCompletionOr<MarkedValueList> ProxyObject::internal_own_property_keys() con // 16. For each element key of targetKeys, do for (auto& key : target_keys) { // a. Let desc be ? target.[[GetOwnProperty]](key). - auto descriptor = TRY(m_target.internal_get_own_property(PropertyName::from_value(global_object, key))); + auto descriptor = TRY(m_target.internal_get_own_property(PropertyKey::from_value(global_object, key))); // b. If desc is not undefined and desc.[[Configurable]] is false, then if (descriptor.has_value() && !*descriptor->configurable) { diff --git a/Userland/Libraries/LibJS/Runtime/ProxyObject.h b/Userland/Libraries/LibJS/Runtime/ProxyObject.h index 6a72dd73db..e727b57952 100644 --- a/Userland/Libraries/LibJS/Runtime/ProxyObject.h +++ b/Userland/Libraries/LibJS/Runtime/ProxyObject.h @@ -36,12 +36,12 @@ public: virtual ThrowCompletionOr<bool> internal_set_prototype_of(Object* prototype) override; virtual ThrowCompletionOr<bool> internal_is_extensible() const override; virtual ThrowCompletionOr<bool> internal_prevent_extensions() override; - virtual ThrowCompletionOr<Optional<PropertyDescriptor>> internal_get_own_property(PropertyName const&) const override; - virtual ThrowCompletionOr<bool> internal_define_own_property(PropertyName const&, PropertyDescriptor const&) override; - virtual ThrowCompletionOr<bool> internal_has_property(PropertyName const&) const override; - virtual ThrowCompletionOr<Value> internal_get(PropertyName const&, Value receiver) const override; - virtual ThrowCompletionOr<bool> internal_set(PropertyName const&, Value value, Value receiver) override; - virtual ThrowCompletionOr<bool> internal_delete(PropertyName const&) override; + virtual ThrowCompletionOr<Optional<PropertyDescriptor>> internal_get_own_property(PropertyKey const&) const override; + virtual ThrowCompletionOr<bool> internal_define_own_property(PropertyKey const&, PropertyDescriptor const&) override; + virtual ThrowCompletionOr<bool> internal_has_property(PropertyKey const&) const override; + virtual ThrowCompletionOr<Value> internal_get(PropertyKey const&, Value receiver) const override; + virtual ThrowCompletionOr<bool> internal_set(PropertyKey const&, Value value, Value receiver) override; + virtual ThrowCompletionOr<bool> internal_delete(PropertyKey const&) override; virtual ThrowCompletionOr<MarkedValueList> internal_own_property_keys() const override; virtual ThrowCompletionOr<Value> internal_call(Value this_argument, MarkedValueList arguments_list) override; virtual ThrowCompletionOr<Object*> internal_construct(MarkedValueList arguments_list, FunctionObject& new_target) override; diff --git a/Userland/Libraries/LibJS/Runtime/Reference.h b/Userland/Libraries/LibJS/Runtime/Reference.h index 39793af82b..b202869e35 100644 --- a/Userland/Libraries/LibJS/Runtime/Reference.h +++ b/Userland/Libraries/LibJS/Runtime/Reference.h @@ -10,7 +10,7 @@ #include <LibJS/Runtime/Environment.h> #include <LibJS/Runtime/EnvironmentCoordinate.h> #include <LibJS/Runtime/ExecutionContext.h> -#include <LibJS/Runtime/PropertyName.h> +#include <LibJS/Runtime/PropertyKey.h> #include <LibJS/Runtime/Value.h> namespace JS { @@ -26,14 +26,14 @@ public: }; Reference() { } - Reference(BaseType type, PropertyName name, bool strict) + Reference(BaseType type, PropertyKey name, bool strict) : m_base_type(type) , m_name(move(name)) , m_strict(strict) { } - Reference(Value base, PropertyName name, Value this_value, bool strict = false) + Reference(Value base, PropertyKey name, Value this_value, bool strict = false) : m_base_type(BaseType::Value) , m_base_value(base) , m_name(move(name)) @@ -79,7 +79,7 @@ public: return *m_base_environment; } - PropertyName const& name() const { return m_name; } + PropertyKey const& name() const { return m_name; } bool is_strict() const { return m_strict; } // 6.2.4.2 IsUnresolvableReference ( V ), https://tc39.es/ecma262/#sec-isunresolvablereference @@ -147,7 +147,7 @@ private: Value m_base_value {}; mutable Environment* m_base_environment; }; - PropertyName m_name; + PropertyKey m_name; Value m_this_value; bool m_strict { false }; diff --git a/Userland/Libraries/LibJS/Runtime/Shape.cpp b/Userland/Libraries/LibJS/Runtime/Shape.cpp index e937d540b0..58b187be05 100644 --- a/Userland/Libraries/LibJS/Runtime/Shape.cpp +++ b/Userland/Libraries/LibJS/Runtime/Shape.cpp @@ -232,7 +232,7 @@ void Shape::add_property_without_transition(StringOrSymbol const& property_name, ++m_property_count; } -FLATTEN void Shape::add_property_without_transition(PropertyName const& property_name, PropertyAttributes attributes) +FLATTEN void Shape::add_property_without_transition(PropertyKey const& property_name, PropertyAttributes attributes) { VERIFY(property_name.is_valid()); add_property_without_transition(property_name.to_string_or_symbol(), attributes); diff --git a/Userland/Libraries/LibJS/Runtime/Shape.h b/Userland/Libraries/LibJS/Runtime/Shape.h index bfec255572..74278b1bf3 100644 --- a/Userland/Libraries/LibJS/Runtime/Shape.h +++ b/Userland/Libraries/LibJS/Runtime/Shape.h @@ -58,7 +58,7 @@ public: Shape* create_prototype_transition(Object* new_prototype); void add_property_without_transition(const StringOrSymbol&, PropertyAttributes); - void add_property_without_transition(PropertyName const&, PropertyAttributes); + void add_property_without_transition(PropertyKey const&, PropertyAttributes); bool is_unique() const { return m_unique; } Shape* create_unique_clone() const; diff --git a/Userland/Libraries/LibJS/Runtime/StringObject.cpp b/Userland/Libraries/LibJS/Runtime/StringObject.cpp index f061abedbf..83ca4a0ed1 100644 --- a/Userland/Libraries/LibJS/Runtime/StringObject.cpp +++ b/Userland/Libraries/LibJS/Runtime/StringObject.cpp @@ -44,7 +44,7 @@ void StringObject::visit_edges(Cell::Visitor& visitor) } // 10.4.3.5 StringGetOwnProperty ( S, P ),https://tc39.es/ecma262/#sec-stringgetownproperty -static Optional<PropertyDescriptor> string_get_own_property(GlobalObject& global_object, StringObject const& string, PropertyName const& property_name) +static Optional<PropertyDescriptor> string_get_own_property(GlobalObject& global_object, StringObject const& string, PropertyKey const& property_name) { // 1. Assert: S is an Object that has a [[StringData]] internal slot. // 2. Assert: IsPropertyKey(P) is true. @@ -52,7 +52,7 @@ static Optional<PropertyDescriptor> string_get_own_property(GlobalObject& global // 3. If Type(P) is not String, return undefined. // NOTE: The spec only uses string and symbol keys, and later coerces to numbers - - // this is not the case for PropertyName, so '!property_name.is_string()' would be wrong. + // this is not the case for PropertyKey, so '!property_name.is_string()' would be wrong. if (property_name.is_symbol()) return {}; @@ -92,7 +92,7 @@ static Optional<PropertyDescriptor> string_get_own_property(GlobalObject& global } // 10.4.3.1 [[GetOwnProperty]] ( P ), https://tc39.es/ecma262/#sec-string-exotic-objects-getownproperty-p -ThrowCompletionOr<Optional<PropertyDescriptor>> StringObject::internal_get_own_property(PropertyName const& property_name) const +ThrowCompletionOr<Optional<PropertyDescriptor>> StringObject::internal_get_own_property(PropertyKey const& property_name) const { // Assert: IsPropertyKey(P) is true. @@ -108,7 +108,7 @@ ThrowCompletionOr<Optional<PropertyDescriptor>> StringObject::internal_get_own_p } // 10.4.3.2 [[DefineOwnProperty]] ( P, Desc ), https://tc39.es/ecma262/#sec-string-exotic-objects-defineownproperty-p-desc -ThrowCompletionOr<bool> StringObject::internal_define_own_property(PropertyName const& property_name, PropertyDescriptor const& property_descriptor) +ThrowCompletionOr<bool> StringObject::internal_define_own_property(PropertyKey const& property_name, PropertyDescriptor const& property_descriptor) { // 1. Assert: IsPropertyKey(P) is true. VERIFY(property_name.is_valid()); diff --git a/Userland/Libraries/LibJS/Runtime/StringObject.h b/Userland/Libraries/LibJS/Runtime/StringObject.h index 3d82be4ffa..5ffef5da21 100644 --- a/Userland/Libraries/LibJS/Runtime/StringObject.h +++ b/Userland/Libraries/LibJS/Runtime/StringObject.h @@ -29,8 +29,8 @@ public: } private: - virtual ThrowCompletionOr<Optional<PropertyDescriptor>> internal_get_own_property(PropertyName const&) const override; - virtual ThrowCompletionOr<bool> internal_define_own_property(PropertyName const&, PropertyDescriptor const&) override; + virtual ThrowCompletionOr<Optional<PropertyDescriptor>> internal_get_own_property(PropertyKey const&) const override; + virtual ThrowCompletionOr<bool> internal_define_own_property(PropertyKey const&, PropertyDescriptor const&) override; virtual ThrowCompletionOr<MarkedValueList> internal_own_property_keys() const override; virtual bool is_string_object() const final { return true; } diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.cpp index ab8b08e67a..0b9ce82e5c 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.cpp @@ -11,7 +11,7 @@ #include <AK/Variant.h> #include <LibJS/Runtime/Completion.h> #include <LibJS/Runtime/IteratorOperations.h> -#include <LibJS/Runtime/PropertyName.h> +#include <LibJS/Runtime/PropertyKey.h> #include <LibJS/Runtime/Temporal/AbstractOperations.h> #include <LibJS/Runtime/Temporal/Calendar.h> #include <LibJS/Runtime/Temporal/Duration.h> @@ -96,7 +96,7 @@ ThrowCompletionOr<Object*> get_options_object(GlobalObject& global_object, Value } // 13.3 GetOption ( options, property, types, values, fallback ), https://tc39.es/proposal-temporal/#sec-getoption -ThrowCompletionOr<Value> get_option(GlobalObject& global_object, Object const& options, PropertyName const& property, Vector<OptionType> const& types, Vector<StringView> const& values, Value fallback) +ThrowCompletionOr<Value> get_option(GlobalObject& global_object, Object const& options, PropertyKey const& property, Vector<OptionType> const& types, Vector<StringView> const& values, Value fallback) { VERIFY(property.is_string()); @@ -158,7 +158,7 @@ ThrowCompletionOr<Value> get_option(GlobalObject& global_object, Object const& o // 13.4 GetStringOrNumberOption ( options, property, stringValues, minimum, maximum, fallback ), https://tc39.es/proposal-temporal/#sec-getstringornumberoption template<typename NumberType> -ThrowCompletionOr<Variant<String, NumberType>> get_string_or_number_option(GlobalObject& global_object, Object const& options, PropertyName const& property, Vector<StringView> const& string_values, NumberType minimum, NumberType maximum, Value fallback) +ThrowCompletionOr<Variant<String, NumberType>> get_string_or_number_option(GlobalObject& global_object, Object const& options, PropertyKey const& property, Vector<StringView> const& string_values, NumberType minimum, NumberType maximum, Value fallback) { auto& vm = global_object.vm(); diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.h b/Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.h index 86de950d1c..c1f413b569 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.h +++ b/Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.h @@ -86,9 +86,9 @@ struct SecondsStringPrecision { ThrowCompletionOr<MarkedValueList> iterable_to_list_of_type(GlobalObject&, Value items, Vector<OptionType> const& element_types); ThrowCompletionOr<Object*> get_options_object(GlobalObject&, Value options); -ThrowCompletionOr<Value> get_option(GlobalObject&, Object const& options, PropertyName const& property, Vector<OptionType> const& types, Vector<StringView> const& values, Value fallback); +ThrowCompletionOr<Value> get_option(GlobalObject&, Object const& options, PropertyKey const& property, Vector<OptionType> const& types, Vector<StringView> const& values, Value fallback); template<typename NumberType> -ThrowCompletionOr<Variant<String, NumberType>> get_string_or_number_option(GlobalObject&, Object const& options, PropertyName const& property, Vector<StringView> const& string_values, NumberType minimum, NumberType maximum, Value fallback); +ThrowCompletionOr<Variant<String, NumberType>> get_string_or_number_option(GlobalObject&, Object const& options, PropertyKey const& property, Vector<StringView> const& string_values, NumberType minimum, NumberType maximum, Value fallback); ThrowCompletionOr<String> to_temporal_overflow(GlobalObject&, Object const& normalized_options); ThrowCompletionOr<String> to_temporal_rounding_mode(GlobalObject&, Object const& normalized_options, String const& fallback); ThrowCompletionOr<String> to_show_calendar_option(GlobalObject&, Object const& normalized_options); diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/Calendar.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/Calendar.cpp index 1ba7b47e17..d76ca6825f 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/Calendar.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/Calendar.cpp @@ -939,7 +939,7 @@ ThrowCompletionOr<Object*> default_merge_fields(GlobalObject& global_object, Obj for (auto& next_key : original_keys) { // a. If nextKey is not "month" or "monthCode", then if (next_key.as_string().string() != vm.names.month.as_string() && next_key.as_string().string() != vm.names.monthCode.as_string()) { - auto property_name = PropertyName::from_value(global_object, next_key); + auto property_name = PropertyKey::from_value(global_object, next_key); // i. Let propValue be ? Get(fields, nextKey). auto prop_value = TRY(fields.get(property_name)); @@ -960,7 +960,7 @@ ThrowCompletionOr<Object*> default_merge_fields(GlobalObject& global_object, Obj // 5. For each element nextKey of newKeys, do for (auto& next_key : new_keys) { - auto property_name = PropertyName::from_value(global_object, next_key); + auto property_name = PropertyKey::from_value(global_object, next_key); // a. Let propValue be ? Get(additionalFields, nextKey). auto prop_value = TRY(additional_fields.get(property_name)); diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/Duration.h b/Userland/Libraries/LibJS/Runtime/Temporal/Duration.h index 50bb479312..d9e6bc2bc3 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/Duration.h +++ b/Userland/Libraries/LibJS/Runtime/Temporal/Duration.h @@ -89,7 +89,7 @@ struct BalancedDuration { template<typename StructT, typename ValueT> struct TemporalDurationLikeProperty { ValueT StructT::*internal_slot { nullptr }; - PropertyName property; + PropertyKey property; }; template<typename StructT, typename ValueT> diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/PlainTime.h b/Userland/Libraries/LibJS/Runtime/Temporal/PlainTime.h index 111b653ff7..49867e8e97 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/PlainTime.h +++ b/Userland/Libraries/LibJS/Runtime/Temporal/PlainTime.h @@ -76,7 +76,7 @@ struct PartialUnregulatedTemporalTime { template<typename StructT, typename ValueT> struct TemporalTimeLikeProperty { ValueT StructT::*internal_slot { nullptr }; - PropertyName property; + PropertyKey property; }; template<typename StructT, typename ValueT> diff --git a/Userland/Libraries/LibJS/Runtime/TypedArray.h b/Userland/Libraries/LibJS/Runtime/TypedArray.h index a19c9e2b29..3e3fd5c2f3 100644 --- a/Userland/Libraries/LibJS/Runtime/TypedArray.h +++ b/Userland/Libraries/LibJS/Runtime/TypedArray.h @@ -12,7 +12,7 @@ #include <LibJS/Runtime/Completion.h> #include <LibJS/Runtime/GlobalObject.h> #include <LibJS/Runtime/PropertyDescriptor.h> -#include <LibJS/Runtime/PropertyName.h> +#include <LibJS/Runtime/PropertyKey.h> #include <LibJS/Runtime/TypedArrayConstructor.h> #include <LibJS/Runtime/VM.h> @@ -80,7 +80,7 @@ inline bool is_valid_integer_index(TypedArrayBase const& typed_array, Value prop return false; // TODO: This can be optimized by skipping the following 3 out of 4 checks if property_index - // came from a number-type PropertyName instead of a canonicalized string-type PropertyName + // came from a number-type PropertyKey instead of a canonicalized string-type PropertyKey // If ! IsIntegralNumber(index) is false, return false. if (!property_index.is_integral_number()) @@ -190,7 +190,7 @@ class TypedArray : public TypedArrayBase { public: // 10.4.5.1 [[GetOwnProperty]] ( P ), https://tc39.es/ecma262/#sec-integer-indexed-exotic-objects-getownproperty-p - virtual ThrowCompletionOr<Optional<PropertyDescriptor>> internal_get_own_property(PropertyName const& property_name) const override + virtual ThrowCompletionOr<Optional<PropertyDescriptor>> internal_get_own_property(PropertyKey const& property_name) const override { // 1. Assert: IsPropertyKey(P) is true. VERIFY(property_name.is_valid()); @@ -230,7 +230,7 @@ public: } // 10.4.5.2 [[HasProperty]] ( P ), https://tc39.es/ecma262/#sec-integer-indexed-exotic-objects-hasproperty-p - virtual ThrowCompletionOr<bool> internal_has_property(PropertyName const& property_name) const override + virtual ThrowCompletionOr<bool> internal_has_property(PropertyKey const& property_name) const override { // 1. Assert: IsPropertyKey(P) is true. VERIFY(property_name.is_valid()); @@ -256,7 +256,7 @@ public: } // 10.4.5.3 [[DefineOwnProperty]] ( P, Desc ), https://tc39.es/ecma262/#sec-integer-indexed-exotic-objects-defineownproperty-p-desc - virtual ThrowCompletionOr<bool> internal_define_own_property(PropertyName const& property_name, PropertyDescriptor const& property_descriptor) override + virtual ThrowCompletionOr<bool> internal_define_own_property(PropertyKey const& property_name, PropertyDescriptor const& property_descriptor) override { // 1. Assert: IsPropertyKey(P) is true. VERIFY(property_name.is_valid()); @@ -311,7 +311,7 @@ public: } // 10.4.5.4 [[Get]] ( P, Receiver ), 10.4.5.4 [[Get]] ( P, Receiver ) - virtual ThrowCompletionOr<Value> internal_get(PropertyName const& property_name, Value receiver) const override + virtual ThrowCompletionOr<Value> internal_get(PropertyKey const& property_name, Value receiver) const override { VERIFY(!receiver.is_empty()); @@ -338,7 +338,7 @@ public: } // 10.4.5.5 [[Set]] ( P, V, Receiver ), https://tc39.es/ecma262/#sec-integer-indexed-exotic-objects-set-p-v-receiver - virtual ThrowCompletionOr<bool> internal_set(PropertyName const& property_name, Value value, Value receiver) override + virtual ThrowCompletionOr<bool> internal_set(PropertyKey const& property_name, Value value, Value receiver) override { VERIFY(!value.is_empty()); VERIFY(!receiver.is_empty()); @@ -371,7 +371,7 @@ public: } // 10.4.5.6 [[Delete]] ( P ), https://tc39.es/ecma262/#sec-integer-indexed-exotic-objects-delete-p - virtual ThrowCompletionOr<bool> internal_delete(PropertyName const& property_name) override + virtual ThrowCompletionOr<bool> internal_delete(PropertyKey const& property_name) override { // 1. Assert: IsPropertyKey(P) is true. VERIFY(property_name.is_valid()); diff --git a/Userland/Libraries/LibJS/Runtime/VM.cpp b/Userland/Libraries/LibJS/Runtime/VM.cpp index f43485aa23..b4f7b3f889 100644 --- a/Userland/Libraries/LibJS/Runtime/VM.cpp +++ b/Userland/Libraries/LibJS/Runtime/VM.cpp @@ -219,7 +219,7 @@ ThrowCompletionOr<void> VM::property_binding_initialization(BindingPattern const { auto* object = TRY(value.to_object(global_object)); - HashTable<PropertyName, PropertyNameTraits> seen_names; + HashTable<PropertyKey, PropertyNameTraits> seen_names; for (auto& property : binding.entries) { VERIFY(!property.is_elision()); @@ -249,7 +249,7 @@ ThrowCompletionOr<void> VM::property_binding_initialization(BindingPattern const break; } - PropertyName name; + PropertyKey name; property.name.visit( [&](Empty) { VERIFY_NOT_REACHED(); }, diff --git a/Userland/Libraries/LibJS/Runtime/VM.h b/Userland/Libraries/LibJS/Runtime/VM.h index d54f0ec15c..970acaf67f 100644 --- a/Userland/Libraries/LibJS/Runtime/VM.h +++ b/Userland/Libraries/LibJS/Runtime/VM.h @@ -279,7 +279,7 @@ private: [[nodiscard]] ThrowCompletionOr<Value> call_internal(FunctionObject&, Value this_value, Optional<MarkedValueList> arguments); - ThrowCompletionOr<Object*> copy_data_properties(Object& rest_object, Object const& source, HashTable<PropertyName, PropertyNameTraits> const& seen_names, GlobalObject& global_object); + ThrowCompletionOr<Object*> copy_data_properties(Object& rest_object, Object const& source, HashTable<PropertyKey, PropertyNameTraits> const& seen_names, GlobalObject& global_object); ThrowCompletionOr<void> property_binding_initialization(BindingPattern const& binding, Value value, Environment* environment, GlobalObject& global_object); ThrowCompletionOr<void> iterator_binding_initialization(BindingPattern const& binding, Object* iterator, bool& iterator_done, Environment* environment, GlobalObject& global_object); diff --git a/Userland/Libraries/LibJS/Runtime/Value.cpp b/Userland/Libraries/LibJS/Runtime/Value.cpp index 0c843433d0..44474144b2 100644 --- a/Userland/Libraries/LibJS/Runtime/Value.cpp +++ b/Userland/Libraries/LibJS/Runtime/Value.cpp @@ -733,7 +733,7 @@ ThrowCompletionOr<double> Value::to_integer_or_infinity(GlobalObject& global_obj } // 7.3.3 GetV ( V, P ), https://tc39.es/ecma262/#sec-getv -ThrowCompletionOr<Value> Value::get(GlobalObject& global_object, PropertyName const& property_name) const +ThrowCompletionOr<Value> Value::get(GlobalObject& global_object, PropertyKey const& property_name) const { // 1. Assert: IsPropertyKey(P) is true. VERIFY(property_name.is_valid()); @@ -746,7 +746,7 @@ ThrowCompletionOr<Value> Value::get(GlobalObject& global_object, PropertyName co } // 7.3.10 GetMethod ( V, P ), https://tc39.es/ecma262/#sec-getmethod -ThrowCompletionOr<FunctionObject*> Value::get_method(GlobalObject& global_object, PropertyName const& property_name) const +ThrowCompletionOr<FunctionObject*> Value::get_method(GlobalObject& global_object, PropertyKey const& property_name) const { auto& vm = global_object.vm(); @@ -1455,7 +1455,7 @@ ThrowCompletionOr<TriState> is_less_than(GlobalObject& global_object, bool left_ } // 7.3.20 Invoke ( V, P [ , argumentsList ] ), https://tc39.es/ecma262/#sec-invoke -ThrowCompletionOr<Value> Value::invoke_internal(GlobalObject& global_object, JS::PropertyName const& property_name, Optional<MarkedValueList> arguments) +ThrowCompletionOr<Value> Value::invoke_internal(GlobalObject& global_object, JS::PropertyKey const& property_name, Optional<MarkedValueList> arguments) { auto& vm = global_object.vm(); auto property = TRY(get(global_object, property_name)); diff --git a/Userland/Libraries/LibJS/Runtime/Value.h b/Userland/Libraries/LibJS/Runtime/Value.h index c66e028f58..cb1bc76642 100644 --- a/Userland/Libraries/LibJS/Runtime/Value.h +++ b/Userland/Libraries/LibJS/Runtime/Value.h @@ -327,8 +327,8 @@ public: ThrowCompletionOr<double> to_integer_or_infinity(GlobalObject&) const; bool to_boolean() const; - ThrowCompletionOr<Value> get(GlobalObject&, PropertyName const&) const; - ThrowCompletionOr<FunctionObject*> get_method(GlobalObject&, PropertyName const&) const; + ThrowCompletionOr<Value> get(GlobalObject&, PropertyKey const&) const; + ThrowCompletionOr<FunctionObject*> get_method(GlobalObject&, PropertyKey const&) const; String to_string_without_side_effects() const; @@ -344,12 +344,12 @@ public: bool operator==(Value const&) const; template<typename... Args> - [[nodiscard]] ALWAYS_INLINE ThrowCompletionOr<Value> invoke(GlobalObject& global_object, PropertyName const& property_name, Args... args); + [[nodiscard]] ALWAYS_INLINE ThrowCompletionOr<Value> invoke(GlobalObject& global_object, PropertyKey const& property_name, Args... args); private: Type m_type { Type::Empty }; - [[nodiscard]] ThrowCompletionOr<Value> invoke_internal(GlobalObject& global_object, PropertyName const&, Optional<MarkedValueList> arguments); + [[nodiscard]] ThrowCompletionOr<Value> invoke_internal(GlobalObject& global_object, PropertyKey const&, Optional<MarkedValueList> arguments); ThrowCompletionOr<i32> to_i32_slow_case(GlobalObject&) const; diff --git a/Userland/Libraries/LibWeb/Bindings/CSSStyleDeclarationWrapperCustom.cpp b/Userland/Libraries/LibWeb/Bindings/CSSStyleDeclarationWrapperCustom.cpp index 92ccd88c5b..5d056f3d5a 100644 --- a/Userland/Libraries/LibWeb/Bindings/CSSStyleDeclarationWrapperCustom.cpp +++ b/Userland/Libraries/LibWeb/Bindings/CSSStyleDeclarationWrapperCustom.cpp @@ -21,14 +21,14 @@ static CSS::PropertyID property_id_from_name(StringView name) return CSS::PropertyID::Invalid; } -JS::ThrowCompletionOr<bool> CSSStyleDeclarationWrapper::internal_has_property(JS::PropertyName const& name) const +JS::ThrowCompletionOr<bool> CSSStyleDeclarationWrapper::internal_has_property(JS::PropertyKey const& name) const { if (!name.is_string()) return Base::internal_has_property(name); return property_id_from_name(name.to_string()) != CSS::PropertyID::Invalid; } -JS::ThrowCompletionOr<JS::Value> CSSStyleDeclarationWrapper::internal_get(JS::PropertyName const& name, JS::Value receiver) const +JS::ThrowCompletionOr<JS::Value> CSSStyleDeclarationWrapper::internal_get(JS::PropertyKey const& name, JS::Value receiver) const { if (!name.is_string()) return Base::internal_get(name, receiver); @@ -40,7 +40,7 @@ JS::ThrowCompletionOr<JS::Value> CSSStyleDeclarationWrapper::internal_get(JS::Pr return { js_string(vm(), String::empty()) }; } -JS::ThrowCompletionOr<bool> CSSStyleDeclarationWrapper::internal_set(JS::PropertyName const& name, JS::Value value, JS::Value receiver) +JS::ThrowCompletionOr<bool> CSSStyleDeclarationWrapper::internal_set(JS::PropertyKey const& name, JS::Value value, JS::Value receiver) { if (!name.is_string()) return Base::internal_set(name, value, receiver); diff --git a/Userland/Libraries/LibWeb/Bindings/IDLAbstractOperations.cpp b/Userland/Libraries/LibWeb/Bindings/IDLAbstractOperations.cpp index 35a25a778c..f87ea04f61 100644 --- a/Userland/Libraries/LibWeb/Bindings/IDLAbstractOperations.cpp +++ b/Userland/Libraries/LibWeb/Bindings/IDLAbstractOperations.cpp @@ -6,13 +6,13 @@ #include <AK/NumericLimits.h> #include <LibJS/Runtime/AbstractOperations.h> -#include <LibJS/Runtime/PropertyName.h> +#include <LibJS/Runtime/PropertyKey.h> #include <LibWeb/Bindings/IDLAbstractOperations.h> namespace Web::Bindings::IDL { // https://webidl.spec.whatwg.org/#is-an-array-index -bool is_an_array_index(JS::GlobalObject& global_object, JS::PropertyName const& property_name) +bool is_an_array_index(JS::GlobalObject& global_object, JS::PropertyKey const& property_name) { // 1. If Type(P) is not String, then return false. if (!property_name.is_number()) diff --git a/Userland/Libraries/LibWeb/Bindings/IDLAbstractOperations.h b/Userland/Libraries/LibWeb/Bindings/IDLAbstractOperations.h index 8a58adee70..b3157b5eba 100644 --- a/Userland/Libraries/LibWeb/Bindings/IDLAbstractOperations.h +++ b/Userland/Libraries/LibWeb/Bindings/IDLAbstractOperations.h @@ -10,6 +10,6 @@ namespace Web::Bindings::IDL { -bool is_an_array_index(JS::GlobalObject&, JS::PropertyName const&); +bool is_an_array_index(JS::GlobalObject&, JS::PropertyKey const&); } |