1) adjust somewhat to recent API changes.
2) fix equals() bug in Statement 3) general cleanups git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1225 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
This commit is contained in:
parent
a0cfeac136
commit
00f604ee6f
|
@ -23,7 +23,7 @@ import com.ibm.wala.classLoader.ModuleEntry;
|
|||
import com.ibm.wala.ipa.callgraph.AnalysisScope;
|
||||
import com.ibm.wala.ipa.callgraph.Entrypoint;
|
||||
import com.ibm.wala.ipa.callgraph.impl.DefaultEntrypoint;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchy;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
import com.ibm.wala.j2ee.util.TopLevelArchiveModule;
|
||||
import com.ibm.wala.types.ClassLoaderReference;
|
||||
import com.ibm.wala.types.Descriptor;
|
||||
|
@ -55,7 +55,7 @@ public class AppClientEntrypoints implements Iterable<Entrypoint> {
|
|||
/**
|
||||
* Governing class hierarchy
|
||||
*/
|
||||
private final ClassHierarchy cha;
|
||||
private final IClassHierarchy cha;
|
||||
|
||||
/**
|
||||
* Governing analysis scope
|
||||
|
@ -65,15 +65,13 @@ public class AppClientEntrypoints implements Iterable<Entrypoint> {
|
|||
private final WarningSet warnings;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param scope
|
||||
* scope of analysis
|
||||
* @param cha
|
||||
* loaded class hierarchy
|
||||
* @throws IllegalArgumentException if scope is null
|
||||
*/
|
||||
public AppClientEntrypoints(J2EEAnalysisScope scope, ClassHierarchy cha, WarningSet warnings) {
|
||||
public AppClientEntrypoints(J2EEAnalysisScope scope, IClassHierarchy cha, WarningSet warnings) {
|
||||
if (scope == null) {
|
||||
throw new IllegalArgumentException("scope is null");
|
||||
}
|
||||
|
|
|
@ -35,7 +35,7 @@ import com.ibm.wala.ipa.callgraph.Context;
|
|||
import com.ibm.wala.ipa.callgraph.ContextKey;
|
||||
import com.ibm.wala.ipa.callgraph.impl.Everywhere;
|
||||
import com.ibm.wala.ipa.callgraph.propagation.SSAContextInterpreter;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchy;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
import com.ibm.wala.ipa.summaries.SyntheticIR;
|
||||
import com.ibm.wala.shrikeBT.IInvokeInstruction;
|
||||
import com.ibm.wala.ssa.DefUse;
|
||||
|
@ -75,7 +75,7 @@ public class CommandInterpreter implements SSAContextInterpreter {
|
|||
/**
|
||||
* Governing class hierarchy
|
||||
*/
|
||||
private final ClassHierarchy cha;
|
||||
private final IClassHierarchy cha;
|
||||
|
||||
/**
|
||||
* Keep track of analysis warnings
|
||||
|
@ -88,7 +88,7 @@ public class CommandInterpreter implements SSAContextInterpreter {
|
|||
* @param warnings
|
||||
* object to track analysis warnings
|
||||
*/
|
||||
public CommandInterpreter(ClassHierarchy cha, WarningSet warnings) {
|
||||
public CommandInterpreter(IClassHierarchy cha, WarningSet warnings) {
|
||||
this.cha = cha;
|
||||
this.warnings = warnings;
|
||||
}
|
||||
|
|
|
@ -31,7 +31,7 @@ import com.ibm.wala.classLoader.Module;
|
|||
import com.ibm.wala.classLoader.NewSiteReference;
|
||||
import com.ibm.wala.ipa.callgraph.Entrypoint;
|
||||
import com.ibm.wala.ipa.callgraph.impl.DefaultEntrypoint;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchy;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
import com.ibm.wala.types.ClassLoaderReference;
|
||||
import com.ibm.wala.types.Descriptor;
|
||||
import com.ibm.wala.types.MemberReference;
|
||||
|
@ -55,7 +55,7 @@ import com.ibm.wala.util.warnings.WarningSet;
|
|||
public class EJBEntrypoints implements Iterable<Entrypoint>, EJBConstants {
|
||||
static final boolean DEBUG = false;
|
||||
|
||||
private final ClassHierarchy cha;
|
||||
private final IClassHierarchy cha;
|
||||
|
||||
/**
|
||||
* The set of Entrypoint for call graph construction.
|
||||
|
@ -114,7 +114,7 @@ public class EJBEntrypoints implements Iterable<Entrypoint>, EJBConstants {
|
|||
* representation of the analysis scope.
|
||||
*/
|
||||
@SuppressWarnings({ "restriction", "unchecked" })
|
||||
public EJBEntrypoints(ClassHierarchy cha, J2EEAnalysisScope scope, DeploymentMetaData deployment, boolean justMDBs,
|
||||
public EJBEntrypoints(IClassHierarchy cha, J2EEAnalysisScope scope, DeploymentMetaData deployment, boolean justMDBs,
|
||||
J2EEClassTargetSelector classTargetSelector, WarningSet warnings) {
|
||||
this.cha = cha;
|
||||
this.deployment = deployment;
|
||||
|
|
|
@ -12,14 +12,14 @@ package com.ibm.wala.j2ee;
|
|||
|
||||
import com.ibm.wala.classLoader.IMethod;
|
||||
import com.ibm.wala.ipa.callgraph.impl.DefaultEntrypoint;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchy;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
import com.ibm.wala.types.TypeReference;
|
||||
|
||||
class EJBLifecycleEntrypoint extends DefaultEntrypoint {
|
||||
|
||||
private final TypeReference bean;
|
||||
|
||||
EJBLifecycleEntrypoint(IMethod m, ClassHierarchy cha, TypeReference bean) {
|
||||
EJBLifecycleEntrypoint(IMethod m, IClassHierarchy cha, TypeReference bean) {
|
||||
super(m, cha);
|
||||
this.bean = bean;
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ import com.ibm.wala.classLoader.IClassLoader;
|
|||
import com.ibm.wala.classLoader.NewSiteReference;
|
||||
import com.ibm.wala.ipa.callgraph.CGNode;
|
||||
import com.ibm.wala.ipa.callgraph.ClassTargetSelector;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchy;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
import com.ibm.wala.ipa.summaries.BypassSyntheticClass;
|
||||
import com.ibm.wala.ipa.summaries.BypassSyntheticClassLoader;
|
||||
import com.ibm.wala.types.TypeName;
|
||||
|
@ -47,7 +47,7 @@ public class J2EEClassTargetSelector implements ClassTargetSelector {
|
|||
/**
|
||||
* Governing class hierarchy
|
||||
*/
|
||||
private final ClassHierarchy cha;
|
||||
private final IClassHierarchy cha;
|
||||
|
||||
private final BypassSyntheticClassLoader bypassLoader;
|
||||
|
||||
|
@ -61,7 +61,7 @@ public class J2EEClassTargetSelector implements ClassTargetSelector {
|
|||
* @param bypassLoader
|
||||
* class loader to deal with J2EE bypass logic
|
||||
*/
|
||||
public J2EEClassTargetSelector(ClassTargetSelector parent, DeploymentMetaData metaData, ClassHierarchy cha,
|
||||
public J2EEClassTargetSelector(ClassTargetSelector parent, DeploymentMetaData metaData, IClassHierarchy cha,
|
||||
IClassLoader bypassLoader) {
|
||||
this.cha = cha;
|
||||
this.parent = parent;
|
||||
|
|
|
@ -23,7 +23,7 @@ import com.ibm.wala.classLoader.IField;
|
|||
import com.ibm.wala.classLoader.IMethod;
|
||||
import com.ibm.wala.classLoader.NewSiteReference;
|
||||
import com.ibm.wala.classLoader.SyntheticClass;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchy;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
import com.ibm.wala.ipa.summaries.MethodSummary;
|
||||
import com.ibm.wala.ipa.summaries.SummarizedMethod;
|
||||
import com.ibm.wala.shrikeBT.BytecodeConstants;
|
||||
|
@ -115,9 +115,9 @@ class J2EEContainerModel extends SyntheticClass implements BytecodeConstants, EJ
|
|||
/**
|
||||
* Governing class hierarchy
|
||||
*/
|
||||
private final ClassHierarchy cha;
|
||||
private final IClassHierarchy cha;
|
||||
|
||||
J2EEContainerModel(DeploymentMetaData deployment, ClassHierarchy cha) {
|
||||
J2EEContainerModel(DeploymentMetaData deployment, IClassHierarchy cha) {
|
||||
super(containerModelRef, cha);
|
||||
this.cha = cha;
|
||||
this.deployment = deployment;
|
||||
|
|
|
@ -14,7 +14,7 @@ import java.util.Iterator;
|
|||
|
||||
import com.ibm.wala.ipa.callgraph.Entrypoint;
|
||||
import com.ibm.wala.ipa.callgraph.impl.ComposedEntrypoints;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchy;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
import com.ibm.wala.util.Atom;
|
||||
import com.ibm.wala.util.warnings.WarningSet;
|
||||
|
||||
|
@ -42,7 +42,7 @@ public class J2EEEntrypoints implements Iterable<Entrypoint> {
|
|||
* @param useEjbEntrypoints
|
||||
* should the analysis assume external callers on the EJB interfaces?
|
||||
*/
|
||||
public J2EEEntrypoints(J2EEAnalysisScope scope, DeploymentMetaData dmd, ClassHierarchy cha, WarningSet warnings,
|
||||
public J2EEEntrypoints(J2EEAnalysisScope scope, DeploymentMetaData dmd, IClassHierarchy cha, WarningSet warnings,
|
||||
boolean useEjbEntrypoints) {
|
||||
ServletEntrypoints servletEntrypoints = new ServletEntrypoints(scope, cha);
|
||||
J2EEClassTargetSelector classTargetSelector = new J2EEClassTargetSelector(null, dmd, cha, cha.getLoader(scope.getLoader(Atom
|
||||
|
|
|
@ -27,7 +27,7 @@ import com.ibm.wala.ipa.callgraph.AnalysisScope;
|
|||
import com.ibm.wala.ipa.callgraph.CGNode;
|
||||
import com.ibm.wala.ipa.callgraph.MethodTargetSelector;
|
||||
import com.ibm.wala.ipa.callgraph.impl.FakeRootMethod;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchy;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
import com.ibm.wala.ipa.summaries.BypassSyntheticClass;
|
||||
import com.ibm.wala.ipa.summaries.MethodSummary;
|
||||
import com.ibm.wala.ipa.summaries.SummarizedMethod;
|
||||
|
@ -94,7 +94,7 @@ public class J2EEMethodTargetSelector implements MethodTargetSelector, BytecodeC
|
|||
/**
|
||||
* the governing class hierarchy
|
||||
*/
|
||||
private final ClassHierarchy cha;
|
||||
private final IClassHierarchy cha;
|
||||
|
||||
/**
|
||||
* A cache of synthetic methods generated so far. Mapping from MethodReference ->
|
||||
|
@ -149,7 +149,7 @@ public class J2EEMethodTargetSelector implements MethodTargetSelector, BytecodeC
|
|||
}
|
||||
|
||||
public J2EEMethodTargetSelector(AnalysisScope scope, MethodTargetSelector parent, DeploymentMetaData deployment,
|
||||
ClassHierarchy cha, ReceiverTypeInferenceCache typeInference, WarningSet warnings) {
|
||||
IClassHierarchy cha, ReceiverTypeInferenceCache typeInference, WarningSet warnings) {
|
||||
this.scope = scope;
|
||||
this.deployment = deployment;
|
||||
this.warnings = warnings;
|
||||
|
|
|
@ -11,13 +11,13 @@
|
|||
package com.ibm.wala.j2ee;
|
||||
|
||||
import com.ibm.wala.classLoader.IMethod;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchy;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
import com.ibm.wala.types.TypeReference;
|
||||
import com.ibm.wala.util.debug.Assertions;
|
||||
|
||||
class MDBEntrypoint extends EJBLifecycleEntrypoint {
|
||||
|
||||
MDBEntrypoint(IMethod m, ClassHierarchy cha, TypeReference bean) {
|
||||
MDBEntrypoint(IMethod m, IClassHierarchy cha, TypeReference bean) {
|
||||
super(m, cha, bean);
|
||||
if (Assertions.verifyAssertions) {
|
||||
Assertions._assert(m.getDescriptor().equals(EJBConstants.onMessageDesc));
|
||||
|
|
|
@ -19,7 +19,7 @@ import com.ibm.wala.classLoader.IClassLoader;
|
|||
import com.ibm.wala.classLoader.IMethod;
|
||||
import com.ibm.wala.ipa.callgraph.Entrypoint;
|
||||
import com.ibm.wala.ipa.callgraph.impl.DefaultEntrypoint;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchy;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
import com.ibm.wala.types.ClassLoaderReference;
|
||||
import com.ibm.wala.types.Descriptor;
|
||||
import com.ibm.wala.types.MethodReference;
|
||||
|
@ -147,13 +147,12 @@ public class ServletEntrypoints implements Iterable<Entrypoint>, EJBConstants {
|
|||
}
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
* @param scope
|
||||
* scope of analysis
|
||||
* @param cha
|
||||
* loaded class hierarchy
|
||||
*/
|
||||
public ServletEntrypoints(J2EEAnalysisScope scope, ClassHierarchy cha) {
|
||||
public ServletEntrypoints(J2EEAnalysisScope scope, IClassHierarchy cha) {
|
||||
|
||||
TypeReference servletType = TypeReference.findOrCreate(scope.getExtensionLoader(), servletName);
|
||||
TypeReference actionServletType = TypeReference.findOrCreate(scope.getApplicationLoader(), actionServlet);
|
||||
|
|
|
@ -20,8 +20,8 @@ import com.ibm.wala.classLoader.IClassLoader;
|
|||
import com.ibm.wala.classLoader.IMethod;
|
||||
import com.ibm.wala.ipa.callgraph.Entrypoint;
|
||||
import com.ibm.wala.ipa.callgraph.impl.DefaultEntrypoint;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchy;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchyException;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
import com.ibm.wala.types.ClassLoaderReference;
|
||||
import com.ibm.wala.types.Descriptor;
|
||||
import com.ibm.wala.types.MemberReference;
|
||||
|
@ -81,14 +81,12 @@ public class StrutsEntrypoints implements Iterable<Entrypoint>, EJBConstants {
|
|||
}
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param scope
|
||||
* scope of analysis
|
||||
* @param cha
|
||||
* loaded class hierarchy
|
||||
*/
|
||||
public StrutsEntrypoints(J2EEAnalysisScope scope, ClassHierarchy cha) {
|
||||
public StrutsEntrypoints(J2EEAnalysisScope scope, IClassHierarchy cha) {
|
||||
|
||||
TypeReference actionType = TypeReference.findOrCreate(scope.getApplicationLoader(), actionName);
|
||||
IClass actionClass = cha.lookupClass(actionType);
|
||||
|
@ -136,7 +134,7 @@ public class StrutsEntrypoints implements Iterable<Entrypoint>, EJBConstants {
|
|||
* @param klass
|
||||
* an Action
|
||||
*/
|
||||
private void addSpeculativeDispatchMethods(IClass klass, ClassHierarchy cha) {
|
||||
private void addSpeculativeDispatchMethods(IClass klass, IClassHierarchy cha) {
|
||||
IClass C = klass;
|
||||
while (C != null) {
|
||||
for (Iterator<IMethod> it = C.getDeclaredMethods().iterator(); it.hasNext();) {
|
||||
|
@ -203,7 +201,7 @@ public class StrutsEntrypoints implements Iterable<Entrypoint>, EJBConstants {
|
|||
private static class StrutsActionEntrypoint extends DefaultEntrypoint {
|
||||
private final TypeReference receiver;
|
||||
|
||||
public StrutsActionEntrypoint(IClass concreteType, IMethod method, ClassHierarchy cha) {
|
||||
public StrutsActionEntrypoint(IClass concreteType, IMethod method, IClassHierarchy cha) {
|
||||
super(method, cha);
|
||||
receiver = concreteType.getReference();
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ package com.ibm.wala.j2ee.client;
|
|||
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.CallGraphBuilder;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchy;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
import com.ibm.wala.j2ee.DeploymentMetaData;
|
||||
import com.ibm.wala.j2ee.J2EEAnalysisScope;
|
||||
import com.ibm.wala.util.warnings.WarningSet;
|
||||
|
@ -58,6 +58,6 @@ public interface CallGraphBuilderFactory extends com.ibm.wala.client.CallGraphBu
|
|||
* preserve PointsTo graph for posterity?
|
||||
*
|
||||
*/
|
||||
CallGraphBuilder make(AnalysisOptions options, ClassHierarchy cha, J2EEAnalysisScope scope, DeploymentMetaData dmd,
|
||||
CallGraphBuilder make(AnalysisOptions options, IClassHierarchy cha, J2EEAnalysisScope scope, DeploymentMetaData dmd,
|
||||
WarningSet warnings, boolean keepPointsTo);
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ package com.ibm.wala.j2ee.client.impl;
|
|||
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.CallGraphBuilder;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchy;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
import com.ibm.wala.j2ee.DeploymentMetaData;
|
||||
import com.ibm.wala.j2ee.J2EEAnalysisScope;
|
||||
import com.ibm.wala.j2ee.client.CallGraphBuilderFactory;
|
||||
|
@ -30,16 +30,7 @@ public class RTABuilderFactory
|
|||
implements CallGraphBuilderFactory
|
||||
{
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see com.ibm.wala.j2ee.client.CallGraphBuilderFactory#make(com.ibm.wala.ipa.callgraph.AnalysisOptions,
|
||||
* com.ibm.wala.ipa.cha.ClassHierarchy, java.lang.ClassLoader,
|
||||
* com.ibm.wala.j2ee.J2EEAnalysisScope,
|
||||
* com.ibm.wala.j2ee.DeploymentMetaData,
|
||||
* com.ibm.wala.util.warnings.WarningSet, boolean)
|
||||
*/
|
||||
public CallGraphBuilder make(AnalysisOptions options, ClassHierarchy cha, J2EEAnalysisScope scope,
|
||||
public CallGraphBuilder make(AnalysisOptions options, IClassHierarchy cha, J2EEAnalysisScope scope,
|
||||
DeploymentMetaData dmd, WarningSet warnings, boolean keepPointsTo) {
|
||||
return Util.makeRTABuilder(options, cha, getClass().getClassLoader(), scope, dmd, warnings);
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ package com.ibm.wala.j2ee.client.impl;
|
|||
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.CallGraphBuilder;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchy;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
import com.ibm.wala.j2ee.DeploymentMetaData;
|
||||
import com.ibm.wala.j2ee.J2EEAnalysisScope;
|
||||
import com.ibm.wala.j2ee.client.CallGraphBuilderFactory;
|
||||
|
@ -27,16 +27,7 @@ public class ZeroCFABuilderFactory
|
|||
implements CallGraphBuilderFactory
|
||||
{
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see com.ibm.wala.j2ee.client.CallGraphBuilderFactory#make(com.ibm.wala.ipa.callgraph.AnalysisOptions,
|
||||
* com.ibm.wala.ipa.cha.ClassHierarchy, java.lang.ClassLoader,
|
||||
* com.ibm.wala.j2ee.J2EEAnalysisScope,
|
||||
* com.ibm.wala.j2ee.DeploymentMetaData,
|
||||
* com.ibm.wala.util.warnings.WarningSet, boolean)
|
||||
*/
|
||||
public CallGraphBuilder make(AnalysisOptions options, ClassHierarchy cha, J2EEAnalysisScope scope,
|
||||
public CallGraphBuilder make(AnalysisOptions options, IClassHierarchy cha, J2EEAnalysisScope scope,
|
||||
DeploymentMetaData dmd, WarningSet warnings, boolean keepPointsTo) {
|
||||
return Util.makeZeroCFABuilder(options, cha, getClass().getClassLoader(), scope, dmd, warnings);
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ package com.ibm.wala.j2ee.client.impl;
|
|||
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.CallGraphBuilder;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchy;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
import com.ibm.wala.j2ee.DeploymentMetaData;
|
||||
import com.ibm.wala.j2ee.J2EEAnalysisScope;
|
||||
import com.ibm.wala.j2ee.client.CallGraphBuilderFactory;
|
||||
|
@ -30,16 +30,7 @@ public class ZeroContainerCFABuilderFactory
|
|||
implements CallGraphBuilderFactory
|
||||
{
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see com.ibm.wala.j2ee.client.CallGraphBuilderFactory#make(com.ibm.wala.ipa.callgraph.AnalysisOptions,
|
||||
* com.ibm.wala.ipa.cha.ClassHierarchy, java.lang.ClassLoader,
|
||||
* com.ibm.wala.j2ee.J2EEAnalysisScope,
|
||||
* com.ibm.wala.j2ee.DeploymentMetaData,
|
||||
* com.ibm.wala.util.warnings.WarningSet, boolean)
|
||||
*/
|
||||
public CallGraphBuilder make(AnalysisOptions options, ClassHierarchy cha, J2EEAnalysisScope scope, DeploymentMetaData dmd,
|
||||
public CallGraphBuilder make(AnalysisOptions options, IClassHierarchy cha, J2EEAnalysisScope scope, DeploymentMetaData dmd,
|
||||
WarningSet warnings, boolean keepPointsTo) {
|
||||
return Util.makeZeroContainerCFABuilder(options, cha, getClass().getClassLoader(), scope, dmd, warnings);
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ package com.ibm.wala.j2ee.client.impl;
|
|||
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.CallGraphBuilder;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchy;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
import com.ibm.wala.j2ee.DeploymentMetaData;
|
||||
import com.ibm.wala.j2ee.J2EEAnalysisScope;
|
||||
import com.ibm.wala.j2ee.client.CallGraphBuilderFactory;
|
||||
|
@ -29,16 +29,7 @@ public class ZeroOneCFABuilderFactory
|
|||
implements CallGraphBuilderFactory
|
||||
{
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see com.ibm.wala.j2ee.client.CallGraphBuilderFactory#make(com.ibm.wala.ipa.callgraph.AnalysisOptions,
|
||||
* com.ibm.wala.ipa.cha.ClassHierarchy, java.lang.ClassLoader,
|
||||
* com.ibm.wala.j2ee.J2EEAnalysisScope,
|
||||
* com.ibm.wala.j2ee.DeploymentMetaData,
|
||||
* com.ibm.wala.util.warnings.WarningSet, boolean)
|
||||
*/
|
||||
public CallGraphBuilder make(AnalysisOptions options, ClassHierarchy cha, J2EEAnalysisScope scope,
|
||||
public CallGraphBuilder make(AnalysisOptions options, IClassHierarchy cha, J2EEAnalysisScope scope,
|
||||
DeploymentMetaData dmd, WarningSet warnings, boolean keepPointsTo) {
|
||||
return Util.makeZeroOneCFABuilder(options, cha, getClass().getClassLoader(), scope, dmd, warnings);
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ package com.ibm.wala.j2ee.client.impl;
|
|||
|
||||
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
|
||||
import com.ibm.wala.ipa.callgraph.CallGraphBuilder;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchy;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
import com.ibm.wala.j2ee.DeploymentMetaData;
|
||||
import com.ibm.wala.j2ee.J2EEAnalysisScope;
|
||||
import com.ibm.wala.j2ee.client.CallGraphBuilderFactory;
|
||||
|
@ -29,16 +29,8 @@ public class ZeroOneContainerCFABuilderFactory
|
|||
implements CallGraphBuilderFactory
|
||||
{
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see com.ibm.wala.j2ee.client.CallGraphBuilderFactory#make(com.ibm.wala.ipa.callgraph.AnalysisOptions,
|
||||
* com.ibm.wala.ipa.cha.ClassHierarchy, java.lang.ClassLoader,
|
||||
* com.ibm.wala.j2ee.J2EEAnalysisScope,
|
||||
* com.ibm.wala.j2ee.DeploymentMetaData,
|
||||
* com.ibm.wala.util.warnings.WarningSet, boolean)
|
||||
*/
|
||||
public CallGraphBuilder make(AnalysisOptions options, ClassHierarchy cha, J2EEAnalysisScope scope, DeploymentMetaData dmd,
|
||||
|
||||
public CallGraphBuilder make(AnalysisOptions options, IClassHierarchy cha, J2EEAnalysisScope scope, DeploymentMetaData dmd,
|
||||
WarningSet warnings, boolean keepPointsTo) {
|
||||
return Util.makeZeroOneContainerCFABuilder(options, cha, getClass().getClassLoader(), scope, dmd, warnings);
|
||||
}
|
||||
|
|
|
@ -27,6 +27,7 @@ import com.ibm.wala.ipa.callgraph.propagation.cfa.ZeroXInstanceKeys;
|
|||
import com.ibm.wala.ipa.callgraph.propagation.rta.BasicRTABuilder;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchy;
|
||||
import com.ibm.wala.ipa.cha.ClassHierarchyException;
|
||||
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
||||
import com.ibm.wala.j2ee.BeanMetaData;
|
||||
import com.ibm.wala.j2ee.CommandInterpreter;
|
||||
import com.ibm.wala.j2ee.DeploymentMetaData;
|
||||
|
@ -60,7 +61,7 @@ public class Util {
|
|||
* @param warnings
|
||||
* an object which tracks analysis warnings
|
||||
*/
|
||||
public static CallGraphBuilder makeRTABuilder(AnalysisOptions options, ClassHierarchy cha, ClassLoader cl, AnalysisScope scope,
|
||||
public static CallGraphBuilder makeRTABuilder(AnalysisOptions options, IClassHierarchy cha, ClassLoader cl, AnalysisScope scope,
|
||||
DeploymentMetaData dmd, WarningSet warnings) {
|
||||
|
||||
com.ibm.wala.ipa.callgraph.impl.Util.addDefaultSelectors(options, cha, warnings);
|
||||
|
@ -92,7 +93,7 @@ public class Util {
|
|||
* an object which tracks analysis warnings
|
||||
* @return a 0-CFA Call Graph Builder.
|
||||
*/
|
||||
public static CFABuilder makeZeroCFABuilder(AnalysisOptions options, ClassHierarchy cha, ClassLoader cl, AnalysisScope scope,
|
||||
public static CFABuilder makeZeroCFABuilder(AnalysisOptions options, IClassHierarchy cha, ClassLoader cl, AnalysisScope scope,
|
||||
DeploymentMetaData dmd, WarningSet warnings) {
|
||||
|
||||
com.ibm.wala.ipa.callgraph.impl.Util.addDefaultSelectors(options, cha, warnings);
|
||||
|
@ -125,7 +126,7 @@ public class Util {
|
|||
* an object which tracks analysis warnings
|
||||
* @return a 1-CFA Call Graph Builder.
|
||||
*/
|
||||
public static CallGraphBuilder makeOneCFABuilder(AnalysisOptions options, ClassHierarchy cha, ClassLoader cl,
|
||||
public static CallGraphBuilder makeOneCFABuilder(AnalysisOptions options, IClassHierarchy cha, ClassLoader cl,
|
||||
AnalysisScope scope, DeploymentMetaData dmd, WarningSet warnings) {
|
||||
|
||||
com.ibm.wala.ipa.callgraph.impl.Util.addDefaultSelectors(options, cha, warnings);
|
||||
|
@ -161,7 +162,7 @@ public class Util {
|
|||
* This version uses the DEDUCED_PLUS_STRINGSTUFF policy to avoid
|
||||
* disambiguating uninteresting types.
|
||||
*/
|
||||
public static CFABuilder makeZeroOneCFABuilder(AnalysisOptions options, ClassHierarchy cha, ClassLoader cl, AnalysisScope scope,
|
||||
public static CFABuilder makeZeroOneCFABuilder(AnalysisOptions options, IClassHierarchy cha, ClassLoader cl, AnalysisScope scope,
|
||||
DeploymentMetaData dmd, WarningSet warnings) {
|
||||
|
||||
com.ibm.wala.ipa.callgraph.impl.Util.addDefaultSelectors(options, cha, warnings);
|
||||
|
@ -231,7 +232,7 @@ public class Util {
|
|||
* @return a 0-CFA Call Graph Builder augmented with extra logic for
|
||||
* containers
|
||||
*/
|
||||
public static CFABuilder makeZeroContainerCFABuilder(AnalysisOptions options, ClassHierarchy cha, ClassLoader cl,
|
||||
public static CFABuilder makeZeroContainerCFABuilder(AnalysisOptions options, IClassHierarchy cha, ClassLoader cl,
|
||||
AnalysisScope scope, DeploymentMetaData dmd, WarningSet warnings) {
|
||||
|
||||
com.ibm.wala.ipa.callgraph.impl.Util.addDefaultSelectors(options, cha, warnings);
|
||||
|
@ -264,7 +265,7 @@ public class Util {
|
|||
* @return a 0-1-CFA Call Graph Builder augmented with extra logic for
|
||||
* containers
|
||||
*/
|
||||
public static CFABuilder makeZeroOneContainerCFABuilder(AnalysisOptions options, ClassHierarchy cha, ClassLoader cl,
|
||||
public static CFABuilder makeZeroOneContainerCFABuilder(AnalysisOptions options, IClassHierarchy cha, ClassLoader cl,
|
||||
AnalysisScope scope, DeploymentMetaData dmd, WarningSet warnings) {
|
||||
|
||||
com.ibm.wala.ipa.callgraph.impl.Util.addDefaultSelectors(options, cha, warnings);
|
||||
|
@ -281,7 +282,7 @@ public class Util {
|
|||
return new ZeroOneContainerCFABuilder(cha, warnings, options, appSelector, appInterpreter, options.getReflectionSpec());
|
||||
}
|
||||
|
||||
public static void addJ2EEBypassLogic(AnalysisOptions options, AnalysisScope scope, DeploymentMetaData dmd, ClassHierarchy cha,
|
||||
public static void addJ2EEBypassLogic(AnalysisOptions options, AnalysisScope scope, DeploymentMetaData dmd, IClassHierarchy cha,
|
||||
ReceiverTypeInferenceCache typeInference, WarningSet warn) {
|
||||
|
||||
if (cha == null) {
|
||||
|
@ -325,7 +326,7 @@ public class Util {
|
|||
|
||||
private static final String benignExtSpec = "benignext.xml";
|
||||
|
||||
public static void addDefaultJ2EEBypassLogic(AnalysisOptions options, AnalysisScope scope, ClassLoader cl, ClassHierarchy cha) {
|
||||
public static void addDefaultJ2EEBypassLogic(AnalysisOptions options, AnalysisScope scope, ClassLoader cl, IClassHierarchy cha) {
|
||||
com.ibm.wala.ipa.callgraph.impl.Util.addDefaultBypassLogic(options, scope, cl, cha);
|
||||
com.ibm.wala.ipa.callgraph.impl.Util.addBypassLogic(options, scope, cl, benignExtSpec, cha);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue