mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 09:38:11 +00:00
Everywhere: Use to_number<T> instead of to_{int,uint,float,double}
In a bunch of cases, this actually ends up simplifying the code as to_number will handle something such as: ``` Optional<I> opt; if constexpr (IsSigned<I>) opt = view.to_int<I>(); else opt = view.to_uint<I>(); ``` For us. The main goal here however is to have a single generic number conversion API between all of the String classes.
This commit is contained in:
parent
a4ecc65398
commit
e2e7c4d574
155 changed files with 397 additions and 412 deletions
|
@ -1052,7 +1052,7 @@ ErrorOr<RefPtr<AST::Node>> Shell::immediate_math(AST::ImmediateExpression& invok
|
|||
view.byte_offset_of(it) - *integer_or_word_start_offset);
|
||||
|
||||
if (all_of(integer_or_word, is_ascii_digit))
|
||||
tokens.append(*integer_or_word.as_string().to_int());
|
||||
tokens.append(*integer_or_word.as_string().to_number<int>());
|
||||
else
|
||||
tokens.append(TRY(expression.substring_from_byte_offset_with_shared_superstring(*integer_or_word_start_offset, integer_or_word.length())));
|
||||
|
||||
|
@ -1239,7 +1239,7 @@ ErrorOr<RefPtr<AST::Node>> Shell::immediate_math(AST::ImmediateExpression& invok
|
|||
auto integer_or_word = view.substring_view(*integer_or_word_start_offset);
|
||||
|
||||
if (all_of(integer_or_word, is_ascii_digit))
|
||||
tokens.append(*integer_or_word.as_string().to_int());
|
||||
tokens.append(*integer_or_word.as_string().to_number<int>());
|
||||
else
|
||||
tokens.append(TRY(expression.substring_from_byte_offset_with_shared_superstring(*integer_or_word_start_offset, integer_or_word.length())));
|
||||
|
||||
|
@ -1262,7 +1262,7 @@ ErrorOr<RefPtr<AST::Node>> Shell::immediate_math(AST::ImmediateExpression& invok
|
|||
builder.join(' ', TRY(const_cast<AST::Value&>(*value).resolve_as_list(const_cast<Shell&>(*this))));
|
||||
resolved_name = TRY(builder.to_string());
|
||||
|
||||
auto integer = resolved_name.bytes_as_string_view().to_int<i64>();
|
||||
auto integer = resolved_name.to_number<i64>();
|
||||
if (integer.has_value())
|
||||
return *integer;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue