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