LibACPI: Move object formatting to a dedicated formatter

This commit is contained in:
Undefine authored and Sönke Holz committed 2026-11-01 15:08:28 +01:00
1 parent 3b0289a11c
commit cc1e5ef63b
2 files changed
+17 -10

No files matched your search

+1 -10
View File
@@ -61,16 +61,7 @@ ErrorOr<void> Node::write_description(StringBuilder& builder)
ErrorOr<void> NameNode::write_description(StringBuilder& builder)
{
if (m_data.is<u64>()) {
auto value = MUST(m_data.as<u64>());
TRY(builder.try_appendff("(Decimal: {}, Hexadecimal: {:X})", value, value));
} else if (m_data.is<NameString>()) {
auto value = MUST(m_data.as<NameString>());
TRY(builder.try_appendff("{}"sv, TRY(value.to_string())));
} else {
TRY(builder.try_append("Invalid"sv));
}
TRY(builder.try_appendff("{}"sv, m_data));
return {};
}
+16
View File
@@ -54,3 +54,19 @@ protected:
};
}
template<>
struct AK::Formatter<::ACPI::AML::Object> : AK::Formatter<FormatString> {
ErrorOr<void> format(FormatBuilder& builder, ::ACPI::AML::Object const& object)
{
if (object.is<u64>()) {
auto value = MUST(object.as<u64>());
return AK::Formatter<FormatString>::format(builder, "(Decimal: {}, Hexadecimal: {:X})"sv, value, value);
}
if (object.is<::ACPI::AML::NameString>())
return AK::Formatter<FormatString>::format(builder, "{}"sv, TRY(MUST(object.as<::ACPI::AML::NameString>()).to_string()));
VERIFY_NOT_REACHED();
}
};