#include "Error.h" shared_ptr Error::lexerError(int line, int column, string lexme) { return make_shared( ErrorKind::LEXER_ERROR, line, column, lexme, nullptr, optional(), optional() ); } shared_ptr Error::parserError(shared_ptr actualToken, optional expectedTokenKind, optional message) { return make_shared( ErrorKind::PARSER_ERROR, 0, 0, optional(), actualToken, expectedTokenKind, message ); } shared_ptr Error::builderError(int line, int column, string message) { return make_shared( ErrorKind::BUILDER_ERROR, line, column, optional(), nullptr, optional(), message ); } Error::Error(ErrorKind kind, int line, int column, optional lexme, shared_ptr actualToken, optional expectedTokenKind, optional message): kind(kind), line(line), column(column), lexme(lexme), actualToken(actualToken), expectedTokenKind(expectedTokenKind), message(message) { } ErrorKind Error::getKind() { return kind; } int Error::getLine() { return line; } int Error::getColumn() { return column; } optional Error::getLexme() { return lexme; } shared_ptr Error::getActualToken() { return actualToken; } optional Error::getExpectedTokenKind() { return expectedTokenKind; } optional Error::getMessage() { return message; }