soot.toolkits.graph
Class SlowPseudoTopologicalOrderer

java.lang.Object
  extended bysoot.toolkits.graph.SlowPseudoTopologicalOrderer

public class SlowPseudoTopologicalOrderer
extends Object

Provide the pseudo topological order of a graph's nodes. It has same functionality as PseudoTopologicalOrderer; however, this class considers the order of successors. It runs slower but more precise. Currently it was only used by ArrayBoundsCheckerAnalysis to reduce the iteration numbers.


Field Summary
static boolean REVERSE
           
 
Constructor Summary
SlowPseudoTopologicalOrderer()
           
SlowPseudoTopologicalOrderer(boolean isReversed)
           
SlowPseudoTopologicalOrderer(soot.Singletons.Global g)
           
 
Method Summary
 boolean isReverseOrder()
          Check the ordering for the orderer.
 List newList(DirectedGraph g)
           
 void setReverseOrder(boolean isReversed)
          Set the ordering for the orderer.
static SlowPseudoTopologicalOrderer v()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

REVERSE

public static final boolean REVERSE
See Also:
Constant Field Values
Constructor Detail

SlowPseudoTopologicalOrderer

public SlowPseudoTopologicalOrderer(soot.Singletons.Global g)

SlowPseudoTopologicalOrderer

public SlowPseudoTopologicalOrderer()

SlowPseudoTopologicalOrderer

public SlowPseudoTopologicalOrderer(boolean isReversed)
Method Detail

v

public static SlowPseudoTopologicalOrderer v()

newList

public List newList(DirectedGraph g)
Parameters:
g - a DirectedGraph instance whose nodes we which to order.
Returns:
a pseudo-topologically ordered list of the graph's nodes.

setReverseOrder

public void setReverseOrder(boolean isReversed)
Set the ordering for the orderer.


isReverseOrder

public boolean isReverseOrder()
Check the ordering for the orderer.

Returns:
true if we have reverse pseudo-topological ordering, false otherwise.