for (Enumeration enum = cfg.nodes(); enum.hasMoreElements();) { OPT_BasicBlock block = (OPT_BasicBlock)enum.nextElement();
for (Enumeration bbEnum = cfg.nodes(); bbEnum.hasMoreElements();) { OPT_BasicBlock block = (OPT_BasicBlock)bbEnum.nextElement();
  private void step1() {    // allocate the vertex array, one element for each basic block, starting    // at 1    vertex = new OPT_BasicBlock[cfg.numberOfNodes() + 1];    DFSCounter = 0;    if (DEBUG) { System.out.println("Initializing blocks:"); }    // Initialize each block with an empty set of predecessors and    // a 0 for a semidominator    for (Enumeration enum = cfg.nodes(); enum.hasMoreElements();) {      OPT_BasicBlock block = (OPT_BasicBlock)enum.nextElement();      // We don't compute a result for the exit node in the forward direction      if (!forward || !block.isExit()) {        block.scratchObject = new OPT_LTDominatorInfo(block);        if (DEBUG) {          printNextNodes(block);        }      }    }