001package daikon.diff;
002
003import java.util.Iterator;
004
005/**
006 * Provides default methods which visit each node in the tree in depth-first order. Other visitors
007 * may extend this class.
008 */
009public class DepthFirstVisitor implements Visitor {
010
011  @Override
012  public void visit(RootNode node) {
013    for (Iterator<PptNode> i = node.children(); i.hasNext(); ) {
014      i.next().accept(this);
015    }
016  }
017
018  @Override
019  public void visit(PptNode node) {
020    for (Iterator<InvNode> i = node.children(); i.hasNext(); ) {
021      i.next().accept(this);
022    }
023  }
024
025  @Override
026  public void visit(InvNode node) {}
027}