From f86e714a4fdebb994101813a5fa6664f5883a0ab Mon Sep 17 00:00:00 2001 From: bd-912 Date: Thu, 9 May 2024 00:36:50 -0600 Subject: Many final bug-fixes in heat visitor, symbol table --- st/SymTableVars.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'st/SymTableVars.java') diff --git a/st/SymTableVars.java b/st/SymTableVars.java index 014beb1..b9a7c1b 100644 --- a/st/SymTableVars.java +++ b/st/SymTableVars.java @@ -55,6 +55,17 @@ public class SymTableVars extends GJDepthFirst { n.f16.accept(this, symt); n.f17.accept(this, symt); + // add the "string" arg + TokenKey s = new TokenKey(n.f11.f0.tokenImage, + TypeEnum.integer, + (ClassInstance) symt.getActive(TypeEnum.classname), + (MethodInstance) symt.getActive(TypeEnum.method)); + TypeInstance instance = new TypeInstance(s.getName(), TypeEnum.string, (MethodInstance) symt.getActive(TypeEnum.method), + (ClassInstance) symt.getActive(TypeEnum.classname)); + symt.put(s, instance); + symt.addParameter(s.getName()); + + symt.addMethod(id); symt.removeActive(TypeEnum.method); symt.removeActive(TypeEnum.classname); @@ -119,6 +130,7 @@ public class SymTableVars extends GJDepthFirst { n.f1.accept(this, symt); n.f2.accept(this, symt); TokenKey id = new TokenKey(n.f1.f0.tokenImage, + TypeEnum.integer, (ClassInstance) symt.getActive(TypeEnum.classname), (MethodInstance) symt.getActive(TypeEnum.method)); TypeEnum rtrn = null; @@ -191,6 +203,7 @@ public class SymTableVars extends GJDepthFirst { n.f0.accept(this, symt); n.f1.accept(this, symt); TokenKey id = new TokenKey(n.f1.f0.tokenImage, + TypeEnum.integer, (ClassInstance) symt.getActive(TypeEnum.classname), (MethodInstance) symt.getActive(TypeEnum.method)); -- cgit v1.2.3