From 73dd924eba8ed58b6b21bd7ac48c49035615ffc9 Mon Sep 17 00:00:00 2001 From: Xun Yang <x299yang@uwaterloo.ca> Date: Mon, 13 Apr 2020 14:00:10 -0400 Subject: [PATCH] fix field access extra this --- NameNode.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/NameNode.py b/NameNode.py index cb727d3..d8b3f52 100644 --- a/NameNode.py +++ b/NameNode.py @@ -117,9 +117,10 @@ class NameNode(ASTNode): self.addToPrefix("contain") # evaluate THIS first, fieldnode will be added to prefixNodes in checkType() - cNameNode = genNameNode(self.typeName) - cNameNode.isThis = True - self.prefixNodes.append(cNameNode) + if not self.prefixNodes: + cNameNode = genNameNode(self.typeName) + cNameNode.isThis = True + self.prefixNodes.append(cNameNode) return True return False @@ -242,7 +243,7 @@ class NameNode(ASTNode): self.methodClass = meth.env.getNode(meth.typeName, 'type') self.methodName = self.IDs[0] - + else: if curType.myType and curType.myType.isArray and self.IDs[0] == 'length': self.myType = TypeStruct("int", None) -- GitLab