Class EclipseProjectAnalysisEngine<P, I extends InstanceKey>
java.lang.Object
com.ibm.wala.client.AbstractAnalysisEngine<I, CallGraphBuilder<I>, Void>
com.ibm.wala.ide.client.EclipseProjectAnalysisEngine<P,I>
- All Implemented Interfaces:
AnalysisEngine
- Direct Known Subclasses:
EclipseProjectSourceAnalysisEngine
public abstract class EclipseProjectAnalysisEngine<P, I extends InstanceKey>
extends AbstractAnalysisEngine<I, CallGraphBuilder<I>, Void>
-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractAnalysisEngine
AbstractAnalysisEngine.EntrypointBuilder -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected EclipseProjectPath<?, P> protected final Pprotected final org.eclipse.core.runtime.IPathFields inherited from class AbstractAnalysisEngine
cg, DEBUG_LEVEL, j2seLibs, moduleFiles, pointerAnalysis, scope, SYNTHETIC_J2SE_MODELModifier and TypeFieldDescriptionprotected CallGraphGoverning call graphprotected static final intDEBUG_LEVEL: 0 No output 1 Print some simple stats and warning information 2 Detailed debuggingprotected Module[]The standard J2SE libraries to analyzeprotected Collection<? extends Module> The modules to analyzeprotected PointerAnalysis<I> Results of pointer analysisprotected AnalysisScopeA representation of the analysis scopestatic final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidSet up the AnalysisScope objectprotected abstract EclipseProjectPath<?, P> createProjectPath(P project) protected abstract CallGraphBuilder<I> getCallGraphBuilder(IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache) protected abstract AnalysisScopeMethods inherited from class AbstractAnalysisEngine
addApplicationModulesToScope, buildCallGraph, buildClassHierarchy, buildDefaultCallGraph, defaultCallGraphBuilder, getCache, getCallGraph, getDefaultOptions, getExclusionsFile, getHeapGraph, getOptions, getPointerAnalysis, getScope, getSDG, isClosedWorld, makeClassLoaderFactory, makeDefaultCache, makeDefaultEntrypoints, performAnalysis, setClassHierarchy, setClosedWorld, setEntrypointBuilder, setExclusionsFile, setJ2SELibraries, setJ2SELibraries, setModuleFilesModifier and TypeMethodDescriptionprotected voidAdd the application modules to the analysis scope.protected CallGraphBuilder<I> buildCallGraph(IClassHierarchy cha, AnalysisOptions options, boolean savePointerAnalysis, MonitorUtil.IProgressMonitor monitor) Builds the call graph for the analysis scope in effect, using all of the given entry points.getCache()protected CallGraphgetDefaultOptions(Iterable<Entrypoint> entrypoints) Get the default analysis options appropriate for this engineHeapGraph<?> PointerAnalysis<? super I> protected AnalysisScopegetScope()booleanprotected ClassLoaderFactorymakeClassLoaderFactory(StringFilter exclusions) protected Iterable<Entrypoint> protected IClassHierarchyvoidsetClosedWorld(boolean b) Specify whether the engine should or should not employ "closed-world" analysis.voidvoidsetExclusionsFile(String exclusionsFile) voidsetJ2SELibraries(Module[] libs) Specify the mdoules that represent the standard J2SE librariesvoidsetJ2SELibraries(JarFile[] libs) Specify the jar files that represent the standard J2SE librariesvoidsetModuleFiles(Collection<? extends Module> moduleFiles) Specify the list of modules that should be analyzed.
-
Field Details
-
project
-
workspaceRootPath
protected final org.eclipse.core.runtime.IPath workspaceRootPath -
ePath
-
-
Constructor Details
-
EclipseProjectAnalysisEngine
-
-
Method Details
-
createProjectPath
protected abstract EclipseProjectPath<?,P> createProjectPath(P project) throws IOException, org.eclipse.core.runtime.CoreException - Throws:
IOExceptionorg.eclipse.core.runtime.CoreException
-
getCallGraphBuilder
protected abstract CallGraphBuilder<I> getCallGraphBuilder(IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache) - Specified by:
getCallGraphBuilderin classAbstractAnalysisEngine<I extends InstanceKey, CallGraphBuilder<I extends InstanceKey>, Void>
-
makeAnalysisScope
-
buildAnalysisScope
Description copied from class:AbstractAnalysisEngineSet up the AnalysisScope object- Overrides:
buildAnalysisScopein classAbstractAnalysisEngine<I extends InstanceKey, CallGraphBuilder<I extends InstanceKey>, Void>- Throws:
IOException
-
getEclipseProjectPath
-
getClassHierarchy
- Overrides:
getClassHierarchyin classAbstractAnalysisEngine<I extends InstanceKey, CallGraphBuilder<I extends InstanceKey>, Void>
-