|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object soot.Hierarchy
public class Hierarchy
Represents the class hierarchy. It is closely linked to a Scene, and must be recreated if the Scene changes. The general convention is that if a method name contains "Including", then it returns the non-strict result; otherwise, it does a strict query (e.g. strict superclass).
Constructor Summary | |
---|---|
Hierarchy()
Constructs a hierarchy from the current scene. |
Method Summary | |
---|---|
List |
getDirectImplementersOf(SootClass i)
Returns a list of direct implementers of c, excluding itself. |
List |
getDirectSubclassesOf(SootClass c)
Returns a list of direct subclasses of c, excluding c. |
List<SootClass> |
getDirectSubclassesOfIncluding(SootClass c)
Returns a list of direct subclasses of c, including c. |
List |
getDirectSubinterfacesOf(SootClass c)
Returns a list of direct subinterfaces of c. |
List<SootClass> |
getDirectSubinterfacesOfIncluding(SootClass c)
Returns a list of direct subinterfaces of c, including itself. |
List |
getDirectSuperclassesOf(SootClass c)
Returns a list of direct superclasses of c, excluding c. |
List |
getDirectSuperinterfacesOf(SootClass c)
Returns a list of direct superinterfaces of c. |
List<SootClass> |
getImplementersOf(SootClass i)
Returns a list of implementers of c, excluding itself. |
SootClass |
getLeastCommonSuperclassOf(SootClass c1,
SootClass c2)
Returns the most specific type which is an ancestor of both c1 and c2. |
List<SootClass> |
getSubclassesOf(SootClass c)
Returns a list of subclasses of c, excluding itself. |
List<SootClass> |
getSubclassesOfIncluding(SootClass c)
Returns a list of subclasses of c, including itself. |
List<SootClass> |
getSubinterfacesOf(SootClass c)
Returns a list of subinterfaces of c, excluding itself. |
List<SootClass> |
getSubinterfacesOfIncluding(SootClass c)
Returns a list of subinterfaces of c, including itself. |
List<SootClass> |
getSuperclassesOf(SootClass c)
Returns a list of strict superclasses of c, starting with c's parent. |
List<SootClass> |
getSuperclassesOfIncluding(SootClass c)
Returns a list of superclasses of c, including itself. |
List |
getSuperinterfacesOf(SootClass c)
Returns a list of superinterfaces of c, excluding itself. |
boolean |
isClassDirectSubclassOf(SootClass c,
SootClass c2)
Returns true if child is a direct subclass of possibleParent. |
boolean |
isClassSubclassOf(SootClass child,
SootClass possibleParent)
Returns true if child is a subclass of possibleParent. |
boolean |
isClassSubclassOfIncluding(SootClass child,
SootClass possibleParent)
Returns true if child is, or is a subclass of, possibleParent. |
boolean |
isClassSuperclassOf(SootClass parent,
SootClass possibleChild)
Returns true if child is a superclass of possibleParent. |
boolean |
isClassSuperclassOfIncluding(SootClass parent,
SootClass possibleChild)
Returns true if parent is, or is a superclass of, possibleChild. |
boolean |
isInterfaceDirectSubinterfaceOf(SootClass child,
SootClass possibleParent)
Returns true if child is a direct subinterface of possibleParent. |
boolean |
isInterfaceSubinterfaceOf(SootClass child,
SootClass possibleParent)
Returns true if child is a subinterface of possibleParent. |
boolean |
isVisible(SootClass from,
SootMethod m)
Returns true if the method m is visible from code in the class from. |
List |
resolveAbstractDispatch(List classes,
SootMethod m)
Returns a list of possible targets for the given method and set of receiver types. |
List |
resolveAbstractDispatch(SootClass c,
SootMethod m)
Given an abstract dispatch to an object of type c and a method m, gives a list of possible receiver methods. |
List |
resolveConcreteDispatch(List classes,
SootMethod m)
Given a set of definite receiver types, returns a list of possible targets. |
SootMethod |
resolveConcreteDispatch(SootClass concreteType,
SootMethod m)
Given an object of actual type C (o = new C()), returns the method which will be called on an o.f() invocation. |
SootMethod |
resolveSpecialDispatch(SpecialInvokeExpr ie,
SootMethod container)
Returns the target for the given SpecialInvokeExpr. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Hierarchy()
Method Detail |
---|
public List<SootClass> getSubclassesOfIncluding(SootClass c)
public List<SootClass> getSubclassesOf(SootClass c)
public List<SootClass> getSuperclassesOfIncluding(SootClass c)
public List<SootClass> getSuperclassesOf(SootClass c)
public List<SootClass> getSubinterfacesOfIncluding(SootClass c)
public List<SootClass> getSubinterfacesOf(SootClass c)
public List getSuperinterfacesOf(SootClass c)
public List getDirectSuperclassesOf(SootClass c)
public List getDirectSubclassesOf(SootClass c)
public List<SootClass> getDirectSubclassesOfIncluding(SootClass c)
public List getDirectSuperinterfacesOf(SootClass c)
public List getDirectSubinterfacesOf(SootClass c)
public List<SootClass> getDirectSubinterfacesOfIncluding(SootClass c)
public List getDirectImplementersOf(SootClass i)
public List<SootClass> getImplementersOf(SootClass i)
public boolean isClassSubclassOf(SootClass child, SootClass possibleParent)
public boolean isClassSubclassOfIncluding(SootClass child, SootClass possibleParent)
public boolean isClassDirectSubclassOf(SootClass c, SootClass c2)
public boolean isClassSuperclassOf(SootClass parent, SootClass possibleChild)
public boolean isClassSuperclassOfIncluding(SootClass parent, SootClass possibleChild)
public boolean isInterfaceSubinterfaceOf(SootClass child, SootClass possibleParent)
public boolean isInterfaceDirectSubinterfaceOf(SootClass child, SootClass possibleParent)
public SootClass getLeastCommonSuperclassOf(SootClass c1, SootClass c2)
public boolean isVisible(SootClass from, SootMethod m)
public SootMethod resolveConcreteDispatch(SootClass concreteType, SootMethod m)
public List resolveConcreteDispatch(List classes, SootMethod m)
public List resolveAbstractDispatch(SootClass c, SootMethod m)
public List resolveAbstractDispatch(List classes, SootMethod m)
public SootMethod resolveSpecialDispatch(SpecialInvokeExpr ie, SootMethod container)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |