koala.dynamicjava.tree.visitor
Class DepthFirstVisitor
java.lang.Object
koala.dynamicjava.tree.visitor.DepthFirstVisitor
- All Implemented Interfaces:
- Runnable1<Node>, Visitor<java.lang.Void>
public class DepthFirstVisitor
- extends java.lang.Object
- implements Visitor<java.lang.Void>, Runnable1<Node>
A visitor that traverses an AST in depth-first order. Clients should invoke run() rather than
acceptVisitor() to invoke instances.
To design a visitor that may perform an action or prune the traversal for each node, override
run(), which by default just calls n.acceptVisitor(this). To customize behavior for
specific node types, override the appropriate visit() method, which by default simply invokes
a recur() method for each subtree.
It is very important that changes to the AST class declarations be reflected here (otherwise, for example,
a newly-added field will be silently ignored by the traversal).
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DepthFirstVisitor
public DepthFirstVisitor()
run
public void run(Node n)
- Specified by:
run in interface Runnable1<Node>
recur
protected void recur(Node n)
recur
protected void recur(Node... ns)
recur
protected void recur(java.lang.Iterable<? extends Node> l)
recur
protected void recur(Option<? extends Node> opt)
recurOnLists
protected void recurOnLists(java.lang.Iterable<? extends java.lang.Iterable<? extends Node>> l)
recurOnList
protected void recurOnList(Option<? extends java.lang.Iterable<? extends Node>> opt)
recurOnPairSeconds
protected void recurOnPairSeconds(java.lang.Iterable<? extends Pair<?,? extends Node>> l)
visit
public java.lang.Void visit(CompilationUnit node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(PackageDeclaration node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ImportDeclaration node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(EmptyStatement node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ExpressionStatement node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(WhileStatement node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ForStatement node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ForEachStatement node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(DoStatement node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(SwitchStatement node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(SwitchBlock node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(LabeledStatement node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(BreakStatement node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(TryStatement node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(CatchStatement node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ThrowStatement node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ReturnStatement node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(SynchronizedStatement node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ContinueStatement node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(IfThenStatement node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(IfThenElseStatement node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(AssertStatement node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(Literal node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ThisExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(AmbiguousName node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(VariableAccess node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(SimpleFieldAccess node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ObjectFieldAccess node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(StaticFieldAccess node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(SuperFieldAccess node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ArrayAccess node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ObjectMethodCall node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(SimpleMethodCall node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(StaticMethodCall node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ConstructorCall node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(SuperMethodCall node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(BooleanTypeName node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ByteTypeName node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ShortTypeName node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(CharTypeName node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(IntTypeName node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(LongTypeName node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(FloatTypeName node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(DoubleTypeName node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(VoidTypeName node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ReferenceTypeName node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(GenericReferenceTypeName node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ArrayTypeName node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(HookTypeName node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(TypeExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(PostIncrement node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(PostDecrement node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(PreIncrement node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(PreDecrement node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ArrayInitializer node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ArrayAllocation node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(SimpleAllocation node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(AnonymousAllocation node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(InnerAllocation node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(AnonymousInnerAllocation node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(CastExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(NotExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ComplementExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(PlusExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(MinusExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(MultiplyExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(DivideExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(RemainderExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(AddExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(SubtractExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ShiftLeftExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ShiftRightExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(UnsignedShiftRightExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(LessExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(GreaterExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(LessOrEqualExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(GreaterOrEqualExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(InstanceOfExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(EqualExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(NotEqualExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(BitAndExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ExclusiveOrExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(BitOrExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(AndExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(OrExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ConditionalExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(SimpleAssignExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(MultiplyAssignExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(DivideAssignExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(RemainderAssignExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(AddAssignExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(SubtractAssignExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ShiftLeftAssignExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ShiftRightAssignExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(UnsignedShiftRightAssignExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(BitAndAssignExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ExclusiveOrAssignExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(BitOrAssignExpression node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(BlockStatement node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ClassDeclaration node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(InterfaceDeclaration node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ConstructorDeclaration node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(MethodDeclaration node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(FormalParameter node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(FieldDeclaration node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(VariableDeclaration node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(EnumDeclaration.EnumConstant node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ClassInitializer node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(InstanceInitializer node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(ModifierSet node)
- Specified by:
visit in interface Visitor<java.lang.Void>
visit
public java.lang.Void visit(Annotation node)
- Specified by:
visit in interface Visitor<java.lang.Void>