soot.toolkits.graph
Class SlowPseudoTopologicalOrderer

java.lang.Object
  extended by soot.toolkits.graph.SlowPseudoTopologicalOrderer
All Implemented Interfaces:
Orderer

public class SlowPseudoTopologicalOrderer
extends Object
implements Orderer

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.


Constructor Summary
SlowPseudoTopologicalOrderer()
           
SlowPseudoTopologicalOrderer(boolean isReversed)
           
SlowPseudoTopologicalOrderer(Singletons.Global g)
           
 
Method Summary
 boolean isReverseOrder()
          Deprecated. use #newList(DirectedGraph, boolean)) instead
 List newList(DirectedGraph g)
          Deprecated. use #newList(DirectedGraph, boolean)) instead
 List newList(DirectedGraph g, boolean reverse)
          Builds an order for a directed graph.
 void setReverseOrder(boolean isReversed)
          Deprecated. use #newList(DirectedGraph, boolean)) instead
static SlowPseudoTopologicalOrderer v()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 List newList(DirectedGraph g,
                    boolean reverse)
Builds an order for a directed graph. The order is represented by the returned list, i.e. is a node was assigned number i in the order, it will be in the ith position of the returned list.

Specified by:
newList in interface Orderer
Parameters:
g - a DirectedGraph instance whose nodes we wish to order
reverse - true to compute the reverse order
Returns:
a somehow ordered list of the graph's nodes

newList

public List newList(DirectedGraph g)
Deprecated. use #newList(DirectedGraph, boolean)) instead

Parameters:
g - a DirectedGraph instance whose nodes we wish to order.
Returns:
a pseudo-topologically ordered list of the graph's nodes.

setReverseOrder

public void setReverseOrder(boolean isReversed)
Deprecated. use #newList(DirectedGraph, boolean)) instead

Set the ordering for the orderer.

Parameters:
isReverse - specify if we want reverse pseudo-topological ordering, or not.

isReverseOrder

public boolean isReverseOrder()
Deprecated. use #newList(DirectedGraph, boolean)) instead

Check the ordering for the orderer.

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