com.ibm.wala.cast.java.translator.polyglot
Class PolyglotClassLoaderFactory

java.lang.Object
  extended by com.ibm.wala.classLoader.ClassLoaderFactoryImpl
      extended by com.ibm.wala.cast.java.translator.polyglot.PolyglotClassLoaderFactory
All Implemented Interfaces:
ClassLoaderFactory

public class PolyglotClassLoaderFactory
extends ClassLoaderFactoryImpl


Field Summary
protected  java.util.Map<ClassLoaderReference,IRTranslatorExtension> fExtensionMap
          A map from ClassLoaderReference to IRTranslatorExtension, so that source files in different languages are processed by the right kind of IRTranslatorExtension.
 
Constructor Summary
PolyglotClassLoaderFactory(SetOfClasses exclusions, IRTranslatorExtension javaExtInfo)
           
 
Method Summary
protected  IRTranslatorExtension getExtensionFor(ClassLoaderReference clr)
           
protected  IClassLoader makeNewClassLoader(ClassLoaderReference classLoaderReference, IClassHierarchy cha, IClassLoader parent, AnalysisScope scope)
          Create a new class loader for a given key
 
Methods inherited from class com.ibm.wala.classLoader.ClassLoaderFactoryImpl
getExclusions, getLoader
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fExtensionMap

protected final java.util.Map<ClassLoaderReference,IRTranslatorExtension> fExtensionMap
A map from ClassLoaderReference to IRTranslatorExtension, so that source files in different languages are processed by the right kind of IRTranslatorExtension.

Constructor Detail

PolyglotClassLoaderFactory

public PolyglotClassLoaderFactory(SetOfClasses exclusions,
                                  IRTranslatorExtension javaExtInfo)
Method Detail

getExtensionFor

protected IRTranslatorExtension getExtensionFor(ClassLoaderReference clr)

makeNewClassLoader

protected IClassLoader makeNewClassLoader(ClassLoaderReference classLoaderReference,
                                          IClassHierarchy cha,
                                          IClassLoader parent,
                                          AnalysisScope scope)
                                   throws java.io.IOException
Description copied from class: ClassLoaderFactoryImpl
Create a new class loader for a given key

Overrides:
makeNewClassLoader in class ClassLoaderFactoryImpl
Parameters:
classLoaderReference - the key
parent - parent classloader to be used for delegation
Returns:
a new ClassLoaderImpl
Throws:
java.io.IOException - if the desired loader cannot be instantiated, usually because the specified module can't be found.