adapt to field-based api changes

This commit is contained in:
Julian Dolby 2014-05-28 13:30:34 -04:00
parent 931030ddde
commit ae595088a3
2 changed files with 11 additions and 8 deletions

View File

@ -1,7 +1,9 @@
package com.ibm.wala.cast.js.callgraph.fieldbased.flowgraph;
import com.ibm.wala.cast.js.ipa.summaries.JavaScriptConstructorFunctions;
import com.ibm.wala.classLoader.IMethod;
import com.ibm.wala.ipa.callgraph.AnalysisCache;
import com.ibm.wala.ipa.callgraph.MethodTargetSelector;
import com.ibm.wala.ipa.cha.IClassHierarchy;
import com.ibm.wala.util.functions.Function;
@ -9,13 +11,13 @@ public class FilteredFlowGraphBuilder extends FlowGraphBuilder {
private final Function<IMethod, Boolean> filter;
public FilteredFlowGraphBuilder(IClassHierarchy cha, AnalysisCache cache, Function<IMethod, Boolean> filter) {
super(cha, cache);
public FilteredFlowGraphBuilder(IClassHierarchy cha, AnalysisCache cache, JavaScriptConstructorFunctions selector, Function<IMethod, Boolean> filter) {
super(cha, cache, selector);
this.filter = filter;
}
@Override
protected void visitFunction(FlowGraph flowgraph, IMethod method) {
public void visitFunction(FlowGraph flowgraph, IMethod method) {
if (filter.apply(method)) {
super.visitFunction(flowgraph, method);
}

View File

@ -31,6 +31,7 @@ import com.ibm.wala.cast.js.html.IncludedPosition;
import com.ibm.wala.cast.js.ipa.callgraph.JSAnalysisOptions;
import com.ibm.wala.cast.js.ipa.callgraph.JSCallGraph;
import com.ibm.wala.cast.js.ipa.callgraph.JSCallGraphUtil;
import com.ibm.wala.cast.js.ipa.summaries.JavaScriptConstructorFunctions;
import com.ibm.wala.cast.js.loader.JavaScriptLoader;
import com.ibm.wala.cast.js.loader.JavaScriptLoaderFactory;
import com.ibm.wala.cast.js.translator.CAstRhinoTranslatorFactory;
@ -44,9 +45,9 @@ import com.ibm.wala.ide.util.JavaScriptEclipseProjectPath;
import com.ibm.wala.ipa.callgraph.AnalysisCache;
import com.ibm.wala.ipa.callgraph.AnalysisOptions;
import com.ibm.wala.ipa.callgraph.AnalysisScope;
import com.ibm.wala.ipa.callgraph.CallGraph;
import com.ibm.wala.ipa.callgraph.CallGraphBuilder;
import com.ibm.wala.ipa.callgraph.Entrypoint;
import com.ibm.wala.ipa.callgraph.MethodTargetSelector;
import com.ibm.wala.ipa.callgraph.propagation.PointerAnalysis;
import com.ibm.wala.ipa.cha.IClassHierarchy;
import com.ibm.wala.types.ClassLoaderReference;
@ -166,8 +167,8 @@ public class EclipseJavaScriptAnalysisEngine extends EclipseProjectSourceAnalysi
builderType.equals(BuilderType.PESSIMISTIC)?
new PessimisticCallGraphBuilder(getClassHierarchy(), options, makeDefaultCache()) {
@Override
protected FlowGraph flowGraphFactory() {
FlowGraphBuilder b = new FilteredFlowGraphBuilder(cha, cache, filter);
protected FlowGraph flowGraphFactory(JavaScriptConstructorFunctions selector) {
FlowGraphBuilder b = new FilteredFlowGraphBuilder(cha, cache, selector, filter);
return b.buildFlowGraph();
}
@Override
@ -177,8 +178,8 @@ public class EclipseJavaScriptAnalysisEngine extends EclipseProjectSourceAnalysi
}
: new OptimisticCallgraphBuilder(getClassHierarchy(), options, makeDefaultCache()) {
@Override
protected FlowGraph flowGraphFactory() {
FlowGraphBuilder b = new FilteredFlowGraphBuilder(cha, cache, filter);
protected FlowGraph flowGraphFactory(JavaScriptConstructorFunctions selector) {
FlowGraphBuilder b = new FilteredFlowGraphBuilder(cha, cache, selector, filter);
return b.buildFlowGraph();
}
};