|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--harpoon.Analysis.ClassHierarchy | +--harpoon.Analysis.Quads.QuadClassHierarchy
QuadClassHierarchy
computes a ClassHierarchy
of classes possibly usable starting from some root method using
quad form.
Native methods are not analyzed.
Constructor Summary | |
QuadClassHierarchy(Linker linker,
Collection roots,
HCodeFactory hcf)
Creates a ClassHierarchy of all classes
reachable/usable from HMethod s in the roots
Collection . |
Method Summary | |
Set |
callableMethods()
Returns set of all callable methods. |
Set |
children(HClass c)
Returns all usable/reachable children of an HClass . |
Set |
classes()
Returns the set of all reachable/usable classes. |
Set |
instantiatedClasses()
Returns the set of all classes instantiated. |
String |
toString()
Returns a human-readable representation of the hierarchy. |
Methods inherited from class harpoon.Analysis.ClassHierarchy |
overrides, overrides, parents |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public QuadClassHierarchy(Linker linker, Collection roots, HCodeFactory hcf)
ClassHierarchy
of all classes
reachable/usable from HMethod
s in the roots
Collection
. HClass
es included in
roots
are guaranteed to be included in the
classes()
set of this class hierarchy, but they may
not be included in the instantiatedClasses
set
(if an instantiation instruction is not found for them). To
explicitly include an instantiated class in the hierarchy, add
a constructor or non-static method of that class to the
roots
Collection
. hcf
must be a code factory that generates quad form.
Method Detail |
public Set callableMethods()
callableMethods
in class ClassHierarchy
Set
of HMethod
s.public Set children(HClass c)
ClassHierarchy
HClass
.
For an interface class c
, the children include all
reachable classes which implement it as well as any reachable
interfaces which extend it. For a non-interface class, children
are all reachable subclasses.
children
in class ClassHierarchy
Set
of HClass
es.public Set classes()
ClassHierarchy
classes
in class ClassHierarchy
Set
of HClass
es.public Set instantiatedClasses()
instantiatedClasses
in class ClassHierarchy
public String toString()
toString
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |