Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Compil3r.BytecodeAnalysis
Class ControlFlowGraph.RPOBasicBlockIterator  view ControlFlowGraph.RPOBasicBlockIterator download ControlFlowGraph.RPOBasicBlockIterator.java

java.lang.Object
  extended byCompil3r.BytecodeAnalysis.ControlFlowGraph.RPOBasicBlockIterator
All Implemented Interfaces:
ControlFlowGraph.BasicBlockIterator, java.util.Iterator, java.util.ListIterator
Enclosing class:
ControlFlowGraph

public static class ControlFlowGraph.RPOBasicBlockIterator
extends java.lang.Object
implements ControlFlowGraph.BasicBlockIterator


Field Summary
private  int index
           
private  BasicBlock[] rpo
           
 
Constructor Summary
(package private) ControlFlowGraph.RPOBasicBlockIterator(BasicBlock[] bbs, BasicBlock start_bb)
           
 
Method Summary
 void add(java.lang.Object o)
          Insert an element into the list at the current position of the iterator (optional operation).
 boolean hasNext()
          Tests whether there are elements remaining in the list in the forward direction.
 boolean hasPrevious()
          Tests whether there are elements remaining in the list in the reverse direction.
 void jumpToEnd()
           
 java.lang.Object next()
          Obtain the next element in the list in the forward direction.
 BasicBlock nextBB()
           
 int nextIndex()
          Find the index of the element that would be returned by a call to next.
 java.lang.Object previous()
          Obtain the next element in the list in the reverse direction.
 BasicBlock previousBB()
           
 int previousIndex()
          Find the index of the element that would be returned by a call to previous.
 void remove()
          Remove from the list the element last returned by a call to next or previous (optional operation).
 void set(java.lang.Object o)
          Replace the element last returned by a call to next or previous with a given object (optional operation).
 java.lang.String toString()
          Convert this Object to a human-readable String.
private  void visit(boolean[] visited, BasicBlock b)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

rpo

private BasicBlock[] rpo

index

private int index
Constructor Detail

ControlFlowGraph.RPOBasicBlockIterator

ControlFlowGraph.RPOBasicBlockIterator(BasicBlock[] bbs,
                                       BasicBlock start_bb)
Method Detail

visit

private void visit(boolean[] visited,
                   BasicBlock b)

hasNext

public boolean hasNext()
Description copied from interface: java.util.ListIterator
Tests whether there are elements remaining in the list in the forward direction. In other words, next() will not fail with a NoSuchElementException.

Specified by:
hasNext in interface java.util.ListIterator

nextBB

public BasicBlock nextBB()
Specified by:
nextBB in interface ControlFlowGraph.BasicBlockIterator

next

public java.lang.Object next()
Description copied from interface: java.util.ListIterator
Obtain the next element in the list in the forward direction. Repeated calls to next may be used to iterate over the entire list, or calls to next and previous may be used together to go forwards and backwards. Alternating calls to next and previous will return the same element.

Specified by:
next in interface java.util.ListIterator

nextIndex

public int nextIndex()
Description copied from interface: java.util.ListIterator
Find the index of the element that would be returned by a call to next. If hasNext() returns false, this returns the list size.

Specified by:
nextIndex in interface java.util.ListIterator

hasPrevious

public boolean hasPrevious()
Description copied from interface: java.util.ListIterator
Tests whether there are elements remaining in the list in the reverse direction. In other words, previous() will not fail with a NoSuchElementException.

Specified by:
hasPrevious in interface java.util.ListIterator

previousBB

public BasicBlock previousBB()
Specified by:
previousBB in interface ControlFlowGraph.BasicBlockIterator

previous

public java.lang.Object previous()
Description copied from interface: java.util.ListIterator
Obtain the next element in the list in the reverse direction. Repeated calls to previous may be used to iterate backwards over the entire list, or calls to next and previous may be used together to go forwards and backwards. Alternating calls to next and previous will return the same element.

Specified by:
previous in interface java.util.ListIterator

previousIndex

public int previousIndex()
Description copied from interface: java.util.ListIterator
Find the index of the element that would be returned by a call to previous. If hasPrevious() returns false, this returns -1.

Specified by:
previousIndex in interface java.util.ListIterator

remove

public void remove()
Description copied from interface: java.util.ListIterator
Remove from the list the element last returned by a call to next or previous (optional operation). This method may only be called if neither add nor remove have been called since the last call to next or previous.

Specified by:
remove in interface java.util.ListIterator

add

public void add(java.lang.Object o)
Description copied from interface: java.util.ListIterator
Insert an element into the list at the current position of the iterator (optional operation). The element is inserted in between the element that would be returned by previous and the element that would be returned by next. After the insertion, a subsequent call to next is unaffected, but a call to previous returns the item that was added. The values returned by nextIndex() and previousIndex() are incremented.

Specified by:
add in interface java.util.ListIterator

set

public void set(java.lang.Object o)
Description copied from interface: java.util.ListIterator
Replace the element last returned by a call to next or previous with a given object (optional operation). This method may only be called if neither add nor remove have been called since the last call to next or previous.

Specified by:
set in interface java.util.ListIterator

jumpToEnd

public void jumpToEnd()

toString

public java.lang.String toString()
Description copied from class: java.lang.Object
Convert this Object to a human-readable String. There are no limits placed on how long this String should be or what it should contain. We suggest you make it as intuitive as possible to be able to place it into System.out.println() 55 and such.

It is typical, but not required, to ensure that this method never completes abruptly with a java.lang.RuntimeException.

This method will be called when performing string concatenation with this object. If the result is null, string concatenation will instead use "null".

The default implementation returns getClass().getName() + "@" + Integer.toHexString(hashCode()).