public class InnerClassRemover extends ContextVisitor
context, outer, prune, rethrowMissingDependencies
error, job, nf, ts
bypass, bypassParent
Constructor and Description |
---|
InnerClassRemover(Job job,
TypeSystem ts,
NodeFactory nf) |
Modifier and Type | Method and Description |
---|---|
static ClassDecl |
addFieldsToClass(ClassDecl cd,
java.util.List<FieldInstance> newFields,
TypeSystem ts,
NodeFactory nf,
boolean rewriteMembers) |
Expr |
fixQualifier(Expr e,
LocalInstance li) |
ClassDecl |
fixQualifiers(ClassDecl cd) |
static <K,V> V |
hashGet(java.util.Map<K,V> map,
K k,
V 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 . |
addDecls, addDecls, begin, context, context, enter, enter, enterScope, leave, rethrowMissingDependencies, superEnter
catchErrors, enterCall, enterCall, enterError, errorQueue, hasErrors, job, leaveCall, leaveCall, nodeFactory, typeSystem
bypass, bypass, bypassChildren, visitChildren
copy, finish, finish, lang, leave, override, toString, visitEdge, visitEdgeNoOverride
public InnerClassRemover(Job job, TypeSystem ts, NodeFactory nf)
protected ContextVisitor localClassRemover()
public Node override(Node parent, Node n)
NodeVisitor
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
.
override
in class HaltingVisitor
parent
- The parent of n
,
null
if n
has no parent.n
- The root of the subtree to be traversed.null
if it
is to continue.protected Node leaveCall(Node old, Node n, NodeVisitor v) throws SemanticException
leaveCall
in class ErrorHandlingVisitor
SemanticException
public Expr fixQualifier(Expr e, LocalInstance li)
public static ClassDecl addFieldsToClass(ClassDecl cd, java.util.List<FieldInstance> newFields, TypeSystem ts, NodeFactory nf, boolean rewriteMembers)
public static <K,V> V hashGet(java.util.Map<K,V> map, K k, V v)