public class CrossLanguageClassHierarchy
extends java.lang.Object
implements com.ibm.wala.ipa.cha.IClassHierarchy
Note that, because of this delegating structure and representation of multiple languages, the getRootClass API call does not make sense for this hierarchy. In general, any code that wants to use multiple language must deal with the fact that there is no longer a single root type. Each individual language is still expected to have a root type, however.
| Modifier and Type | Method and Description |
|---|---|
boolean |
addClass(com.ibm.wala.classLoader.IClass klass) |
java.util.Collection<com.ibm.wala.classLoader.IClass> |
computeSubClasses(com.ibm.wala.types.TypeReference type) |
com.ibm.wala.classLoader.ClassLoaderFactory |
getFactory() |
java.util.Collection<com.ibm.wala.classLoader.IClass> |
getImmediateSubclasses(com.ibm.wala.classLoader.IClass klass) |
java.util.Set<com.ibm.wala.classLoader.IClass> |
getImplementors(com.ibm.wala.types.TypeReference type) |
java.util.Collection<com.ibm.wala.types.TypeReference> |
getJavaLangErrorTypes() |
java.util.Collection<com.ibm.wala.types.TypeReference> |
getJavaLangRuntimeExceptionTypes() |
com.ibm.wala.classLoader.IClass |
getLeastCommonSuperclass(com.ibm.wala.classLoader.IClass A,
com.ibm.wala.classLoader.IClass B) |
com.ibm.wala.types.TypeReference |
getLeastCommonSuperclass(com.ibm.wala.types.TypeReference A,
com.ibm.wala.types.TypeReference B) |
com.ibm.wala.classLoader.IClassLoader |
getLoader(com.ibm.wala.types.ClassLoaderReference loaderRef) |
com.ibm.wala.classLoader.IClassLoader[] |
getLoaders() |
int |
getNumber(com.ibm.wala.classLoader.IClass c) |
int |
getNumberOfClasses() |
int |
getNumberOfImmediateSubclasses(com.ibm.wala.classLoader.IClass klass) |
java.util.Set<com.ibm.wala.classLoader.IMethod> |
getPossibleTargets(com.ibm.wala.classLoader.IClass receiverClass,
com.ibm.wala.types.MethodReference ref) |
java.util.Set<com.ibm.wala.classLoader.IMethod> |
getPossibleTargets(com.ibm.wala.types.MethodReference ref) |
com.ibm.wala.classLoader.IClass |
getRootClass() |
com.ibm.wala.ipa.callgraph.AnalysisScope |
getScope() |
java.util.Set<com.ibm.wala.types.TypeReference> |
getUnresolvedClasses() |
boolean |
implementsInterface(com.ibm.wala.classLoader.IClass c,
com.ibm.wala.classLoader.IClass i) |
boolean |
isAssignableFrom(com.ibm.wala.classLoader.IClass c1,
com.ibm.wala.classLoader.IClass c2) |
boolean |
isInterface(com.ibm.wala.types.TypeReference type) |
boolean |
isRootClass(com.ibm.wala.classLoader.IClass c) |
boolean |
isSubclassOf(com.ibm.wala.classLoader.IClass c,
com.ibm.wala.classLoader.IClass T) |
java.util.Iterator<com.ibm.wala.classLoader.IClass> |
iterator() |
com.ibm.wala.classLoader.IClass |
lookupClass(com.ibm.wala.types.TypeReference A) |
static CrossLanguageClassHierarchy |
make(com.ibm.wala.ipa.callgraph.AnalysisScope scope,
com.ibm.wala.classLoader.ClassLoaderFactory factory) |
com.ibm.wala.classLoader.IField |
resolveField(com.ibm.wala.types.FieldReference f) |
com.ibm.wala.classLoader.IField |
resolveField(com.ibm.wala.classLoader.IClass klass,
com.ibm.wala.types.FieldReference f) |
com.ibm.wala.classLoader.IMethod |
resolveMethod(com.ibm.wala.classLoader.IClass receiver,
com.ibm.wala.types.Selector selector) |
com.ibm.wala.classLoader.IMethod |
resolveMethod(com.ibm.wala.types.MethodReference m) |
public com.ibm.wala.classLoader.ClassLoaderFactory getFactory()
getFactory in interface com.ibm.wala.ipa.cha.IClassHierarchypublic com.ibm.wala.ipa.callgraph.AnalysisScope getScope()
getScope in interface com.ibm.wala.ipa.cha.IClassHierarchypublic com.ibm.wala.classLoader.IClassLoader[] getLoaders()
getLoaders in interface com.ibm.wala.ipa.cha.IClassHierarchypublic com.ibm.wala.classLoader.IClassLoader getLoader(com.ibm.wala.types.ClassLoaderReference loaderRef)
getLoader in interface com.ibm.wala.ipa.cha.IClassHierarchypublic boolean addClass(com.ibm.wala.classLoader.IClass klass)
addClass in interface com.ibm.wala.ipa.cha.IClassHierarchypublic int getNumberOfClasses()
getNumberOfClasses in interface com.ibm.wala.ipa.cha.IClassHierarchypublic boolean isRootClass(com.ibm.wala.classLoader.IClass c)
isRootClass in interface com.ibm.wala.ipa.cha.IClassHierarchypublic com.ibm.wala.classLoader.IClass getRootClass()
getRootClass in interface com.ibm.wala.ipa.cha.IClassHierarchypublic int getNumber(com.ibm.wala.classLoader.IClass c)
getNumber in interface com.ibm.wala.ipa.cha.IClassHierarchypublic java.util.Set<com.ibm.wala.classLoader.IMethod> getPossibleTargets(com.ibm.wala.types.MethodReference ref)
getPossibleTargets in interface com.ibm.wala.ipa.cha.IClassHierarchypublic java.util.Set<com.ibm.wala.classLoader.IMethod> getPossibleTargets(com.ibm.wala.classLoader.IClass receiverClass,
com.ibm.wala.types.MethodReference ref)
getPossibleTargets in interface com.ibm.wala.ipa.cha.IClassHierarchypublic com.ibm.wala.classLoader.IMethod resolveMethod(com.ibm.wala.types.MethodReference m)
resolveMethod in interface com.ibm.wala.ipa.cha.IClassHierarchypublic com.ibm.wala.classLoader.IField resolveField(com.ibm.wala.types.FieldReference f)
resolveField in interface com.ibm.wala.ipa.cha.IClassHierarchypublic com.ibm.wala.classLoader.IField resolveField(com.ibm.wala.classLoader.IClass klass,
com.ibm.wala.types.FieldReference f)
resolveField in interface com.ibm.wala.ipa.cha.IClassHierarchypublic com.ibm.wala.classLoader.IMethod resolveMethod(com.ibm.wala.classLoader.IClass receiver,
com.ibm.wala.types.Selector selector)
resolveMethod in interface com.ibm.wala.ipa.cha.IClassHierarchypublic com.ibm.wala.classLoader.IClass lookupClass(com.ibm.wala.types.TypeReference A)
lookupClass in interface com.ibm.wala.ipa.cha.IClassHierarchypublic boolean isInterface(com.ibm.wala.types.TypeReference type)
isInterface in interface com.ibm.wala.ipa.cha.IClassHierarchypublic com.ibm.wala.classLoader.IClass getLeastCommonSuperclass(com.ibm.wala.classLoader.IClass A,
com.ibm.wala.classLoader.IClass B)
getLeastCommonSuperclass in interface com.ibm.wala.ipa.cha.IClassHierarchypublic com.ibm.wala.types.TypeReference getLeastCommonSuperclass(com.ibm.wala.types.TypeReference A,
com.ibm.wala.types.TypeReference B)
getLeastCommonSuperclass in interface com.ibm.wala.ipa.cha.IClassHierarchypublic boolean isSubclassOf(com.ibm.wala.classLoader.IClass c,
com.ibm.wala.classLoader.IClass T)
isSubclassOf in interface com.ibm.wala.ipa.cha.IClassHierarchypublic boolean implementsInterface(com.ibm.wala.classLoader.IClass c,
com.ibm.wala.classLoader.IClass i)
implementsInterface in interface com.ibm.wala.ipa.cha.IClassHierarchypublic java.util.Collection<com.ibm.wala.classLoader.IClass> computeSubClasses(com.ibm.wala.types.TypeReference type)
computeSubClasses in interface com.ibm.wala.ipa.cha.IClassHierarchypublic java.util.Collection<com.ibm.wala.types.TypeReference> getJavaLangRuntimeExceptionTypes()
getJavaLangRuntimeExceptionTypes in interface com.ibm.wala.ipa.cha.IClassHierarchypublic java.util.Collection<com.ibm.wala.types.TypeReference> getJavaLangErrorTypes()
getJavaLangErrorTypes in interface com.ibm.wala.ipa.cha.IClassHierarchypublic java.util.Set<com.ibm.wala.classLoader.IClass> getImplementors(com.ibm.wala.types.TypeReference type)
getImplementors in interface com.ibm.wala.ipa.cha.IClassHierarchypublic int getNumberOfImmediateSubclasses(com.ibm.wala.classLoader.IClass klass)
getNumberOfImmediateSubclasses in interface com.ibm.wala.ipa.cha.IClassHierarchypublic java.util.Collection<com.ibm.wala.classLoader.IClass> getImmediateSubclasses(com.ibm.wala.classLoader.IClass klass)
getImmediateSubclasses in interface com.ibm.wala.ipa.cha.IClassHierarchypublic boolean isAssignableFrom(com.ibm.wala.classLoader.IClass c1,
com.ibm.wala.classLoader.IClass c2)
isAssignableFrom in interface com.ibm.wala.ipa.cha.IClassHierarchypublic java.util.Iterator<com.ibm.wala.classLoader.IClass> iterator()
iterator in interface java.lang.Iterable<com.ibm.wala.classLoader.IClass>public static CrossLanguageClassHierarchy make(com.ibm.wala.ipa.callgraph.AnalysisScope scope, com.ibm.wala.classLoader.ClassLoaderFactory factory) throws com.ibm.wala.ipa.cha.ClassHierarchyException
com.ibm.wala.ipa.cha.ClassHierarchyExceptionpublic java.util.Set<com.ibm.wala.types.TypeReference> getUnresolvedClasses()
getUnresolvedClasses in interface com.ibm.wala.ipa.cha.IClassHierarchy