jif.visit
Class FieldLabelResolver
java.lang.Object
polyglot.visit.NodeVisitor
polyglot.visit.HaltingVisitor
polyglot.visit.ErrorHandlingVisitor
polyglot.visit.ContextVisitor
jif.visit.FieldLabelResolver
- All Implemented Interfaces:
- java.lang.Cloneable, polyglot.util.Copy
public class FieldLabelResolver
- extends polyglot.visit.ContextVisitor
A visitor used to resolving field labels. We want to resolving
field labels of all the classes before the label checking pass,
because these field labels might be included in other labels, thus
need to resolve first.
Fields inherited from class polyglot.visit.ContextVisitor |
context, outer, prune, rethrowMissingDependencies |
Fields inherited from class polyglot.visit.ErrorHandlingVisitor |
error, nf |
Fields inherited from class polyglot.visit.HaltingVisitor |
bypass, bypassParent |
Method Summary |
polyglot.visit.NodeVisitor |
enterCall(polyglot.ast.Node n)
|
polyglot.ast.Node |
leaveCall(polyglot.ast.Node old,
polyglot.ast.Node n,
polyglot.visit.NodeVisitor v)
|
Methods inherited from class polyglot.visit.ContextVisitor |
addDecls, begin, context, context, enter, enter, enterScope, leave, rethrowMissingDependencies, superEnter |
Methods inherited from class polyglot.visit.ErrorHandlingVisitor |
catchErrors, enterCall, enterError, errorQueue, hasErrors, job, leaveCall, leaveCall, nodeFactory, typeSystem |
Methods inherited from class polyglot.visit.HaltingVisitor |
bypass, bypass, bypassChildren, override, visitChildren |
Methods inherited from class polyglot.visit.NodeVisitor |
copy, finish, finish, leave, override, toString, visitEdge, visitEdgeNoOverride |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
FieldLabelResolver
public FieldLabelResolver(polyglot.frontend.Job job,
JifTypeSystem ts,
polyglot.ast.NodeFactory nf)
enterCall
public polyglot.visit.NodeVisitor enterCall(polyglot.ast.Node n)
throws polyglot.types.SemanticException
- Overrides:
enterCall
in class polyglot.visit.ErrorHandlingVisitor
- Throws:
polyglot.types.SemanticException
leaveCall
public polyglot.ast.Node leaveCall(polyglot.ast.Node old,
polyglot.ast.Node n,
polyglot.visit.NodeVisitor v)
throws polyglot.types.SemanticException
- Overrides:
leaveCall
in class polyglot.visit.ErrorHandlingVisitor
- Throws:
polyglot.types.SemanticException