Handle missing cases
This commit is contained in:
@@ -151,6 +151,7 @@ string Logger::toString(TokenKind tokenKind) {
|
|||||||
case TokenKind::INTEGER_DEC:
|
case TokenKind::INTEGER_DEC:
|
||||||
case TokenKind::INTEGER_HEX:
|
case TokenKind::INTEGER_HEX:
|
||||||
case TokenKind::INTEGER_BIN:
|
case TokenKind::INTEGER_BIN:
|
||||||
|
case TokenKind::INTEGER_CHAR:
|
||||||
return "LITERAL(INTEGER)";
|
return "LITERAL(INTEGER)";
|
||||||
case TokenKind::REAL:
|
case TokenKind::REAL:
|
||||||
return "LITERAL(REAL)";
|
return "LITERAL(REAL)";
|
||||||
@@ -182,6 +183,8 @@ string Logger::toString(TokenKind tokenKind) {
|
|||||||
|
|
||||||
string Logger::toString(shared_ptr<ValueType> valueType) {
|
string Logger::toString(shared_ptr<ValueType> valueType) {
|
||||||
switch (valueType->getKind()) {
|
switch (valueType->getKind()) {
|
||||||
|
case ValueTypeKind::NONE:
|
||||||
|
return "NONE";
|
||||||
case ValueTypeKind::BOOL:
|
case ValueTypeKind::BOOL:
|
||||||
return "BOOL";
|
return "BOOL";
|
||||||
case ValueTypeKind::SINT32:
|
case ValueTypeKind::SINT32:
|
||||||
@@ -336,6 +339,8 @@ string Logger::toString(shared_ptr<ExpressionBinary> expression) {
|
|||||||
return "{/ " + toString(expression->getLeft()) + " " + toString(expression->getRight()) + "}";
|
return "{/ " + toString(expression->getLeft()) + " " + toString(expression->getRight()) + "}";
|
||||||
case ExpressionBinaryOperation::MOD:
|
case ExpressionBinaryOperation::MOD:
|
||||||
return "{% " + toString(expression->getLeft()) + " " + toString(expression->getRight()) + "}";
|
return "{% " + toString(expression->getLeft()) + " " + toString(expression->getRight()) + "}";
|
||||||
|
case ExpressionBinaryOperation::INVALID:
|
||||||
|
return "{INVALID}";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -363,6 +368,8 @@ string Logger::toString(shared_ptr<ExpressionGrouping> expression) {
|
|||||||
|
|
||||||
string Logger::toString(shared_ptr<ExpressionLiteral> expression) {
|
string Logger::toString(shared_ptr<ExpressionLiteral> expression) {
|
||||||
switch (expression->getValueType()->getKind()) {
|
switch (expression->getValueType()->getKind()) {
|
||||||
|
case ValueTypeKind::NONE:
|
||||||
|
return "NONE";
|
||||||
case ValueTypeKind::BOOL:
|
case ValueTypeKind::BOOL:
|
||||||
return expression->getBoolValue() ? "true" : "false";
|
return expression->getBoolValue() ? "true" : "false";
|
||||||
case ValueTypeKind::SINT32:
|
case ValueTypeKind::SINT32:
|
||||||
|
|||||||
@@ -222,7 +222,7 @@ shared_ptr<Statement> Parser::matchStatementFunction() {
|
|||||||
|
|
||||||
shared_ptr<Token> returnTypeToken = tokens.at(currentIndex);
|
shared_ptr<Token> returnTypeToken = tokens.at(currentIndex);
|
||||||
shared_ptr<ValueType> returnType = ValueType::valueTypeForToken(returnTypeToken);
|
shared_ptr<ValueType> returnType = ValueType::valueTypeForToken(returnTypeToken);
|
||||||
if (returnType != nullptr) {
|
if (returnType == nullptr) {
|
||||||
markError(TokenKind::TYPE, {});
|
markError(TokenKind::TYPE, {});
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user