summaryrefslogtreecommitdiff
path: root/st/SymTableMethods.java
diff options
context:
space:
mode:
Diffstat (limited to 'st/SymTableMethods.java')
-rw-r--r--st/SymTableMethods.java12
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");
}