com.ibm.wala.ipa.cha
Interface IClassHierarchy

All Superinterfaces:
java.lang.Iterable<IClass>
All Known Implementing Classes:
ClassHierarchy, CrossLanguageClassHierarchy

public interface IClassHierarchy
extends java.lang.Iterable<IClass>


Method Summary
 boolean addClass(IClass klass)
           
 java.util.Collection<IClass> computeSubClasses(TypeReference type)
           
 ClassLoaderFactory getFactory()
           
 java.util.Collection<IClass> getImmediateSubclasses(IClass klass)
           
 java.util.Set<IClass> getImplementors(TypeReference type)
           
 java.util.Collection<TypeReference> getJavaLangErrorTypes()
           
 IClass getLeastCommonSuperclass(IClass A, IClass B)
           
 TypeReference getLeastCommonSuperclass(TypeReference A, TypeReference B)
           
 IClassLoader getLoader(ClassLoaderReference loaderRef)
           
 IClassLoader[] getLoaders()
           
 int getNumber(IClass c)
           
 int getNumberOfClasses()
           
 int getNumberOfImmediateSubclasses(IClass klass)
           
 java.util.Collection<IMethod> getPossibleTargets(MethodReference ref)
           
 IClass getRootClass()
           
 AnalysisScope getScope()
           
 boolean implementsInterface(IClass c, TypeReference T)
           
 boolean isAssignableFrom(IClass c1, IClass c2)
           
 boolean isInterface(TypeReference type)
           
 boolean isRootClass(IClass c)
           
 boolean isSubclassOf(IClass c, IClass T)
           
 boolean isSyntheticClass(IClass c)
           
 IClass lookupClass(TypeReference A)
           
 IField resolveField(FieldReference f)
           
 IField resolveField(IClass klass, FieldReference f)
           
 IMethod resolveMethod(IClass receiverClass, Selector selector)
           
 IMethod resolveMethod(MethodReference m)
           
 
Methods inherited from interface java.lang.Iterable
iterator
 

Method Detail

getFactory

ClassLoaderFactory getFactory()

getScope

AnalysisScope getScope()

getLoaders

IClassLoader[] getLoaders()

getLoader

IClassLoader getLoader(ClassLoaderReference loaderRef)

addClass

boolean addClass(IClass klass)

getNumberOfClasses

int getNumberOfClasses()

isRootClass

boolean isRootClass(IClass c)

getRootClass

IClass getRootClass()

getNumber

int getNumber(IClass c)

getPossibleTargets

java.util.Collection<IMethod> getPossibleTargets(MethodReference ref)

resolveMethod

IMethod resolveMethod(MethodReference m)

resolveField

IField resolveField(FieldReference f)

resolveField

IField resolveField(IClass klass,
                    FieldReference f)

resolveMethod

IMethod resolveMethod(IClass receiverClass,
                      Selector selector)

lookupClass

IClass lookupClass(TypeReference A)

isSyntheticClass

boolean isSyntheticClass(IClass c)

isInterface

boolean isInterface(TypeReference type)

getLeastCommonSuperclass

IClass getLeastCommonSuperclass(IClass A,
                                IClass B)

getLeastCommonSuperclass

TypeReference getLeastCommonSuperclass(TypeReference A,
                                       TypeReference B)

isSubclassOf

boolean isSubclassOf(IClass c,
                     IClass T)

implementsInterface

boolean implementsInterface(IClass c,
                            TypeReference T)

computeSubClasses

java.util.Collection<IClass> computeSubClasses(TypeReference type)

getJavaLangErrorTypes

java.util.Collection<TypeReference> getJavaLangErrorTypes()

getImplementors

java.util.Set<IClass> getImplementors(TypeReference type)

getNumberOfImmediateSubclasses

int getNumberOfImmediateSubclasses(IClass klass)

getImmediateSubclasses

java.util.Collection<IClass> getImmediateSubclasses(IClass klass)

isAssignableFrom

boolean isAssignableFrom(IClass c1,
                         IClass c2)