diff options
Diffstat (limited to 'st/SymTableMethods.java')
-rw-r--r-- | st/SymTableMethods.java | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/st/SymTableMethods.java b/st/SymTableMethods.java index 6dc7d68..b14676a 100644 --- a/st/SymTableMethods.java +++ b/st/SymTableMethods.java @@ -54,7 +54,7 @@ public class SymTableMethods<R> extends GJDepthFirst<R,SymbolTable> { n.f17.accept(this, symt); TokenKey id = new TokenKey(n.f6.tokenImage, (ClassInstance) symt.getActive(TypeEnum.classname), null); - MethodInstance main = new MethodInstance(id.getName(), TypeEnum.ERROR, (ClassInstance) symt.getActive(TypeEnum.classname)); + MethodInstance main = new MethodInstance(id.getName(), null, (ClassInstance) symt.getActive(TypeEnum.classname)); symt.put(id, main); @@ -145,16 +145,16 @@ public class SymTableMethods<R> extends GJDepthFirst<R,SymbolTable> { TokenKey id = new TokenKey(n.f2.f0.tokenImage, (ClassInstance) symt.getActive(TypeEnum.classname), null); - TypeEnum rtrn = TypeEnum.ERROR; + ClassInstance rtrn = null; switch (n.f1.f0.which) { case 0: - rtrn = TypeEnum.intarray; break; + rtrn = new ClassInstance("intarray"); break; case 1: - rtrn = TypeEnum.bool; break; + rtrn = new ClassInstance("bool"); break; case 2: - rtrn = TypeEnum.integer; break; + rtrn = new ClassInstance("int"); break; case 3: - rtrn = TypeEnum.classname; break; + rtrn = new ClassInstance(((Identifier) n.f1.f0.choice).f0.tokenImage); break; default: MinimalLogger.severe("Unsupported case"); } |