Class CrossLanguageClassHierarchy

java.lang.Object
com.ibm.wala.cast.ipa.cha.CrossLanguageClassHierarchy
All Implemented Interfaces:
IClassHierarchy, Iterable<IClass>

public class CrossLanguageClassHierarchy extends Object implements IClassHierarchy
This class hierarchy represents a family of disjoint class hierarchies, one for each of a selection of languages. The implementation creates a separate ClassHierarchy object for each language, and this overall IClassHierarchy implementation delegates to the appropriate language class hierarchy based on the language associated with the class loader of the given TypeReference or IClass object.

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.

Author:
Julian Dolby (dolby@us.ibm.com)