koala.dynamicjava.tree.visitor
Class DepthFirstVisitor
java.lang.Object
koala.dynamicjava.tree.visitor.DepthFirstVisitor
- All Implemented Interfaces:
- Runnable1<Node>, Visitor<Void>
public class DepthFirstVisitor
- extends Object
- implements Visitor<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(Iterable<? extends Node> l)
recur
protected void recur(Option<? extends Node> opt)
recurOnLists
protected void recurOnLists(Iterable<? extends Iterable<? extends Node>> l)
recurOnList
protected void recurOnList(Option<? extends Iterable<? extends Node>> opt)
recurOnPairSeconds
protected void recurOnPairSeconds(Iterable<? extends Pair<?,? extends Node>> l)
visit
public Void visit(CompilationUnit node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(PackageDeclaration node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ImportDeclaration node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(EmptyStatement node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ExpressionStatement node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(WhileStatement node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ForStatement node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ForEachStatement node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(DoStatement node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(SwitchStatement node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(SwitchBlock node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(LabeledStatement node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(BreakStatement node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(TryStatement node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(CatchStatement node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ThrowStatement node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ReturnStatement node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(SynchronizedStatement node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ContinueStatement node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(IfThenStatement node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(IfThenElseStatement node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(AssertStatement node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(Literal node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ThisExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(AmbiguousName node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(VariableAccess node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(SimpleFieldAccess node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ObjectFieldAccess node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(StaticFieldAccess node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(SuperFieldAccess node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ArrayAccess node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ObjectMethodCall node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(SimpleMethodCall node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(StaticMethodCall node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ConstructorCall node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(SuperMethodCall node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(BooleanTypeName node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ByteTypeName node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ShortTypeName node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(CharTypeName node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(IntTypeName node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(LongTypeName node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(FloatTypeName node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(DoubleTypeName node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(VoidTypeName node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ReferenceTypeName node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(GenericReferenceTypeName node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ArrayTypeName node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(HookTypeName node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(TypeExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(PostIncrement node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(PostDecrement node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(PreIncrement node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(PreDecrement node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ArrayInitializer node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ArrayAllocation node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(SimpleAllocation node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(AnonymousAllocation node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(InnerAllocation node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(AnonymousInnerAllocation node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(CastExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(NotExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ComplementExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(PlusExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(MinusExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(MultiplyExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(DivideExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(RemainderExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(AddExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(SubtractExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ShiftLeftExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ShiftRightExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(UnsignedShiftRightExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(LessExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(GreaterExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(LessOrEqualExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(GreaterOrEqualExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(InstanceOfExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(EqualExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(NotEqualExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(BitAndExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ExclusiveOrExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(BitOrExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(AndExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(OrExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ConditionalExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(SimpleAssignExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(MultiplyAssignExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(DivideAssignExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(RemainderAssignExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(AddAssignExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(SubtractAssignExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ShiftLeftAssignExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ShiftRightAssignExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(UnsignedShiftRightAssignExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(BitAndAssignExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ExclusiveOrAssignExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(BitOrAssignExpression node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(BlockStatement node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ClassDeclaration node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(InterfaceDeclaration node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ConstructorDeclaration node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(MethodDeclaration node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(FormalParameter node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(FieldDeclaration node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(VariableDeclaration node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(EnumDeclaration.EnumConstant node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ClassInitializer node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(InstanceInitializer node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(ModifierSet node)
- Specified by:
visit in interface Visitor<Void>
visit
public Void visit(Annotation node)
- Specified by:
visit in interface Visitor<Void>