From e7e8d7751690c80cd2dd681f548d069d053cf23e Mon Sep 17 00:00:00 2001 From: bd-912 Date: Thu, 25 Apr 2024 13:52:13 -0600 Subject: Fix first bugs in BoilVisitor for new SymbolTable --- st/SymTableVars.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'st/SymTableVars.java') diff --git a/st/SymTableVars.java b/st/SymTableVars.java index f356a8c..36f02fc 100644 --- a/st/SymTableVars.java +++ b/st/SymTableVars.java @@ -122,6 +122,7 @@ public class SymTableVars extends GJDepthFirst { (ClassInstance) symt.getActive(TypeEnum.classname), (MethodInstance) symt.getActive(TypeEnum.method)); TypeEnum rtrn = TypeEnum.ERROR; + String cls = null; switch (n.f0.f0.which) { case 0: rtrn = TypeEnum.intarray; break; @@ -130,7 +131,8 @@ public class SymTableVars extends GJDepthFirst { case 2: rtrn = TypeEnum.integer; break; case 3: - rtrn = TypeEnum.classname; break; + rtrn = TypeEnum.classname; + cls = ((Identifier) n.f0.f0.choice).f0.tokenImage; break; default: MinimalLogger.severe("Unsupported case"); } @@ -139,7 +141,7 @@ public class SymTableVars extends GJDepthFirst { (ClassInstance) symt.getActive(TypeEnum.classname)); symt.put(id, instance); symt.addLocal(id.getName()); - + symt.addClassInstance(instance, cls); return null; } -- cgit v1.2.3