Class JDTJavaSourceAnalysisEngine
java.lang.Object
com.ibm.wala.client.AbstractAnalysisEngine<InstanceKey, CallGraphBuilder<InstanceKey>, Void>
com.ibm.wala.ide.client.EclipseProjectAnalysisEngine<org.eclipse.jdt.core.IJavaProject, InstanceKey>
com.ibm.wala.ide.client.EclipseProjectSourceAnalysisEngine<org.eclipse.jdt.core.IJavaProject, InstanceKey>
com.ibm.wala.cast.java.client.JDTJavaSourceAnalysisEngine
- All Implemented Interfaces:
AnalysisEngine
public class JDTJavaSourceAnalysisEngine
extends EclipseProjectSourceAnalysisEngine<org.eclipse.jdt.core.IJavaProject, InstanceKey>
-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractAnalysisEngine
AbstractAnalysisEngine.EntrypointBuilder -
Field Summary
Fields inherited from class EclipseProjectSourceAnalysisEngine
defaultFileExtFields inherited from class EclipseProjectAnalysisEngine
ePath, project, workspaceRootPathModifier and TypeFieldDescriptionprotected EclipseProjectPath<?, org.eclipse.jdt.core.IJavaProject> protected final org.eclipse.jdt.core.IJavaProjectprotected 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<InstanceKey> Results of pointer analysisprotected AnalysisScopeA representation of the analysis scopestatic final String -
Constructor Summary
ConstructorsConstructorDescriptionJDTJavaSourceAnalysisEngine(String projectName) JDTJavaSourceAnalysisEngine(org.eclipse.jdt.core.IJavaProject project) -
Method Summary
Modifier and TypeMethodDescriptionprotected EclipseProjectPath<?, org.eclipse.jdt.core.IJavaProject> createProjectPath(org.eclipse.jdt.core.IJavaProject project) protected CallGraphBuilder<InstanceKey> getCallGraphBuilder(IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache) protected ClassLoaderReferenceprotected AnalysisScopeprotected ClassLoaderFactorymakeClassLoaderFactory(StringFilter exclusions) we don't provide a default implementation of this method to avoid introducing a dependence on com.ibm.wala.cast from this projectvoidsetDump(boolean dump) Methods inherited from class EclipseProjectSourceAnalysisEngine
getDefaultOptionsModifier and TypeMethodDescriptiongetDefaultOptions(Iterable<Entrypoint> entrypoints) Get the default analysis options appropriate for this engineMethods inherited from class EclipseProjectAnalysisEngine
buildAnalysisScope, getClassHierarchy, getEclipseProjectPathModifier and TypeMethodDescriptionvoidSet up the AnalysisScope objectEclipseProjectPath<?, org.eclipse.jdt.core.IJavaProject> Methods inherited from class AbstractAnalysisEngine
addApplicationModulesToScope, buildCallGraph, buildClassHierarchy, buildDefaultCallGraph, defaultCallGraphBuilder, getCache, getCallGraph, getExclusionsFile, getHeapGraph, getOptions, getPointerAnalysis, getScope, getSDG, isClosedWorld, makeDefaultEntrypoints, performAnalysis, setClassHierarchy, setClosedWorld, setEntrypointBuilder, setExclusionsFile, setJ2SELibraries, setJ2SELibraries, setModuleFilesModifier and TypeMethodDescriptionprotected voidAdd the application modules to the analysis scope.protected CallGraphBuilder<InstanceKey> 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 CallGraphHeapGraph<?> PointerAnalysis<? super InstanceKey> protected AnalysisScopegetScope()SDG<? super InstanceKey> booleanprotected 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.
-
Constructor Details
-
JDTJavaSourceAnalysisEngine
public JDTJavaSourceAnalysisEngine(org.eclipse.jdt.core.IJavaProject project) -
JDTJavaSourceAnalysisEngine
-
-
Method Details
-
setDump
public void setDump(boolean dump) -
makeClassLoaderFactory
- Overrides:
makeClassLoaderFactoryin classAbstractAnalysisEngine<InstanceKey, CallGraphBuilder<InstanceKey>, Void>
-
makeAnalysisScope
- Specified by:
makeAnalysisScopein classEclipseProjectAnalysisEngine<org.eclipse.jdt.core.IJavaProject, InstanceKey>
-
getSourceLoader
- Specified by:
getSourceLoaderin classEclipseProjectSourceAnalysisEngine<org.eclipse.jdt.core.IJavaProject, InstanceKey>
-
makeDefaultCache
Description copied from class:EclipseProjectSourceAnalysisEnginewe don't provide a default implementation of this method to avoid introducing a dependence on com.ibm.wala.cast from this project- Specified by:
makeDefaultCachein classEclipseProjectSourceAnalysisEngine<org.eclipse.jdt.core.IJavaProject, InstanceKey>
-
createProjectPath
protected EclipseProjectPath<?, org.eclipse.jdt.core.IJavaProject> createProjectPath(org.eclipse.jdt.core.IJavaProject project) throws IOException, org.eclipse.core.runtime.CoreException - Specified by:
createProjectPathin classEclipseProjectAnalysisEngine<org.eclipse.jdt.core.IJavaProject, InstanceKey>- Throws:
IOExceptionorg.eclipse.core.runtime.CoreException
-
getCallGraphBuilder
protected CallGraphBuilder<InstanceKey> getCallGraphBuilder(IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache) - Specified by:
getCallGraphBuilderin classEclipseProjectAnalysisEngine<org.eclipse.jdt.core.IJavaProject, InstanceKey>
-