polyglot.visit
Class InnerClassConstructorFixer

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

public class InnerClassConstructorFixer
extends InnerClassAbstractRemover

Author:
nystrom This class translates inner classes to static nested classes with a field pointing to the enclosing instance.

Field Summary
 
Fields inherited from class polyglot.visit.ContextVisitor
context, outer
 
Fields inherited from class polyglot.visit.ErrorHandlingVisitor
error, job, nf, ts
 
Constructor Summary
InnerClassConstructorFixer(Job job, TypeSystem ts, NodeFactory nf)
           
 
Method Summary
protected  Node leaveCall(Node old, Node n, NodeVisitor v)
           
 
Methods inherited from class polyglot.visit.ContextVisitor
addDecls, begin, context, context, enter, enterScope, leave, superEnter
 
Methods inherited from class polyglot.visit.ErrorHandlingVisitor
catchErrors, enterCall, 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, enter, finish, finish, leave, override, toString, visitEdge, visitEdgeNoOverride
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

InnerClassConstructorFixer

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

leaveCall

protected Node leaveCall(Node old,
                         Node n,
                         NodeVisitor v)
                  throws SemanticException
Overrides:
leaveCall in class ErrorHandlingVisitor
Throws:
SemanticException