soot.jimple.toolkits.invoke
Class VTATypeGraph2

java.lang.Object
  |
  +--soot.toolkits.graph.HashMutableDirectedGraph
        |
        +--soot.toolkits.graph.MemoryEfficientGraph
              |
              +--soot.jimple.toolkits.invoke.VTATypeGraph2
All Implemented Interfaces:
DirectedGraph, MutableDirectedGraph, TypeGraph

public class VTATypeGraph2
extends MemoryEfficientGraph
implements TypeGraph

A graph where the nodes are types in the analysed program; edges indicate that there is assignment between two types.


Field Summary
 
Fields inherited from class soot.toolkits.graph.HashMutableDirectedGraph
heads, nodeToPreds, nodeToSuccs, tails
 
Constructor Summary
VTATypeGraph2(InvokeGraph ig)
           
 
Method Summary
 void addEdge(TypeGraphNode2 src, TypeGraphNode2 dst)
           
 void addNode(TypeGraphNode2 node)
           
 void addNode(TypeGraphNode2 node, Type decltype)
           
 java.lang.Object getDeclaredTypeOf(TypeGraphNode2 node)
           
 TypeSet2 getReachingTypesOf(java.lang.Object node)
           
static boolean isRefLikeType(Type t)
          Returns true if t is RefType or ArrayType.
 int numEdges()
           
 
Methods inherited from class soot.toolkits.graph.MemoryEfficientGraph
addEdge, addNode, removeEdge, removeNode
 
Methods inherited from class soot.toolkits.graph.HashMutableDirectedGraph
clearAll, clone, containsEdge, containsNode, getHeads, getNodes, getPredsOf, getSuccsOf, getTails, iterator, printGraph, size
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface soot.toolkits.graph.MutableDirectedGraph
addEdge, addNode, containsEdge, containsNode, getNodes, removeEdge, removeNode
 
Methods inherited from interface soot.toolkits.graph.DirectedGraph
getHeads, getPredsOf, getSuccsOf, getTails, iterator, size
 

Constructor Detail

VTATypeGraph2

public VTATypeGraph2(InvokeGraph ig)
Method Detail

addNode

public void addNode(TypeGraphNode2 node)

addEdge

public void addEdge(TypeGraphNode2 src,
                    TypeGraphNode2 dst)

addNode

public void addNode(TypeGraphNode2 node,
                    Type decltype)

getReachingTypesOf

public TypeSet2 getReachingTypesOf(java.lang.Object node)

getDeclaredTypeOf

public java.lang.Object getDeclaredTypeOf(TypeGraphNode2 node)

numEdges

public int numEdges()

isRefLikeType

public static boolean isRefLikeType(Type t)
Returns true if t is RefType or ArrayType.