jltools.visit
Class TypeChecker

java.lang.Object
  |
  +--jltools.ast.NodeVisitor
        |
        +--jltools.visit.BaseVisitor
              |
              +--jltools.visit.SemanticVisitor
                    |
                    +--jltools.visit.TypeChecker

public class TypeChecker
extends SemanticVisitor

Visitor which performs type checking on the AST.


Inner classes inherited from class jltools.visit.SemanticVisitor
SemanticVisitor.Abort, SemanticVisitor.Catcher
 
Fields inherited from class jltools.visit.SemanticVisitor
catcher, context
 
Fields inherited from class jltools.visit.BaseVisitor
job
 
Constructor Summary
TypeChecker(Job job)
           
 
Method Summary
 AmbiguityRemover ambiguityRemover()
           
protected  Node leaveCall(Node n)
           
protected  Node overrideCall(Node n)
           
 TypeAmbiguityRemover typeAmbiguityRemover()
           
 TypeBuilder typeBuilder(Package p)
           
 
Methods inherited from class jltools.visit.SemanticVisitor
catchErrors, context, enter, enterScope, leave, leaveCall, leaveScope, newCatcher, override
 
Methods inherited from class jltools.visit.BaseVisitor
errorQueue, importTable, job, nodeFactory, parsedResolver, typeSystem
 
Methods inherited from class jltools.ast.NodeVisitor
finish, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TypeChecker

public TypeChecker(Job job)
Method Detail

typeBuilder

public TypeBuilder typeBuilder(Package p)

typeAmbiguityRemover

public TypeAmbiguityRemover typeAmbiguityRemover()

ambiguityRemover

public AmbiguityRemover ambiguityRemover()

overrideCall

protected Node overrideCall(Node n)
                     throws SemanticException
Overrides:
overrideCall in class SemanticVisitor

leaveCall

protected Node leaveCall(Node n)
                  throws SemanticException
Overrides:
leaveCall in class SemanticVisitor