13 explicit Location(std::pair<size_t, size_t> line_column) : _line(line_column.first), _column(line_column.second) {}
16 size_t line()
const {
return _line; }
17 size_t column()
const {
return _column; }
48 return std::format(
"CompilerError: {}",
_message);
59template <
typename T>
using Result = std::expected<T, CompileError>;
Struct to hold location information.
Definition error.h:10
size_t column() const
Definition error.h:17
Location(std::pair< size_t, size_t > line_column)
Definition error.h:13
Location(size_t line, size_t column)
Definition error.h:14
size_t line() const
Definition error.h:16
Location()
Definition error.h:12
std::expected< T, CompileError > Result
A type alias for the result of a compilation operation.
Definition error.h:59
CompileError & operator=(CompileError &&)=default
std::string _message
Definition error.h:39
CompileError & operator=(const CompileError &)=default
size_t column() const
Definition error.h:44
size_t line() const
Definition error.h:43
Location _location
Definition error.h:40
CompileError()
Definition error.h:29
std::string message() const
Definition error.h:46
CompileError(CompileError &&)=default
CompileError(const CompileError &)=default
CompileError(std::string string, Location location={})
Definition error.h:30