|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectpolyglot.visit.NodeVisitor
polyglot.visit.PruningVisitor
public class PruningVisitor
A PruningVisitor is used to prune the traversal of the AST at a particular node. Returning a PruningVisitor from the NodeVisitor.enter method ensures no children will be visited.
Constructor Summary | |
---|---|
PruningVisitor()
|
Method Summary | |
---|---|
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.NodeVisitor |
---|
begin, copy, enter, enter, finish, finish, leave, leave, override, toString, visitEdge, visitEdgeNoOverride |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public PruningVisitor()
Method Detail |
---|
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 NodeVisitor
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.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |