Package soot.jimple.spark.internal
Class TypeManager
- java.lang.Object
-
- soot.jimple.spark.internal.TypeManager
-
public final class TypeManager extends Object
A map of bit-vectors representing subtype relationships.- Author:
- Ondrej Lhotak, Hamid A. Toussi (hamid2c@gmail.com): Making TypeManager faster by making type masks during a depth-first-traversal on the class hierarchy. First, type-masks of the leaves of Class Hierarchy are created and then the type mask of each type T is obtained by ORing type maks of Types sub-types and setting the bit-numbers associated with Allocation Nodes of type T. The type-mask of each interface is achieved by ORing the type-masks of its top-level concrete implementers. In fact, Reference types are visited in reversed-topological-order.
-
-
Field Summary
Fields Modifier and Type Field Description protected QueueReader<AllocNode>allocNodeListenerprotected Supplier<FastHierarchy>fhprotected PAGpagprotected RefTypertCloneableprotected RefTypertObjectprotected RefTypertSerializable
-
Constructor Summary
Constructors Constructor Description TypeManager(PAG pag)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancastNeverFails(Type src, Type dst)voidclearTypeMask()BitVectorget(Type type)FastHierarchygetFastHierarchy()static booleanisUnresolved(Type type)voidmakeTypeMask()voidsetFastHierarchy(Supplier<FastHierarchy> fh)
-
-
-
Field Detail
-
rtObject
protected final RefType rtObject
-
rtSerializable
protected final RefType rtSerializable
-
rtCloneable
protected final RefType rtCloneable
-
fh
protected Supplier<FastHierarchy> fh
-
pag
protected PAG pag
-
allocNodeListener
protected QueueReader<AllocNode> allocNodeListener
-
-
Constructor Detail
-
TypeManager
public TypeManager(PAG pag)
-
-
Method Detail
-
isUnresolved
public static boolean isUnresolved(Type type)
-
clearTypeMask
public final void clearTypeMask()
-
makeTypeMask
public final void makeTypeMask()
-
setFastHierarchy
public void setFastHierarchy(Supplier<FastHierarchy> fh)
-
getFastHierarchy
public FastHierarchy getFastHierarchy()
-
-