// $Id: FlatteningTraversal.java,v 1.1.1.1 1999/12/05 22:19:51 mpp Exp $

package IR2;

import java.util.*;

public class FlatteningTraversal extends Traversal {

  private Vector v;

  // A better implementation could use threads to return each node
  // as it is visited.  This is nice and simple, though.
  public Enumeration flatten(Traversable t) {
    v = new Vector();
    traverse(t);
    return v.elements();
  }

  public boolean visit(Traversable t) {
    v.addElement(t);
    return true;
  }

}
