Added builder error

This commit is contained in:
Rafał Grodziński
2025-07-05 21:58:11 +09:00
parent 1e7ecaf801
commit 48f27169d0
6 changed files with 38 additions and 10 deletions

View File

@@ -1,11 +1,19 @@
#include "Error.h"
shared_ptr<Error> Error::builderError(int line, int column, string message) {
Error e = Error(ErrorKind::BUILDER_ERROR, line, column, {}, nullptr, {}, message);
return nullptr;
}
Error::Error(int line, int column, string lexme) :
kind(ErrorKind::LEXER_ERROR), line(line), column(column), lexme(lexme) { }
Error::Error(shared_ptr<Token> actualToken, optional<TokenKind> expectedTokenKind, optional<string> message) :
kind(ErrorKind::PARSER_ERROR), actualToken(actualToken), expectedTokenKind(expectedTokenKind), message(message) { }
Error::Error(ErrorKind kind, int line, int column, optional<string> lexme, shared_ptr<Token> actualToken, optional<TokenKind> expectedTokenKind, optional<string> message):
kind(kind), line(line), column(column), lexme(lexme), actualToken(actualToken), expectedTokenKind(expectedTokenKind), message(message) { }
ErrorKind Error::getKind() {
return kind;
}
@@ -18,7 +26,7 @@ int Error::getColumn() {
return column;
}
string Error::getLexme() {
optional<string> Error::getLexme() {
return lexme;
}