public abstract class HaltingVisitor extends NodeVisitor
bypass(Node n) to
have the visitor skip n and its children when recursing through the AST.| Modifier and Type | Field and Description |
|---|---|
protected java.util.Collection<Node> |
bypass |
protected Node |
bypassParent |
| Modifier | Constructor and Description |
|---|---|
protected |
HaltingVisitor(Lang lang) |
| Modifier and Type | Method and Description |
|---|---|
HaltingVisitor |
bypass(java.util.Collection<? extends Node> c)
Return a new visitor that will bypass all nodes in collection c.
|
HaltingVisitor |
bypass(Node n)
Return a new visitor that bypasses node n during visit children.
|
HaltingVisitor |
bypassChildren(Node n)
Return a new visitor that will bypass all children of node n.
|
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. |
HaltingVisitor |
visitChildren()
Return a new visitor that will visit all children.
|
protected Node bypassParent
protected java.util.Collection<Node> bypass
protected HaltingVisitor(Lang lang)
public HaltingVisitor bypassChildren(Node n)
public HaltingVisitor visitChildren()
public HaltingVisitor bypass(Node n)
public HaltingVisitor bypass(java.util.Collection<? extends Node> c)
public Node override(Node parent, Node n)
NodeVisitorn, 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 NodeVisitorparent - 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.