1
0

cmDebuggerStackFrame.h 905 B

123456789101112131415161718192021222324252627282930313233
  1. /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. file Copyright.txt or https://cmake.org/licensing for details. */
  3. #pragma once
  4. #include "cmConfigure.h" // IWYU pragma: keep
  5. #include <atomic>
  6. #include <cstdint>
  7. #include <string>
  8. class cmListFileFunction;
  9. class cmMakefile;
  10. namespace cmDebugger {
  11. class cmDebuggerStackFrame
  12. {
  13. static std::atomic<std::int64_t> NextId;
  14. std::int64_t Id;
  15. std::string FileName;
  16. cmListFileFunction const& Function;
  17. cmMakefile* Makefile;
  18. public:
  19. cmDebuggerStackFrame(cmMakefile* mf, std::string sourcePath,
  20. cmListFileFunction const& lff);
  21. int64_t GetId() const noexcept { return this->Id; }
  22. std::string const& GetFileName() const noexcept { return this->FileName; }
  23. int64_t GetLine() const noexcept;
  24. cmMakefile* GetMakefile() const noexcept { return this->Makefile; }
  25. };
  26. } // namespace cmDebugger