Expression.h 515 B

123456789101112131415161718192021222324252627282930313233343536
  1. /*
  2. * Copyright (c) 2020, Itamar S. <itamar8910@gmail.com>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include "AK/ByteBuffer.h"
  8. #include "AK/Types.h"
  9. struct PtraceRegisters;
  10. namespace Debug::Dwarf::Expression {
  11. enum class Type {
  12. None,
  13. UnsignedIntetger,
  14. Register,
  15. };
  16. struct Value {
  17. Type type;
  18. union {
  19. u32 as_u32;
  20. } data { 0 };
  21. };
  22. enum class Operations : u8 {
  23. RegEbp = 0x75,
  24. FbReg = 0x91,
  25. };
  26. Value evaluate(ReadonlyBytes, PtraceRegisters const&);
  27. }