24 lines
493 B
C++
24 lines
493 B
C++
#pragma once
|
|
|
|
#include <cstddef>
|
|
#include <cstdint>
|
|
#include <filesystem>
|
|
#include <string>
|
|
|
|
namespace fesa {
|
|
|
|
// Identifies the physical input location that produced a model item or diagnostic.
|
|
struct SourceLocation {
|
|
std::filesystem::path file;
|
|
std::size_t line;
|
|
};
|
|
|
|
// Preserves both semantic and raw-text forms of an input entity identity.
|
|
struct SourceEntityId {
|
|
std::string instanceName;
|
|
std::int64_t sourceLabel;
|
|
std::string sourceLabelText;
|
|
};
|
|
|
|
} // namespace fesa
|