From 4d26654c20a249ad8a18c2854daf241ef04796ca Mon Sep 17 00:00:00 2001 From: pycsham <shampuiyanchloe@gmail.com> Date: Fri, 6 Mar 2020 21:26:23 -0500 Subject: [PATCH] fixed an edge case of string + null --- ExprPrimaryNodes.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ExprPrimaryNodes.py b/ExprPrimaryNodes.py index d1dba9a..77a3ed4 100644 --- a/ExprPrimaryNodes.py +++ b/ExprPrimaryNodes.py @@ -383,12 +383,12 @@ class ExprNode(ASTNode): return # String concat: - if (self.left.myType.name =='java.lang.String' and self.right.myType.name not in ['null', 'void']) \ - or (self.right.myType.name =='java.lang.String' and self.left.myType.name not in ['null', 'void']): + if (self.left.myType.name =='java.lang.String' and self.right.myType.name not in ['void']) \ + or (self.right.myType.name =='java.lang.String' and self.left.myType.name not in ['void']): self.myType = TypeStruct('java.lang.String', self.env.getNode('java.lang.String', 'type')) self.myType.link(self.env) return - + raise Exception("ERROR: Incompatible types. Left of {} type can't be used with right of {} type on operation {}".format(self.left.myType.name, self.right.myType.name, self.op)) -- GitLab