Browse Source

LibJS: Convert to_bigint_uint64() to ThrowCompletionOr

Idan Horowitz 3 years ago
parent
commit
51c33b3b35

+ 1 - 1
Userland/Libraries/LibJS/Runtime/ArrayBuffer.h

@@ -160,7 +160,7 @@ static ByteBuffer numeric_to_raw_bytes(GlobalObject& global_object, Value value,
         if constexpr (IsSigned<UnderlyingBufferDataType>)
         if constexpr (IsSigned<UnderlyingBufferDataType>)
             int_value = MUST(value.to_bigint_int64(global_object));
             int_value = MUST(value.to_bigint_int64(global_object));
         else
         else
-            int_value = value.to_bigint_uint64(global_object);
+            int_value = MUST(value.to_bigint_uint64(global_object));
 
 
         ReadonlyBytes { &int_value, sizeof(UnderlyingBufferDataType) }.copy_to(raw_bytes);
         ReadonlyBytes { &int_value, sizeof(UnderlyingBufferDataType) }.copy_to(raw_bytes);
         flip_if_needed();
         flip_if_needed();

+ 2 - 2
Userland/Libraries/LibJS/Runtime/Value.cpp

@@ -553,9 +553,9 @@ ThrowCompletionOr<i64> Value::to_bigint_int64(GlobalObject& global_object) const
 }
 }
 
 
 // 7.1.16 ToBigUint64 ( argument ), https://tc39.es/ecma262/multipage/abstract-operations.html#sec-tobiguint64
 // 7.1.16 ToBigUint64 ( argument ), https://tc39.es/ecma262/multipage/abstract-operations.html#sec-tobiguint64
-u64 Value::to_bigint_uint64(GlobalObject& global_object) const
+ThrowCompletionOr<u64> Value::to_bigint_uint64(GlobalObject& global_object) const
 {
 {
-    auto* bigint = TRY_OR_DISCARD(to_bigint(global_object));
+    auto* bigint = TRY(to_bigint(global_object));
     return bigint->big_integer().to_u64();
     return bigint->big_integer().to_u64();
 }
 }
 
 

+ 1 - 1
Userland/Libraries/LibJS/Runtime/Value.h

@@ -312,7 +312,7 @@ public:
     Value to_number(GlobalObject&) const;
     Value to_number(GlobalObject&) const;
     ThrowCompletionOr<BigInt*> to_bigint(GlobalObject&) const;
     ThrowCompletionOr<BigInt*> to_bigint(GlobalObject&) const;
     ThrowCompletionOr<i64> to_bigint_int64(GlobalObject&) const;
     ThrowCompletionOr<i64> to_bigint_int64(GlobalObject&) const;
-    u64 to_bigint_uint64(GlobalObject&) const;
+    ThrowCompletionOr<u64> to_bigint_uint64(GlobalObject&) const;
     double to_double(GlobalObject&) const;
     double to_double(GlobalObject&) const;
     StringOrSymbol to_property_key(GlobalObject&) const;
     StringOrSymbol to_property_key(GlobalObject&) const;
     i32 to_i32(GlobalObject& global_object) const
     i32 to_i32(GlobalObject& global_object) const