Class AddMemberVisitor

  extended by polyglot.visit.NodeVisitor
      extended by polyglot.visit.HaltingVisitor
          extended by polyglot.visit.ErrorHandlingVisitor
              extended by polyglot.visit.ContextVisitor
                  extended by polyglot.visit.AddMemberVisitor
All Implemented Interfaces:
java.lang.Cloneable, Copy

public class AddMemberVisitor
extends ContextVisitor

Visitor which traverses the AST constructing type objects.

Field Summary
Fields inherited from class polyglot.visit.ContextVisitor
context, outer
Fields inherited from class polyglot.visit.ErrorHandlingVisitor
error, job, nf, ts
Constructor Summary
AddMemberVisitor(Job job, TypeSystem ts, NodeFactory nf)
Method Summary
protected  NodeVisitor enterCall(Node n)
protected  Node leaveCall(Node old, Node n, NodeVisitor v)
          Contains all of the functionality that can be done in the leave method, but allows SemanticExceptions to be thrown.
Methods inherited from class polyglot.visit.ContextVisitor
addDecls, begin, context, context, enter, enterScope, leave, superEnter
Methods inherited from class polyglot.visit.ErrorHandlingVisitor
catchErrors, enterCall, enterError, errorQueue, job, leaveCall, nodeFactory, typeSystem
Methods inherited from class polyglot.visit.HaltingVisitor
bypass, bypass, bypassChildren, copy, override, visitChildren
Methods inherited from class polyglot.visit.NodeVisitor
enter, finish, finish, leave, override, toString, visitEdge
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Constructor Detail


public AddMemberVisitor(Job job,
                        TypeSystem ts,
                        NodeFactory nf)
Method Detail


protected NodeVisitor enterCall(Node n)
                         throws SemanticException
enterCall in class ErrorHandlingVisitor


protected Node leaveCall(Node old,
                         Node n,
                         NodeVisitor v)
                  throws SemanticException
Description copied from class: ErrorHandlingVisitor
Contains all of the functionality that can be done in the leave method, but allows SemanticExceptions to be thrown. This method is in addition to the leave method, and allows the compiler writer to write code that can throw errors and let the polyglot infrastructure handle the exceptions.

leaveCall in class ErrorHandlingVisitor
old - The original state of root of the current subtree.
n - The current state of the root of the current subtree.
v - The NodeVisitor object used to visit the children.
The final result of the traversal of the tree rooted at n.
See Also:
NodeVisitor.leave(Node, Node, NodeVisitor)