Fixed error in TypedBinary

This commit is contained in:
ahmad 2024-06-30 23:28:30 +02:00
parent 80b58ef5dd
commit d0b98054a5

View File

@ -52,13 +52,20 @@ public class TypedBinary implements TypedExpression {
} else {
throw new RuntimeException("Type mismatch in " + op);
}
} else if (op == Operator.EQ || op == Operator.NE || op == Operator.AND || op == Operator.OR) {
} else if (op == Operator.EQ || op == Operator.NE ) {
if (leftType == Type.INT && rightType == Type.INT || leftType == Type.BOOL && rightType == Type.BOOL) {
type = Type.BOOL;
return Type.BOOL;
} else {
throw new RuntimeException("Type mismatch in " + op);
}
} else if (op == Operator.AND || op == Operator.OR ){
if (leftType == Type.BOOL && rightType == Type.BOOL) {
type = Type.BOOL;
return Type.BOOL;
} else {
throw new RuntimeException("Type mismatch in " + op);
}
}
if (leftType == rightType && leftType != Type.VOID) {