soot.toolkits.graph
Class SlowPseudoTopologicalOrderer

java.lang.Object
  |
  +--soot.toolkits.graph.SlowPseudoTopologicalOrderer

public class SlowPseudoTopologicalOrderer
extends java.lang.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(Singletons.Global g)
           
 
Method Summary
 boolean isReverseOrder()
          Check the ordering for the orderer.
 java.util.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
Constructor Detail

SlowPseudoTopologicalOrderer

public SlowPseudoTopologicalOrderer(Singletons.Global g)

SlowPseudoTopologicalOrderer

public SlowPseudoTopologicalOrderer()

SlowPseudoTopologicalOrderer

public SlowPseudoTopologicalOrderer(boolean isReversed)
Method Detail

v

public static SlowPseudoTopologicalOrderer v()

newList

public java.util.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.
Parameters:
isReverse - specify if we want reverse pseudo-topological ordering, or not.

isReverseOrder

public boolean isReverseOrder()
Check the ordering for the orderer.
Returns:
true if we have reverse pseudo-topological ordering, false otherwise.