From 04e9109f112f4cb7317416c2e31806f42663cb45 Mon Sep 17 00:00:00 2001 From: bd-912 Date: Mon, 15 Apr 2024 15:19:54 -0600 Subject: Allow MethodInstance to keep track of parent class --- st/SymTableTopDown.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'st/SymTableTopDown.java') diff --git a/st/SymTableTopDown.java b/st/SymTableTopDown.java index df136aa..566752e 100644 --- a/st/SymTableTopDown.java +++ b/st/SymTableTopDown.java @@ -121,8 +121,9 @@ public class SymTableTopDown extends GJDepthFirst { null; String id = n.f1.f0.tokenImage; + TypeInstance me = symt.getType(id); symt.addLocal(id); - symt.addClassInstance(id, cls); + symt.addClassInstance(me, cls); n.f0.accept(this, symt); @@ -147,9 +148,13 @@ public class SymTableTopDown extends GJDepthFirst { * f12 -> "}" */ public R visit(MethodDeclaration n, SymbolTable symt) { + String cls = symt.getActive(TypeEnum.classname); + String id = n.f2.f0.tokenImage; + MethodInstance me = symt.getMethod(id); symt.setActive(TypeEnum.method, id); symt.addMethod(id); + symt.addClassInstance(me, cls); n.f0.accept(this, symt); -- cgit v1.2.3