#pragma once #include #include #include #include #include #include namespace Kernel::ACPI::AML { struct Integer final : public AML::Node { struct Constants { // Initialized in Namespace::create_root_namespace static BAN::RefPtr Zero; static BAN::RefPtr One; static BAN::RefPtr Ones; }; uint64_t value; const bool constant; Integer(uint64_t value, bool constant = false); BAN::Optional logical_compare(BAN::RefPtr node, AML::Byte binaryop); BAN::RefPtr convert(uint8_t mask) override; BAN::RefPtr copy() override; BAN::RefPtr store(BAN::RefPtr store_node) override; static ParseResult parse(BAN::ConstByteSpan& aml_data); void debug_print(int indent) const override; }; }