diff --git a/ExprPrimaryNodes.py b/ExprPrimaryNodes.py index b13252af1ff850e84da36eec22afde51d59996a0..0dad3ee21760dd115507852caf69091e6d74acb5 100644 --- a/ExprPrimaryNodes.py +++ b/ExprPrimaryNodes.py @@ -236,7 +236,11 @@ class ExprNode(ASTNode): elif self.op in ['+', '-', '*', '/']: self.myType = TypeStruct("int") return - # + # Boolean operations: + elif self.left.myType.name == 'boolean' and self.right.myType.name == 'boolean': + if self.op in ['&&', '&', '|', '||']: + self.myType = TypeStruct("boolean") + return # Other Comparisons: elif self.left.myType.assignable(self.right.myType) or self.right.myType.assignable(self.left.myType): if self.op == '==' or self.op == '!=':