You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
997 B
38 lines
997 B
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
file Copyright.txt or https://cmake.org/licensing for details. */
|
|
#pragma once
|
|
|
|
#include "cmConfigure.h" // IWYU pragma: keep
|
|
|
|
#include <atomic>
|
|
#include <cstdint>
|
|
#include <string>
|
|
|
|
class cmListFileFunction;
|
|
class cmMakefile;
|
|
|
|
namespace cmDebugger {
|
|
|
|
class cmDebuggerStackFrame
|
|
{
|
|
static std::atomic<std::int64_t> NextId;
|
|
std::int64_t Id;
|
|
std::string FileName;
|
|
cmListFileFunction const& Function;
|
|
cmMakefile* Makefile;
|
|
|
|
public:
|
|
cmDebuggerStackFrame(cmMakefile* mf, std::string sourcePath,
|
|
cmListFileFunction const& lff);
|
|
int64_t GetId() const noexcept { return this->Id; }
|
|
std::string const& GetFileName() const noexcept { return this->FileName; }
|
|
int64_t GetLine() const noexcept;
|
|
cmMakefile* GetMakefile() const noexcept { return this->Makefile; }
|
|
cmListFileFunction const& GetFunction() const noexcept
|
|
{
|
|
return this->Function;
|
|
}
|
|
};
|
|
|
|
} // namespace cmDebugger
|