|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jikesrvm.compilers.opt.inlining.InterfaceHierarchy
public class InterfaceHierarchy
This class holds, for each interface, the set of initialized classes that implement the interface.
Field Summary | |
---|---|
private static ImmutableEntryHashMapRVM<RVMClass,ImmutableEntryHashSetRVM<RVMClass>> |
interfaceMapping
a mapping from RVMClass (an interface) to a set of classes that claim to implement this interface. |
Constructor Summary | |
---|---|
InterfaceHierarchy()
|
Method Summary | |
---|---|
private static ImmutableEntryHashSetRVM<RVMClass> |
allImplementors(RVMClass I)
Return the set of all classes known to implement interface I. |
private static ImmutableEntryHashSetRVM<RVMClass> |
allSubClasses(RVMClass C)
Return the set of all classes known to extend C |
private static ImmutableEntryHashSetRVM<RVMClass> |
findOrCreateSet(RVMClass I)
Return the set of classes that implement a given interface. |
static RVMMethod |
getUniqueImplementation(RVMMethod foo)
If, in the current class hierarchy, there is exactly one method that defines the interface method foo, then return the unique implementation. |
private static void |
noteImplements(RVMClass c,
RVMClass I)
Note that class c implements interface I; |
static void |
notifyClassInitialized(RVMClass c)
Notify this dictionary that a new class has been initialized. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final ImmutableEntryHashMapRVM<RVMClass,ImmutableEntryHashSetRVM<RVMClass>> interfaceMapping
Constructor Detail |
---|
public InterfaceHierarchy()
Method Detail |
---|
public static void notifyClassInitialized(RVMClass c)
private static void noteImplements(RVMClass c, RVMClass I)
private static ImmutableEntryHashSetRVM<RVMClass> findOrCreateSet(RVMClass I)
private static ImmutableEntryHashSetRVM<RVMClass> allImplementors(RVMClass I)
private static ImmutableEntryHashSetRVM<RVMClass> allSubClasses(RVMClass C)
public static RVMMethod getUniqueImplementation(RVMMethod foo)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |