polyglot.visit
Class InnerClassRemover
java.lang.Object
polyglot.visit.NodeVisitor
polyglot.visit.HaltingVisitor
polyglot.visit.ErrorHandlingVisitor
polyglot.visit.ContextVisitor
polyglot.visit.InnerClassRemover
- All Implemented Interfaces:
- java.lang.Cloneable, Copy
public class InnerClassRemover
- extends ContextVisitor
Method Summary |
static ClassDecl |
addFieldsToClass(ClassDecl cd,
java.util.List newFields,
TypeSystem ts,
NodeFactory nf,
boolean rewriteMembers)
|
Expr |
fixQualifier(Expr e,
LocalInstance li)
|
ClassDecl |
fixQualifiers(ClassDecl cd)
|
static java.lang.Object |
hashGet(java.util.Map map,
java.lang.Object k,
java.lang.Object v)
|
protected Node |
leaveCall(Node old,
Node n,
NodeVisitor v)
|
protected ContextVisitor |
localClassRemover()
|
Node |
override(Node parent,
Node n)
Given a tree rooted at n , the visitor has the option of
overriding all traversal of the children of n . |
Methods inherited from class polyglot.visit.ErrorHandlingVisitor |
catchErrors, enterCall, enterCall, enterError, errorQueue, hasErrors, job, leaveCall, leaveCall, nodeFactory, typeSystem |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
InnerClassRemover
public InnerClassRemover(Job job,
TypeSystem ts,
NodeFactory nf)
localClassRemover
protected ContextVisitor localClassRemover()
override
public Node override(Node parent,
Node n)
- Description copied from class:
NodeVisitor
- Given a tree rooted at
n
, the visitor has the option of
overriding all traversal of the children of n
. If no
changes were made to n
and the visitor wishes to prevent
further traversal of the tree, then it should return n
. If
changes were made to the subtree, then the visitor should return a
copy of n
with appropriate changes. Finally, if the
visitor does not wish to override traversal of the subtree rooted at
n
, then it should return null
.
The default implementation of this method is to call
override(n)
, as most subclasses do not need to know
the parent of the node n
.
- Overrides:
override
in class HaltingVisitor
- Parameters:
parent
- The parent of n
,
null
if n
has no parent.n
- The root of the subtree to be traversed.
- Returns:
- A node if normal traversal is to stop,
null
if it
is to continue.
leaveCall
protected Node leaveCall(Node old,
Node n,
NodeVisitor v)
throws SemanticException
- Overrides:
leaveCall
in class ErrorHandlingVisitor
- Throws:
SemanticException
fixQualifiers
public ClassDecl fixQualifiers(ClassDecl cd)
fixQualifier
public Expr fixQualifier(Expr e,
LocalInstance li)
addFieldsToClass
public static ClassDecl addFieldsToClass(ClassDecl cd,
java.util.List newFields,
TypeSystem ts,
NodeFactory nf,
boolean rewriteMembers)
hashGet
public static java.lang.Object hashGet(java.util.Map map,
java.lang.Object k,
java.lang.Object v)