Fixed up errors

This commit is contained in:
Rafał Grodziński
2025-07-05 22:50:16 +09:00
parent 48f27169d0
commit d927540b5f
4 changed files with 38 additions and 12 deletions

View File

@@ -1,15 +1,40 @@
#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;
shared_ptr<Error> Error::lexerError(int line, int column, string lexme) {
return make_shared<Error>(
ErrorKind::LEXER_ERROR,
line,
column,
lexme,
nullptr,
optional<TokenKind>(),
optional<string>()
);
}
Error::Error(int line, int column, string lexme) :
kind(ErrorKind::LEXER_ERROR), line(line), column(column), lexme(lexme) { }
shared_ptr<Error> Error::parserError(shared_ptr<Token> actualToken, optional<TokenKind> expectedTokenKind, optional<string> message) {
return make_shared<Error>(
ErrorKind::PARSER_ERROR,
0,
0,
optional<string>(),
actualToken,
expectedTokenKind,
message
);
}
Error::Error(shared_ptr<Token> actualToken, optional<TokenKind> expectedTokenKind, optional<string> message) :
kind(ErrorKind::PARSER_ERROR), actualToken(actualToken), expectedTokenKind(expectedTokenKind), message(message) { }
shared_ptr<Error> Error::builderError(int line, int column, string message) {
return make_shared<Error>(
ErrorKind::BUILDER_ERROR,
line,
column,
optional<string>(),
nullptr,
optional<TokenKind>(),
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) { }