/src/CMake/Source/cmDebuggerStackFrame.h
Line | Count | Source |
1 | | /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying |
2 | | file LICENSE.rst or https://cmake.org/licensing for details. */ |
3 | | #pragma once |
4 | | |
5 | | #include "cmConfigure.h" // IWYU pragma: keep |
6 | | |
7 | | #include <atomic> |
8 | | #include <cstdint> |
9 | | #include <string> |
10 | | #include <vector> |
11 | | |
12 | | class cmListFileFunction; |
13 | | struct cmListFileArgument; |
14 | | class cmMakefile; |
15 | | |
16 | | namespace cmDebugger { |
17 | | |
18 | | class cmDebuggerStackFrame |
19 | | { |
20 | | static std::atomic<std::int64_t> NextId; |
21 | | std::int64_t Id; |
22 | | std::string FileName; |
23 | | cmListFileFunction const& Function; |
24 | | cmMakefile* Makefile; |
25 | | |
26 | | public: |
27 | | cmDebuggerStackFrame(cmMakefile* mf, std::string sourcePath, |
28 | | cmListFileFunction const& lff); |
29 | 0 | int64_t GetId() const noexcept { return this->Id; } |
30 | 0 | std::string const& GetFileName() const noexcept { return this->FileName; } |
31 | | int64_t GetLine() const noexcept; |
32 | 0 | cmMakefile* GetMakefile() const noexcept { return this->Makefile; } |
33 | | cmListFileFunction const& GetFunction() const noexcept |
34 | 0 | { |
35 | 0 | return this->Function; |
36 | 0 | } |
37 | | std::vector<cmListFileArgument> const& GetArguments() const noexcept; |
38 | | }; |
39 | | |
40 | | } // namespace cmDebugger |