1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 10:58:12 +00:00

LibJS: Convert PropertyKey::from_value() to ThrowCompletionOr

Lots of MUST() - perhaps we'll eventually come up with a better API for
the common case where it can't fail.
This commit is contained in:
Linus Groh 2022-01-04 22:33:30 +01:00
parent 62356cff40
commit 29e96eceeb
7 changed files with 23 additions and 25 deletions

View file

@ -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 = PropertyKey::from_value(global_object, key);
auto property_name = MUST(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 = PropertyKey::from_value(global_object, key);
auto property_name = MUST(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 = PropertyKey::from_value(global_object(), key);
auto property_name = MUST(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 = PropertyKey::from_value(global_object, key);
auto property_name = MUST(PropertyKey::from_value(global_object, key));
// i. Let desc be ? O.[[GetOwnProperty]](key).
auto descriptor = TRY(internal_get_own_property(property_name));
@ -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 = PropertyKey::from_value(global_object, next_key_value);
auto next_key = MUST(PropertyKey::from_value(global_object, next_key_value));
if (seen_names.contains(next_key))
continue;
@ -1151,7 +1151,7 @@ ThrowCompletionOr<Object*> Object::define_properties(Value properties)
// 5. For each element nextKey of keys, do
for (auto& next_key : keys) {
auto property_name = PropertyKey::from_value(global_object, next_key);
auto property_name = MUST(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));