diff options
author | Andreas Kling <kling@serenityos.org> | 2021-11-15 01:46:51 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-11-17 00:21:10 +0100 |
commit | 587f9af960daa9f003ec9e41751cdc4ce50b87dd (patch) | |
tree | 41bc5b51741dffcc23e3e4b63d4c17a37e2e03d7 /Userland/Applets/ResourceGraph/main.cpp | |
parent | 304c03f457e294a3d756860325d93b809f50f7a6 (diff) | |
download | serenity-587f9af960daa9f003ec9e41751cdc4ce50b87dd.zip |
AK: Make JSON parser return ErrorOr<JsonValue> (instead of Optional)
Also add slightly richer parse errors now that we can include a string
literal with returned errors.
This will allow us to use TRY() when working with JSON data.
Diffstat (limited to 'Userland/Applets/ResourceGraph/main.cpp')
-rw-r--r-- | Userland/Applets/ResourceGraph/main.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/Userland/Applets/ResourceGraph/main.cpp b/Userland/Applets/ResourceGraph/main.cpp index 69300ccff4..9dc5bf1a50 100644 --- a/Userland/Applets/ResourceGraph/main.cpp +++ b/Userland/Applets/ResourceGraph/main.cpp @@ -135,9 +135,8 @@ private: } auto file_contents = m_proc_stat->read_all(); - auto json = JsonValue::from_string(file_contents); - VERIFY(json.has_value()); - auto& obj = json.value().as_object(); + auto json = JsonValue::from_string(file_contents).release_value_but_fixme_should_propagate_errors(); + auto const& obj = json.as_object(); total = obj.get("total_time").to_u64(); idle = obj.get("idle_time").to_u64(); return true; @@ -157,9 +156,8 @@ private: } auto file_contents = m_proc_mem->read_all(); - auto json = JsonValue::from_string(file_contents); - VERIFY(json.has_value()); - auto& obj = json.value().as_object(); + auto json = JsonValue::from_string(file_contents).release_value_but_fixme_should_propagate_errors(); + auto const& obj = json.as_object(); unsigned kmalloc_allocated = obj.get("kmalloc_allocated").to_u32(); unsigned kmalloc_available = obj.get("kmalloc_available").to_u32(); auto user_physical_allocated = obj.get("user_physical_allocated").to_u64(); |