blob: f4e6612e9c2d7417cab91982d9f1f6a1a78484aa [file] [log] [blame]
/* 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