mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 10:47:35 +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
|
@ -298,7 +298,7 @@ ErrorOr<int> Shell::builtin_bg(Main::Arguments arguments)
|
|||
.max_values = 1,
|
||||
.accept_value = [&](StringView value) -> bool {
|
||||
// Check if it's a pid (i.e. literal integer)
|
||||
if (auto number = value.to_uint(); number.has_value()) {
|
||||
if (auto number = value.to_number<unsigned>(); number.has_value()) {
|
||||
job_id = number.value();
|
||||
is_pid = true;
|
||||
return true;
|
||||
|
@ -705,7 +705,7 @@ ErrorOr<int> Shell::builtin_fg(Main::Arguments arguments)
|
|||
.max_values = 1,
|
||||
.accept_value = [&](StringView value) -> bool {
|
||||
// Check if it's a pid (i.e. literal integer)
|
||||
if (auto number = value.to_uint(); number.has_value()) {
|
||||
if (auto number = value.to_number<unsigned>(); number.has_value()) {
|
||||
job_id = number.value();
|
||||
is_pid = true;
|
||||
return true;
|
||||
|
@ -776,7 +776,7 @@ ErrorOr<int> Shell::builtin_disown(Main::Arguments arguments)
|
|||
.max_values = INT_MAX,
|
||||
.accept_value = [&](StringView value) -> bool {
|
||||
// Check if it's a pid (i.e. literal integer)
|
||||
if (auto number = value.to_uint(); number.has_value()) {
|
||||
if (auto number = value.to_number<unsigned>(); number.has_value()) {
|
||||
job_ids.append(number.value());
|
||||
id_is_pid.append(true);
|
||||
return true;
|
||||
|
@ -1237,7 +1237,7 @@ ErrorOr<int> Shell::builtin_wait(Main::Arguments arguments)
|
|||
.max_values = INT_MAX,
|
||||
.accept_value = [&](StringView value) -> bool {
|
||||
// Check if it's a pid (i.e. literal integer)
|
||||
if (auto number = value.to_uint(); number.has_value()) {
|
||||
if (auto number = value.to_number<unsigned>(); number.has_value()) {
|
||||
job_ids.append(number.value());
|
||||
id_is_pid.append(true);
|
||||
return true;
|
||||
|
@ -1543,14 +1543,14 @@ ErrorOr<int> Shell::builtin_argsparser_parse(Main::Arguments arguments)
|
|||
case Type::String:
|
||||
return AST::make_ref_counted<AST::StringValue>(TRY(String::from_utf8(value)));
|
||||
case Type::I32:
|
||||
if (auto number = value.to_int(); number.has_value())
|
||||
if (auto number = value.to_number<int>(); number.has_value())
|
||||
return AST::make_ref_counted<AST::StringValue>(TRY(String::number(*number)));
|
||||
|
||||
warnln("Invalid value for type i32: {}", value);
|
||||
return OptionalNone {};
|
||||
case Type::U32:
|
||||
case Type::Size:
|
||||
if (auto number = value.to_uint(); number.has_value())
|
||||
if (auto number = value.to_number<unsigned>(); number.has_value())
|
||||
return AST::make_ref_counted<AST::StringValue>(TRY(String::number(*number)));
|
||||
|
||||
warnln("Invalid value for type u32|size: {}", value);
|
||||
|
@ -1860,7 +1860,7 @@ ErrorOr<int> Shell::builtin_argsparser_parse(Main::Arguments arguments)
|
|||
return false;
|
||||
}
|
||||
|
||||
auto number = value.to_uint();
|
||||
auto number = value.to_number<unsigned>();
|
||||
if (!number.has_value()) {
|
||||
warnln("Invalid value for --min: '{}', expected a non-negative number", value);
|
||||
return false;
|
||||
|
@ -1888,7 +1888,7 @@ ErrorOr<int> Shell::builtin_argsparser_parse(Main::Arguments arguments)
|
|||
return false;
|
||||
}
|
||||
|
||||
auto number = value.to_uint();
|
||||
auto number = value.to_number<unsigned>();
|
||||
if (!number.has_value()) {
|
||||
warnln("Invalid value for --max: '{}', expected a non-negative number", value);
|
||||
return false;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue