soot.shimple.toolkits.graph
Class SimpleGlobalValueNumberer

java.lang.Object
  extended by soot.shimple.toolkits.graph.SimpleGlobalValueNumberer
All Implemented Interfaces:
GlobalValueNumberer

public class SimpleGlobalValueNumberer
extends Object
implements GlobalValueNumberer


Nested Class Summary
protected  class SimpleGlobalValueNumberer.Partition
           
 
Field Summary
protected  BlockGraph cfg
           
protected  int currentPartitionNumber
           
protected  List<SimpleGlobalValueNumberer.Partition> newPartitions
           
protected  Map<ValueGraph.Node,SimpleGlobalValueNumberer.Partition> nodeToPartition
           
protected  Set<SimpleGlobalValueNumberer.Partition> partitions
           
protected  ValueGraph vg
           
 
Constructor Summary
SimpleGlobalValueNumberer(BlockGraph cfg)
           
 
Method Summary
 boolean areEqual(Local local1, Local local2)
           
protected  boolean childrenAreInSamePartition(ValueGraph.Node node1, ValueGraph.Node node2)
           
 int getGlobalValueNumber(Local local)
           
protected  void initPartition()
           
protected  void iterPartition()
           
static void main(String[] args)
           
protected  void processPartition(SimpleGlobalValueNumberer.Partition partition)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

cfg

protected BlockGraph cfg

vg

protected ValueGraph vg

partitions

protected Set<SimpleGlobalValueNumberer.Partition> partitions

nodeToPartition

protected Map<ValueGraph.Node,SimpleGlobalValueNumberer.Partition> nodeToPartition

currentPartitionNumber

protected int currentPartitionNumber

newPartitions

protected List<SimpleGlobalValueNumberer.Partition> newPartitions
Constructor Detail

SimpleGlobalValueNumberer

public SimpleGlobalValueNumberer(BlockGraph cfg)
Method Detail

main

public static void main(String[] args)

getGlobalValueNumber

public int getGlobalValueNumber(Local local)
Specified by:
getGlobalValueNumber in interface GlobalValueNumberer

areEqual

public boolean areEqual(Local local1,
                        Local local2)
Specified by:
areEqual in interface GlobalValueNumberer

initPartition

protected void initPartition()

iterPartition

protected void iterPartition()

processPartition

protected void processPartition(SimpleGlobalValueNumberer.Partition partition)

childrenAreInSamePartition

protected boolean childrenAreInSamePartition(ValueGraph.Node node1,
                                             ValueGraph.Node node2)

toString

public String toString()
Overrides:
toString in class Object