summaryrefslogtreecommitdiff
path: root/Typecheck.java
diff options
context:
space:
mode:
authorbd-912 <bdunahu@colostate.edu>2024-04-26 19:36:16 -0600
committerbd-912 <bdunahu@colostate.edu>2024-04-26 19:36:16 -0600
commite2d7b563cd22b92604e07dad9bf6bcf0393a46ca (patch)
tree539f081c254d31afe9574fa42f5629971d8a9eb5 /Typecheck.java
parent42512ab2cfd16422909263475b044f40b3829707 (diff)
HeatVisitor MessageSend anonymous, observe Factorial + others pass
Diffstat (limited to 'Typecheck.java')
-rw-r--r--Typecheck.java27
1 files changed, 14 insertions, 13 deletions
diff --git a/Typecheck.java b/Typecheck.java
index 098defe..12e74f1 100644
--- a/Typecheck.java
+++ b/Typecheck.java
@@ -20,22 +20,23 @@ public class Typecheck {
// Build the symbol table. Top-down visitor, inherits from
// GJDepthFirst<R,A>. R=Void, A=Integer.
- SymbolTable symt = new SymbolTable();
- MinimalLogger.info("Populating classes...");
- root.accept(new SymTableClasses<Void>(), symt);
- MinimalLogger.info("Populating methods...");
- root.accept(new SymTableMethods<Void>(), symt);
- MinimalLogger.info("Populating variables...");
- root.accept(new SymTableVars<Void>(), symt);
- MinimalLogger.info("Populating extensions...");
- root.accept(new SymTableExtend<Void>(), symt);
- MinimalLogger.info(symt.toString());
-
- HeatVisitor hv = new HeatVisitor(symt);
-
try {
+
+ SymbolTable symt = new SymbolTable();
+ MinimalLogger.info("Populating classes...");
+ root.accept(new SymTableClasses<Void>(), symt);
+ MinimalLogger.info("Populating methods...");
+ root.accept(new SymTableMethods<Void>(), symt);
+ MinimalLogger.info("Populating variables...");
+ root.accept(new SymTableVars<Void>(), symt);
+ MinimalLogger.info("Populating extensions...");
+ root.accept(new SymTableExtend<Void>(), symt);
+ MinimalLogger.info(symt.toString());
+
+ HeatVisitor hv = new HeatVisitor(symt);
root.accept(hv, null);
System.out.println("Program type checked successfully");
+
} catch (TypecheckException e) {
System.out.println("Type error");
MinimalLogger.severe(String.format("Reason: %s",