Files
FESA/include/fesa/core/diagnostic.hpp
T

32 lines
476 B
C++

#pragma once
#include <optional>
#include <string>
#include <fesa/core/source_location.hpp>
namespace fesa {
enum class DiagnosticStage {
io,
syntax,
semantic,
model,
equation,
solver,
results,
validation
};
enum class Severity { warning, error };
struct Diagnostic final {
DiagnosticStage stage;
Severity severity;
std::string code;
std::string message;
std::optional<SourceLocation> source;
};
} // namespace fesa