From a34325478ca8ff95bbf1e6598150ea727864e9ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Grodzi=C5=84ski?= Date: Fri, 4 Jul 2025 18:16:03 +0900 Subject: [PATCH] Handle missing cases --- src/Logger.cpp | 7 +++++++ src/Parser/Parser.cpp | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Logger.cpp b/src/Logger.cpp index ed7cc9f..f2d7727 100644 --- a/src/Logger.cpp +++ b/src/Logger.cpp @@ -151,6 +151,7 @@ string Logger::toString(TokenKind tokenKind) { case TokenKind::INTEGER_DEC: case TokenKind::INTEGER_HEX: case TokenKind::INTEGER_BIN: + case TokenKind::INTEGER_CHAR: return "LITERAL(INTEGER)"; case TokenKind::REAL: return "LITERAL(REAL)"; @@ -182,6 +183,8 @@ string Logger::toString(TokenKind tokenKind) { string Logger::toString(shared_ptr valueType) { switch (valueType->getKind()) { + case ValueTypeKind::NONE: + return "NONE"; case ValueTypeKind::BOOL: return "BOOL"; case ValueTypeKind::SINT32: @@ -336,6 +339,8 @@ string Logger::toString(shared_ptr expression) { return "{/ " + toString(expression->getLeft()) + " " + toString(expression->getRight()) + "}"; case ExpressionBinaryOperation::MOD: return "{% " + toString(expression->getLeft()) + " " + toString(expression->getRight()) + "}"; + case ExpressionBinaryOperation::INVALID: + return "{INVALID}"; } } @@ -363,6 +368,8 @@ string Logger::toString(shared_ptr expression) { string Logger::toString(shared_ptr expression) { switch (expression->getValueType()->getKind()) { + case ValueTypeKind::NONE: + return "NONE"; case ValueTypeKind::BOOL: return expression->getBoolValue() ? "true" : "false"; case ValueTypeKind::SINT32: diff --git a/src/Parser/Parser.cpp b/src/Parser/Parser.cpp index af1a90d..90a612c 100644 --- a/src/Parser/Parser.cpp +++ b/src/Parser/Parser.cpp @@ -222,7 +222,7 @@ shared_ptr Parser::matchStatementFunction() { shared_ptr returnTypeToken = tokens.at(currentIndex); shared_ptr returnType = ValueType::valueTypeForToken(returnTypeToken); - if (returnType != nullptr) { + if (returnType == nullptr) { markError(TokenKind::TYPE, {}); return nullptr; }