refactoring to prepare for JDT front end

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2843 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
This commit is contained in:
dolby-oss 2008-05-23 16:02:01 +00:00
parent 3719bfd410
commit 3ccd19bcc6
1 changed files with 4 additions and 13 deletions

View File

@ -16,9 +16,6 @@ import java.util.Set;
import com.ibm.wala.cast.ir.ssa.AstIRFactory; import com.ibm.wala.cast.ir.ssa.AstIRFactory;
import com.ibm.wala.cast.java.client.impl.ZeroCFABuilderFactory; import com.ibm.wala.cast.java.client.impl.ZeroCFABuilderFactory;
import com.ibm.wala.cast.java.ipa.callgraph.JavaSourceAnalysisScope; import com.ibm.wala.cast.java.ipa.callgraph.JavaSourceAnalysisScope;
import com.ibm.wala.cast.java.translator.polyglot.IRTranslatorExtension;
import com.ibm.wala.cast.java.translator.polyglot.JavaIRTranslatorExtension;
import com.ibm.wala.cast.java.translator.polyglot.PolyglotClassLoaderFactory;
import com.ibm.wala.classLoader.ClassLoaderFactory; import com.ibm.wala.classLoader.ClassLoaderFactory;
import com.ibm.wala.classLoader.Module; import com.ibm.wala.classLoader.Module;
import com.ibm.wala.client.AbstractAnalysisEngine; import com.ibm.wala.client.AbstractAnalysisEngine;
@ -48,7 +45,7 @@ import com.ibm.wala.util.io.FileProvider;
* @author sfink. refactored to clean up eclipse utilities. * @author sfink. refactored to clean up eclipse utilities.
* *
*/ */
public class JavaSourceAnalysisEngine extends AbstractAnalysisEngine { public abstract class JavaSourceAnalysisEngine extends AbstractAnalysisEngine {
/** /**
* Modules which are user-space code * Modules which are user-space code
@ -128,17 +125,11 @@ public class JavaSourceAnalysisEngine extends AbstractAnalysisEngine {
return new JavaSourceAnalysisScope(); return new JavaSourceAnalysisScope();
} }
public IRTranslatorExtension getTranslatorExtension() { protected abstract ClassLoaderFactory getClassLoaderFactory(SetOfClasses exclusions);
return new JavaIRTranslatorExtension();
}
protected ClassLoaderFactory getClassLoaderFactory(SetOfClasses exclusions, IRTranslatorExtension extInfo) {
return new PolyglotClassLoaderFactory(exclusions, extInfo);
}
public IClassHierarchy buildClassHierarchy() { public IClassHierarchy buildClassHierarchy() {
IClassHierarchy cha = null; IClassHierarchy cha = null;
ClassLoaderFactory factory = getClassLoaderFactory(scope.getExclusions(), getTranslatorExtension()); ClassLoaderFactory factory = getClassLoaderFactory(scope.getExclusions());
try { try {
cha = ClassHierarchy.make(getScope(), factory); cha = ClassHierarchy.make(getScope(), factory);