diff --git a/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/ecj/util/SourceDirCallGraph.java b/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/ecj/util/SourceDirCallGraph.java index 090b4724a..c4c43d873 100644 --- a/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/ecj/util/SourceDirCallGraph.java +++ b/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/ecj/util/SourceDirCallGraph.java @@ -70,7 +70,7 @@ public class SourceDirCallGraph { // options.setReflectionOptions(ReflectionOptions.NONE); AnalysisCache cache = new AnalysisCacheImpl(AstIRFactory.makeDefaultFactory()); //CallGraphBuilder builder = new ZeroCFABuilderFactory().make(options, cache, cha, scope, false); - CallGraphBuilder builder = new ZeroOneContainerCFABuilderFactory().make(options, cache, cha, scope, false); + CallGraphBuilder builder = new ZeroOneContainerCFABuilderFactory().make(options, cache, cha, scope); System.out.println("building call graph..."); CallGraph cg = builder.makeCallGraph(options, null); long end = System.currentTimeMillis(); diff --git a/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/translator/jdt/ecj/ECJClassLoaderFactory.java b/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/translator/jdt/ecj/ECJClassLoaderFactory.java index 1d5574b69..62631e943 100644 --- a/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/translator/jdt/ecj/ECJClassLoaderFactory.java +++ b/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/translator/jdt/ecj/ECJClassLoaderFactory.java @@ -33,7 +33,7 @@ public class ECJClassLoaderFactory extends ClassLoaderFactoryImpl { } protected JavaSourceLoaderImpl makeSourceLoader(ClassLoaderReference classLoaderReference, IClassHierarchy cha, IClassLoader parent) { - return new ECJSourceLoaderImpl(classLoaderReference, parent, getExclusions(), cha, false); + return new ECJSourceLoaderImpl(classLoaderReference, parent, cha, false); } } diff --git a/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/translator/jdt/ecj/ECJSourceLoaderImpl.java b/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/translator/jdt/ecj/ECJSourceLoaderImpl.java index 417f4aa7c..aabce9d4c 100644 --- a/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/translator/jdt/ecj/ECJSourceLoaderImpl.java +++ b/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/translator/jdt/ecj/ECJSourceLoaderImpl.java @@ -42,17 +42,16 @@ import com.ibm.wala.cast.java.translator.SourceModuleTranslator; import com.ibm.wala.classLoader.IClassLoader; import com.ibm.wala.ipa.cha.IClassHierarchy; import com.ibm.wala.types.ClassLoaderReference; -import com.ibm.wala.util.config.SetOfClasses; public class ECJSourceLoaderImpl extends JavaSourceLoaderImpl { private final boolean dump; - public ECJSourceLoaderImpl(ClassLoaderReference loaderRef, IClassLoader parent, SetOfClasses exclusions, IClassHierarchy cha) { - this(loaderRef, parent, exclusions, cha, false); + public ECJSourceLoaderImpl(ClassLoaderReference loaderRef, IClassLoader parent, IClassHierarchy cha) { + this(loaderRef, parent, cha, false); } - public ECJSourceLoaderImpl(ClassLoaderReference loaderRef, IClassLoader parent, SetOfClasses exclusions, IClassHierarchy cha, boolean dump) { - super(loaderRef, parent, exclusions, cha); + public ECJSourceLoaderImpl(ClassLoaderReference loaderRef, IClassLoader parent, IClassHierarchy cha, boolean dump) { + super(loaderRef, parent, cha); this.dump = dump; } diff --git a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/analysis/typeInference/AstJavaTypeInference.java b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/analysis/typeInference/AstJavaTypeInference.java index a115cfc6e..fe9138df3 100644 --- a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/analysis/typeInference/AstJavaTypeInference.java +++ b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/analysis/typeInference/AstJavaTypeInference.java @@ -23,7 +23,6 @@ import com.ibm.wala.cast.java.ssa.AstJavaInvokeInstruction; import com.ibm.wala.cast.java.ssa.EnclosingObjectReference; import com.ibm.wala.classLoader.IClass; import com.ibm.wala.fixpoint.IVariable; -import com.ibm.wala.ipa.cha.IClassHierarchy; import com.ibm.wala.shrikeBT.IBinaryOpInstruction; import com.ibm.wala.ssa.IR; import com.ibm.wala.ssa.SSABinaryOpInstruction; @@ -98,8 +97,8 @@ public class AstJavaTypeInference extends AstTypeInference { } - public AstJavaTypeInference(IR ir, IClassHierarchy cha, boolean doPrimitives) { - super(ir, cha, JavaPrimitiveType.BOOLEAN, doPrimitives); + public AstJavaTypeInference(IR ir, boolean doPrimitives) { + super(ir, JavaPrimitiveType.BOOLEAN, doPrimitives); } IClass getStringClass() { diff --git a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/client/JavaSourceAnalysisEngine.java b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/client/JavaSourceAnalysisEngine.java index 226c53b76..443b0f506 100644 --- a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/client/JavaSourceAnalysisEngine.java +++ b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/client/JavaSourceAnalysisEngine.java @@ -173,6 +173,6 @@ public abstract class JavaSourceAnalysisEngine extends Ab @Override protected CallGraphBuilder getCallGraphBuilder(IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache) { - return new ZeroCFABuilderFactory().make(options, cache, cha, scope, false); + return new ZeroCFABuilderFactory().make(options, cache, cha, scope); } } diff --git a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/client/impl/ZeroCFABuilderFactory.java b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/client/impl/ZeroCFABuilderFactory.java index a0213c0b7..5f423b413 100644 --- a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/client/impl/ZeroCFABuilderFactory.java +++ b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/client/impl/ZeroCFABuilderFactory.java @@ -26,7 +26,7 @@ import com.ibm.wala.ipa.cha.IClassHierarchy; */ public class ZeroCFABuilderFactory { - public CallGraphBuilder make(AnalysisOptions options, IAnalysisCacheView cache, IClassHierarchy cha, AnalysisScope scope, boolean keepPointsTo) { + public CallGraphBuilder make(AnalysisOptions options, IAnalysisCacheView cache, IClassHierarchy cha, AnalysisScope scope) { Util.addDefaultSelectors(options, cha); Util.addDefaultBypassLogic(options, scope, Util.class.getClassLoader(), cha); return new AstJavaZeroXCFABuilder(cha, options, cache, null, null, ZeroXInstanceKeys.NONE); diff --git a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/client/impl/ZeroOneContainerCFABuilderFactory.java b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/client/impl/ZeroOneContainerCFABuilderFactory.java index 859abcccb..2cb71087f 100644 --- a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/client/impl/ZeroOneContainerCFABuilderFactory.java +++ b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/client/impl/ZeroOneContainerCFABuilderFactory.java @@ -25,7 +25,7 @@ import com.ibm.wala.ipa.cha.IClassHierarchy; */ public class ZeroOneContainerCFABuilderFactory { - public CallGraphBuilder make(AnalysisOptions options, AnalysisCache cache, IClassHierarchy cha, AnalysisScope scope, boolean keepPointsTo) { + public CallGraphBuilder make(AnalysisOptions options, AnalysisCache cache, IClassHierarchy cha, AnalysisScope scope) { Util.addDefaultSelectors(options, cha); Util.addDefaultBypassLogic(options, scope, Util.class.getClassLoader(), cha); return new AstJavaZeroOneContainerCFABuilder(cha, options, cache, null, null); diff --git a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/AstJavaSSAPropagationCallGraphBuilder.java b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/AstJavaSSAPropagationCallGraphBuilder.java index 4fba572a7..d7e86f064 100644 --- a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/AstJavaSSAPropagationCallGraphBuilder.java +++ b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/AstJavaSSAPropagationCallGraphBuilder.java @@ -96,8 +96,8 @@ public class AstJavaSSAPropagationCallGraphBuilder extends AstSSAPropagationCall // // /////////////////////////////////////////////////////////////////////////// - protected TypeInference makeTypeInference(IR ir, IClassHierarchy cha) { - TypeInference ti = new AstJavaTypeInference(ir, cha, false); + protected TypeInference makeTypeInference(IR ir) { + TypeInference ti = new AstJavaTypeInference(ir, false); if (DEBUG_TYPE_INFERENCE) { System.err.println(("IR of " + ir.getMethod())); diff --git a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/AstJavaZeroOneContainerCFABuilder.java b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/AstJavaZeroOneContainerCFABuilder.java index 90c346d5a..eacca65a3 100644 --- a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/AstJavaZeroOneContainerCFABuilder.java +++ b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/AstJavaZeroOneContainerCFABuilder.java @@ -46,7 +46,7 @@ public class AstJavaZeroOneContainerCFABuilder extends AstJavaCFABuilder { setContextInterpreter(contextInterpreter); ZeroXInstanceKeys zik = makeInstanceKeys(cha, options, contextInterpreter); - setInstanceKeys(new JavaScopeMappingInstanceKeys(cha, this, zik)); + setInstanceKeys(new JavaScopeMappingInstanceKeys(this, zik)); ContextSelector CCS = makeContainerContextSelector(cha, zik); DelegatingContextSelector DCS = new DelegatingContextSelector(CCS, contextSelector); diff --git a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/AstJavaZeroXCFABuilder.java b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/AstJavaZeroXCFABuilder.java index a70f8430c..9579f456f 100644 --- a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/AstJavaZeroXCFABuilder.java +++ b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/AstJavaZeroXCFABuilder.java @@ -38,7 +38,7 @@ public class AstJavaZeroXCFABuilder extends AstJavaCFABuilder { setContextSelector(contextSelector); - setInstanceKeys(new JavaScopeMappingInstanceKeys(cha, this, new ZeroXInstanceKeys(options, cha, contextInterpreter, + setInstanceKeys(new JavaScopeMappingInstanceKeys(this, new ZeroXInstanceKeys(options, cha, contextInterpreter, instancePolicy))); } diff --git a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/JavaScopeMappingInstanceKeys.java b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/JavaScopeMappingInstanceKeys.java index 36ef6e7f6..77b276fef 100644 --- a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/JavaScopeMappingInstanceKeys.java +++ b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/JavaScopeMappingInstanceKeys.java @@ -25,13 +25,12 @@ import com.ibm.wala.ipa.callgraph.CGNode; import com.ibm.wala.ipa.callgraph.propagation.InstanceKey; import com.ibm.wala.ipa.callgraph.propagation.InstanceKeyFactory; import com.ibm.wala.ipa.callgraph.propagation.PropagationCallGraphBuilder; -import com.ibm.wala.ipa.cha.IClassHierarchy; import com.ibm.wala.util.collections.HashSetFactory; import com.ibm.wala.util.collections.Pair; public class JavaScopeMappingInstanceKeys extends ScopeMappingInstanceKeys { - public JavaScopeMappingInstanceKeys(IClassHierarchy cha, PropagationCallGraphBuilder builder, InstanceKeyFactory basic) { + public JavaScopeMappingInstanceKeys(PropagationCallGraphBuilder builder, InstanceKeyFactory basic) { super(builder, basic); } diff --git a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/loader/JavaSourceLoaderImpl.java b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/loader/JavaSourceLoaderImpl.java index 3e6a73045..90cf8d750 100644 --- a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/loader/JavaSourceLoaderImpl.java +++ b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/loader/JavaSourceLoaderImpl.java @@ -66,7 +66,6 @@ import com.ibm.wala.shrikeCT.AnnotationsReader.ConstantElementValue; import com.ibm.wala.shrikeCT.AnnotationsReader.ElementValue; import com.ibm.wala.shrikeCT.ClassConstants; import com.ibm.wala.ssa.SSAInstruction; -import com.ibm.wala.ssa.SSAThrowInstruction; import com.ibm.wala.ssa.SymbolTable; import com.ibm.wala.types.ClassLoaderReference; import com.ibm.wala.types.Descriptor; @@ -78,7 +77,6 @@ import com.ibm.wala.types.TypeReference; import com.ibm.wala.types.annotations.Annotation; import com.ibm.wala.util.collections.HashMapFactory; import com.ibm.wala.util.collections.HashSetFactory; -import com.ibm.wala.util.config.SetOfClasses; import com.ibm.wala.util.debug.Assertions; import com.ibm.wala.util.strings.Atom; @@ -483,14 +481,14 @@ public abstract class JavaSourceLoaderImpl extends ClassLoaderImpl { /** BEGIN Custom change: Common superclass is optional */ public JavaSourceLoaderImpl(boolean existsCommonSuperClass, ClassLoaderReference loaderRef, IClassLoader parent, - SetOfClasses exclusions, IClassHierarchy cha) { + IClassHierarchy cha) { super(loaderRef, cha.getScope().getArrayClassLoader(), parent, cha.getScope().getExclusions(), cha); this.existsCommonSuperclass = existsCommonSuperClass; } - public JavaSourceLoaderImpl(ClassLoaderReference loaderRef, IClassLoader parent, SetOfClasses exclusions, IClassHierarchy cha) { + public JavaSourceLoaderImpl(ClassLoaderReference loaderRef, IClassLoader parent, IClassHierarchy cha) { // standard case: we have a common super class - this(true, loaderRef, parent, exclusions, cha); + this(true, loaderRef, parent, cha); } /** END Custom change: Common superclass is optional */ @@ -661,10 +659,6 @@ public abstract class JavaSourceLoaderImpl extends ClassLoaderImpl { public AstLexicalWrite LexicalWrite(int iindex, String definer, String globalName, TypeReference type, int rhs) { return new AstLexicalWrite(iindex, definer, globalName, type, rhs); } - - public SSAThrowInstruction NonExceptingThrowInstruction(int iindex, int exception) { - throw new UnsupportedOperationException(); - } } private static final InstructionFactory insts = new InstructionFactory(); diff --git a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/translator/JavaCAst2IRTranslator.java b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/translator/JavaCAst2IRTranslator.java index 672c44e20..0f9abe4de 100644 --- a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/translator/JavaCAst2IRTranslator.java +++ b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/translator/JavaCAst2IRTranslator.java @@ -202,10 +202,6 @@ public class JavaCAst2IRTranslator extends AstTranslator { processExceptions(call, context); } - protected void doGlobalRead(WalkContext context, int result, String name) { - Assertions.UNREACHABLE("doGlobalRead() called for Java code???"); - } - @Override protected void doGlobalWrite(WalkContext context, String name, TypeReference type, int rval) { Assertions.UNREACHABLE("doGlobalWrite() called for Java code???"); diff --git a/com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/examples/hybrid/Driver.java b/com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/examples/hybrid/Driver.java index 42bc96760..deb70ddc4 100644 --- a/com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/examples/hybrid/Driver.java +++ b/com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/examples/hybrid/Driver.java @@ -16,12 +16,7 @@ import com.ibm.wala.cast.js.translator.CAstRhinoTranslatorFactory; import com.ibm.wala.classLoader.IMethod; import com.ibm.wala.classLoader.Language; import com.ibm.wala.classLoader.SourceURLModule; -import com.ibm.wala.ipa.callgraph.AnalysisCache; -import com.ibm.wala.ipa.callgraph.AnalysisCacheImpl; -import com.ibm.wala.ipa.callgraph.AnalysisOptions; -import com.ibm.wala.ipa.callgraph.AnalysisScope; -import com.ibm.wala.ipa.callgraph.Entrypoint; -import com.ibm.wala.ipa.callgraph.MethodTargetSelector; +import com.ibm.wala.ipa.callgraph.*; import com.ibm.wala.ipa.callgraph.impl.ComposedEntrypoints; import com.ibm.wala.ipa.cha.ClassHierarchyException; import com.ibm.wala.ipa.cha.IClassHierarchy; @@ -34,7 +29,7 @@ import com.ibm.wala.util.strings.Atom; public class Driver { - public static void addDefaultDispatchLogic(AnalysisOptions options, AnalysisScope scope, IClassHierarchy cha, AnalysisCache cache) { + public static void addDefaultDispatchLogic(AnalysisOptions options, IClassHierarchy cha) { com.ibm.wala.ipa.callgraph.impl.Util.addDefaultSelectors(options, cha); Map methodTargetSelectors = HashMapFactory.make(); @@ -52,7 +47,7 @@ public class Driver { HybridAnalysisScope scope = new HybridAnalysisScope(); FileProvider files = new FileProvider(); - AnalysisScopeReader.read(scope, args[0], files.getFile("Java60RegressionExclusions.txt"), Driver.class.getClassLoader(), files); + AnalysisScopeReader.read(scope, args[0], files.getFile("Java60RegressionExclusions.txt"), Driver.class.getClassLoader()); scope.addToScope( scope.getJavaScriptLoader(), @@ -81,7 +76,7 @@ public class Driver { AnalysisCache cache = new AnalysisCacheImpl(factory); - addDefaultDispatchLogic(options, scope, cha, cache); + addDefaultDispatchLogic(options, cha); JavaJavaScriptHybridCallGraphBuilder b = new JavaJavaScriptHybridCallGraphBuilder(cha, options, cache); diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/analysis/typeInference/JSPrimitiveType.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/analysis/typeInference/JSPrimitiveType.java index b68011e9c..23fd5cded 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/analysis/typeInference/JSPrimitiveType.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/analysis/typeInference/JSPrimitiveType.java @@ -16,7 +16,6 @@ import com.ibm.wala.types.TypeReference; public class JSPrimitiveType extends PrimitiveType { - @SuppressWarnings("unused") public static void init() { new JSPrimitiveType(JavaScriptTypes.Undefined, -1); diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/analysis/typeInference/JSTypeInference.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/analysis/typeInference/JSTypeInference.java index dc3eecef5..40583c065 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/analysis/typeInference/JSTypeInference.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/analysis/typeInference/JSTypeInference.java @@ -34,7 +34,7 @@ import com.ibm.wala.types.TypeReference; public class JSTypeInference extends AstTypeInference { public JSTypeInference(IR ir, IClassHierarchy cha) { - super(ir, cha, new PointType(cha.lookupClass(JavaScriptTypes.Boolean)), true); + super(ir, new PointType(cha.lookupClass(JavaScriptTypes.Boolean)), true); } @Override diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/FieldBasedCallGraphBuilder.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/FieldBasedCallGraphBuilder.java index 39848d539..8c48797cc 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/FieldBasedCallGraphBuilder.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/FieldBasedCallGraphBuilder.java @@ -83,11 +83,11 @@ public abstract class FieldBasedCallGraphBuilder { this.options = options; this.cache = iAnalysisCacheView; this.constructors = new JavaScriptConstructorFunctions(cha); - this.targetSelector = setupMethodTargetSelector(cha, constructors, options); + this.targetSelector = setupMethodTargetSelector(constructors, options); this.supportFullPointerAnalysis = supportFullPointerAnalysis; } - private static MethodTargetSelector setupMethodTargetSelector(IClassHierarchy cha, JavaScriptConstructorFunctions constructors2, AnalysisOptions options) { + private static MethodTargetSelector setupMethodTargetSelector(JavaScriptConstructorFunctions constructors2, AnalysisOptions options) { MethodTargetSelector result = new JavaScriptConstructTargetSelector(constructors2, options.getMethodTargetSelector()); if (options instanceof JSAnalysisOptions && ((JSAnalysisOptions)options).handleCallApply()) { result = new JavaScriptFunctionApplyTargetSelector(new JavaScriptFunctionDotCallTargetSelector(result)); diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/OptimisticCallgraphBuilder.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/OptimisticCallgraphBuilder.java index 00dd69ea5..1b7d82377 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/OptimisticCallgraphBuilder.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/OptimisticCallgraphBuilder.java @@ -75,7 +75,7 @@ public class OptimisticCallgraphBuilder extends FieldBasedCallGraphBuilder { if(newEdge) { // handle it - addEdge(flowgraph, edge.fst, edge.snd, monitor); + addEdge(flowgraph, edge.fst, edge.snd); // special handling of invocations of Function.prototype.call // TODO: since we've just added some edges to the flow graph, its transitive closure will be @@ -93,7 +93,7 @@ public class OptimisticCallgraphBuilder extends FieldBasedCallGraphBuilder { } // add flow corresponding to a new call edge - private static void addEdge(FlowGraph flowgraph, CallVertex c, FuncVertex callee, IProgressMonitor monitor) { + private static void addEdge(FlowGraph flowgraph, CallVertex c, FuncVertex callee) { VertexFactory factory = flowgraph.getVertexFactory(); JavaScriptInvoke invk = c.getInstruction(); FuncVertex caller = c.getCaller(); diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/flowgraph/FlowGraph.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/flowgraph/FlowGraph.java index eaded2419..0ca8061d1 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/flowgraph/FlowGraph.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/flowgraph/FlowGraph.java @@ -111,7 +111,7 @@ public class FlowGraph implements Iterable { public boolean test(Vertex t) { return t.accept(new AbstractVertexVisitor() { @Override - public Boolean visitVertex(Vertex vertex) { + public Boolean visitVertex() { return true; } diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/flowgraph/vertices/AbstractVertexVisitor.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/flowgraph/vertices/AbstractVertexVisitor.java index cf15947a6..2e084d190 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/flowgraph/vertices/AbstractVertexVisitor.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/flowgraph/vertices/AbstractVertexVisitor.java @@ -16,67 +16,67 @@ package com.ibm.wala.cast.js.callgraph.fieldbased.flowgraph.vertices; * @author mschaefer */ public class AbstractVertexVisitor implements VertexVisitor { - public T visitVertex(Vertex vertex) { + public T visitVertex() { return null; } @Override public T visitVarVertex(VarVertex varVertex) { - return visitVertex(varVertex); + return visitVertex(); } @Override public T visitPropVertex(PropVertex propVertex) { - return visitVertex(propVertex); + return visitVertex(); } @Override public T visitUnknownVertex(UnknownVertex unknownVertex) { - return visitVertex(unknownVertex); + return visitVertex(); } @Override public T visitFuncVertex(FuncVertex funcVertex) { - return visitVertex(funcVertex); + return visitVertex(); } @Override public T visitCreationSiteVertex(CreationSiteVertex csVertex) { - return visitVertex(csVertex); + return visitVertex(); } @Override public T visitParamVertex(ParamVertex paramVertex) { - return visitVertex(paramVertex); + return visitVertex(); } @Override public T visitRetVertex(RetVertex retVertex) { - return visitVertex(retVertex); + return visitVertex(); } @Override public T visitArgVertex(ArgVertex argVertex) { - return visitVertex(argVertex); + return visitVertex(); } @Override public T visitCalleeVertex(CallVertex calleeVertex) { - return visitVertex(calleeVertex); + return visitVertex(); } @Override public T visitLexicalAccessVertex(LexicalVarVertex lexicalAccessVertex) { - return visitVertex(lexicalAccessVertex); + return visitVertex(); } @Override public T visitGlobalVertex(GlobalVertex globalVertex) { - return visitVertex(globalVertex); + return visitVertex(); } @Override public T visitPrototypeVertex(PrototypeFieldVertex protoVertex) { - return visitVertex(protoVertex); + return visitVertex(); } } diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/client/JavaScriptAnalysisEngine.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/client/JavaScriptAnalysisEngine.java index 571d00b7d..a58dee362 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/client/JavaScriptAnalysisEngine.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/client/JavaScriptAnalysisEngine.java @@ -189,7 +189,7 @@ public abstract class JavaScriptAnalysisEngine extends Ab @Override protected CallGraphBuilder getCallGraphBuilder(IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache) { - return new ZeroCFABuilderFactory().make((JSAnalysisOptions) options, cache, cha, scope, false); + return new ZeroCFABuilderFactory().make((JSAnalysisOptions) options, cache, cha); } } diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/client/impl/OneCFABuilderFactory.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/client/impl/OneCFABuilderFactory.java index 31d8fc570..3944a9f1f 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/client/impl/OneCFABuilderFactory.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/client/impl/OneCFABuilderFactory.java @@ -14,7 +14,6 @@ import com.ibm.wala.cast.ipa.callgraph.StandardFunctionTargetSelector; import com.ibm.wala.cast.js.ipa.callgraph.JSAnalysisOptions; import com.ibm.wala.cast.js.ipa.callgraph.JSZeroOrOneXCFABuilder; import com.ibm.wala.ipa.callgraph.AnalysisCache; -import com.ibm.wala.ipa.callgraph.AnalysisScope; import com.ibm.wala.ipa.callgraph.CallGraphBuilder; import com.ibm.wala.ipa.callgraph.propagation.InstanceKey; import com.ibm.wala.ipa.callgraph.propagation.cfa.ZeroXInstanceKeys; @@ -27,8 +26,7 @@ import com.ibm.wala.ipa.cha.IClassHierarchy; */ public class OneCFABuilderFactory { - public CallGraphBuilder make(JSAnalysisOptions options, AnalysisCache cache, IClassHierarchy cha, AnalysisScope scope, - boolean keepPointsTo) { + public CallGraphBuilder make(JSAnalysisOptions options, AnalysisCache cache, IClassHierarchy cha) { com.ibm.wala.ipa.callgraph.impl.Util.addDefaultSelectors(options, cha); options.setSelector(new StandardFunctionTargetSelector(cha, options.getMethodTargetSelector())); diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/client/impl/ZeroCFABuilderFactory.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/client/impl/ZeroCFABuilderFactory.java index 780db558f..088628fd0 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/client/impl/ZeroCFABuilderFactory.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/client/impl/ZeroCFABuilderFactory.java @@ -13,7 +13,6 @@ package com.ibm.wala.cast.js.client.impl; import com.ibm.wala.cast.ipa.callgraph.StandardFunctionTargetSelector; import com.ibm.wala.cast.js.ipa.callgraph.JSAnalysisOptions; import com.ibm.wala.cast.js.ipa.callgraph.JSZeroOrOneXCFABuilder; -import com.ibm.wala.ipa.callgraph.AnalysisScope; import com.ibm.wala.ipa.callgraph.CallGraphBuilder; import com.ibm.wala.ipa.callgraph.IAnalysisCacheView; import com.ibm.wala.ipa.callgraph.propagation.cfa.ZeroXInstanceKeys; @@ -26,8 +25,7 @@ import com.ibm.wala.ipa.cha.IClassHierarchy; */ public class ZeroCFABuilderFactory { - public CallGraphBuilder make(JSAnalysisOptions options, IAnalysisCacheView cache, IClassHierarchy cha, AnalysisScope scope, - boolean keepPointsTo) { + public CallGraphBuilder make(JSAnalysisOptions options, IAnalysisCacheView cache, IClassHierarchy cha) { com.ibm.wala.ipa.callgraph.impl.Util.addDefaultSelectors(options, cha); options.setSelector(new StandardFunctionTargetSelector(cha, options.getMethodTargetSelector())); diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/html/DefaultSourceExtractor.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/html/DefaultSourceExtractor.java index d4ddb6961..c4a8e666f 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/html/DefaultSourceExtractor.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/html/DefaultSourceExtractor.java @@ -116,7 +116,7 @@ public class DefaultSourceExtractor extends DomLessSourceExtractor{ for (Map.Entry> e : attrs.entrySet()){ String attr = e.getKey(); String value = e.getValue().fst; - writeAttribute(tag, e.getValue().snd, attr, value, "this", varName); + writeAttribute(tag, attr, value, "this", varName); } if (tag.getName().equalsIgnoreCase("FORM")) { @@ -143,7 +143,7 @@ public class DefaultSourceExtractor extends DomLessSourceExtractor{ } } - inputElementCallback(tag); + inputElementCallback(); } assert varName != null && !"".equals(varName); @@ -152,16 +152,16 @@ public class DefaultSourceExtractor extends DomLessSourceExtractor{ printlnIndented("parent.appendChild(this);", tag); } - protected void inputElementCallback(ITag tag) { + protected void inputElementCallback() { // this space intentionally left blank } - protected void writeAttribute(ITag tag, Position pos, String attr, String value, String varName, String varName2) { + protected void writeAttribute(ITag tag, String attr, String value, String varName, String varName2) { writePortletAttribute(tag, attr, value, varName); - writeEventAttribute(tag, pos, attr, value, varName, varName2); + writeEventAttribute(tag, attr, value, varName, varName2); } - protected void writeEventAttribute(ITag tag, Position pos, String attr, String value, String varName, String varName2){ + protected void writeEventAttribute(ITag tag, String attr, String value, String varName, String varName2){ //There should probably be more checking to see what the attributes are since we allow things like: ; to be used as attributes now. if(attr.length() >= 2 && attr.substring(0,2).equals("on")) { printlnIndented(varName + "." + attr + " = function " + tag.getName().toLowerCase() + "_" + attr + "(event) {" + value + "};", tag); diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/html/DomLessSourceExtractor.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/html/DomLessSourceExtractor.java index 3ea06463a..99974e49e 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/html/DomLessSourceExtractor.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/html/DomLessSourceExtractor.java @@ -88,11 +88,7 @@ public class DomLessSourceExtractor extends JSSourceExtractor { writeEntrypoint("window.onload();"); } - protected Position makePos(int lineNumber, ITag governingTag) { - return makePos(entrypointUrl, lineNumber, governingTag); - } - - protected Position makePos(final URL url, final int lineNumber, ITag governingTag) { + protected Position makePos(ITag governingTag) { return governingTag.getElementPosition(); } diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JavaScriptConstructTargetSelector.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JavaScriptConstructTargetSelector.java index 6a4831da7..ed50a5ff6 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JavaScriptConstructTargetSelector.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JavaScriptConstructTargetSelector.java @@ -20,7 +20,6 @@ import com.ibm.wala.ipa.callgraph.MethodTargetSelector; import com.ibm.wala.ipa.cha.IClassHierarchy; import com.ibm.wala.ssa.IR; import com.ibm.wala.ssa.SSAAbstractInvokeInstruction; -import com.ibm.wala.types.MethodReference; /** * generates instructions to simulate the semantics of JS constructor invocations @@ -54,11 +53,7 @@ public class JavaScriptConstructTargetSelector implements MethodTargetSelector { } } - public boolean mightReturnSyntheticMethod(CGNode caller, CallSiteReference site) { - return true; - } - - public boolean mightReturnSyntheticMethod(MethodReference declaredTarget) { + public boolean mightReturnSyntheticMethod() { return true; } } diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JavaScriptFunctionDotCallTargetSelector.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JavaScriptFunctionDotCallTargetSelector.java index a6a948eaf..e8118eedf 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JavaScriptFunctionDotCallTargetSelector.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JavaScriptFunctionDotCallTargetSelector.java @@ -135,7 +135,7 @@ public class JavaScriptFunctionDotCallTargetSelector implements MethodTargetSele return callModels.get(key); } JSInstructionFactory insts = (JSInstructionFactory) receiver.getClassLoader().getInstructionFactory(); - MethodReference ref = genSyntheticMethodRef(receiver, nargs, key); + MethodReference ref = genSyntheticMethodRef(receiver, key); JavaScriptSummary S = new JavaScriptSummary(ref, nargs); if(WARN_ABOUT_IMPRECISE_CALLGRAPH && caller.getMethod().getName().toString().contains(SYNTHETIC_CALL_METHOD_PREFIX)) @@ -175,7 +175,7 @@ public class JavaScriptFunctionDotCallTargetSelector implements MethodTargetSele public static final String SYNTHETIC_CALL_METHOD_PREFIX = "$$ call_"; - private static MethodReference genSyntheticMethodRef(IClass receiver, int nargs, String key) { + private static MethodReference genSyntheticMethodRef(IClass receiver, String key) { Atom atom = Atom.findOrCreateUnicodeAtom(SYNTHETIC_CALL_METHOD_PREFIX + key); Descriptor desc = Descriptor.findOrCreateUTF8(JavaScriptLoader.JS, "()LRoot;"); MethodReference ref = MethodReference.findOrCreate(receiver.getReference(), atom, desc); diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/correlations/extraction/CAstRewriterExt.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/correlations/extraction/CAstRewriterExt.java index 930724862..2b0beabb2 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/correlations/extraction/CAstRewriterExt.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/correlations/extraction/CAstRewriterExt.java @@ -229,14 +229,14 @@ public abstract class CAstRewriterExt extends CAstRewriter { enterEntity(root); CAstEntity entity = super.rewrite(root); rewrite_cache.put(root, entity); - leaveEntity(root); + leaveEntity(); entities.pop(); return entity; } } - protected void enterEntity(CAstEntity entity) {} - protected void leaveEntity(CAstEntity entity) {} + protected void enterEntity(@SuppressWarnings("unused") CAstEntity entity) {} + protected void leaveEntity() {} public CAstRewriterExt(CAst Ast, boolean recursive, NodePos rootContext) { super(Ast, recursive, rootContext); diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/correlations/extraction/ClosureExtractor.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/correlations/extraction/ClosureExtractor.java index 20c3a3486..f6e58b528 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/correlations/extraction/ClosureExtractor.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/correlations/extraction/ClosureExtractor.java @@ -200,7 +200,7 @@ public class ClosureExtractor extends CAstRewriterExt { } @Override - protected void leaveEntity(CAstEntity entity) { + protected void leaveEntity() { policies.pop(); } @@ -210,7 +210,7 @@ public class ClosureExtractor extends CAstRewriterExt { case OPERATOR: return root; case CONSTANT: - return copyConstant(root, cfg, context, nodeMap); + return copyConstant(root, context, nodeMap); case BLOCK_STMT: return copyBlock(root, cfg, context, nodeMap); case RETURN: @@ -225,7 +225,7 @@ public class ClosureExtractor extends CAstRewriterExt { } /* Constants are not affected by the rewriting, they are just copied. */ - private CAstNode copyConstant(CAstNode root, CAstControlFlowMap cfg, NodePos context, Map, CAstNode> nodeMap) { + private CAstNode copyConstant(CAstNode root, NodePos context, Map, CAstNode> nodeMap) { CAstNode newNode = Ast.makeConstant(root.getValue()); nodeMap.put(Pair.make(root, context.key()), newNode); return newNode; diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/util/CallGraph2JSON.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/util/CallGraph2JSON.java index ff482ecae..a35f9a96e 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/util/CallGraph2JSON.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/util/CallGraph2JSON.java @@ -89,12 +89,12 @@ public class CallGraph2JSON { public static void serializeCallSite(AstMethod method, CallSiteReference callsite, Set targets, Map> edges) { - Set targetNames = MapUtil.findOrCreateSet(edges, ppPos(method, method.getSourcePosition(callsite.getProgramCounter()))); + Set targetNames = MapUtil.findOrCreateSet(edges, ppPos(method.getSourcePosition(callsite.getProgramCounter()))); for(IMethod target : targets) { target = getCallTargetMethod(target); if(!isRealFunction(target)) continue; - targetNames.add(ppPos((AstMethod)target, ((AstMethod)target).getSourcePosition())); + targetNames.add(ppPos(((AstMethod)target).getSourcePosition())); } } @@ -126,7 +126,7 @@ public class CallGraph2JSON { return false; } - private static String ppPos(AstMethod method, Position pos) { + private static String ppPos(Position pos) { String file = pos.getURL().getFile(); file = file.substring(file.lastIndexOf('/')+1); diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/analysis/typeInference/AstTypeInference.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/analysis/typeInference/AstTypeInference.java index 2459702a7..d6edb1eac 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/analysis/typeInference/AstTypeInference.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/analysis/typeInference/AstTypeInference.java @@ -23,7 +23,6 @@ import com.ibm.wala.cast.ir.ssa.AstLexicalRead; import com.ibm.wala.cast.ir.ssa.AstLexicalWrite; import com.ibm.wala.cast.ir.ssa.EachElementGetInstruction; import com.ibm.wala.cast.ir.ssa.EachElementHasNextInstruction; -import com.ibm.wala.ipa.cha.IClassHierarchy; import com.ibm.wala.ssa.IR; public abstract class AstTypeInference extends TypeInference { @@ -75,7 +74,7 @@ public abstract class AstTypeInference extends TypeInference { } } - public AstTypeInference(IR ir, IClassHierarchy cha, TypeAbstraction booleanType, boolean doPrimitives) { + public AstTypeInference(IR ir, TypeAbstraction booleanType, boolean doPrimitives) { super(ir, doPrimitives); this.booleanType = booleanType; } diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/AstContextInsensitiveSSAContextInterpreter.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/AstContextInsensitiveSSAContextInterpreter.java index d70027d85..715d4fa6b 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/AstContextInsensitiveSSAContextInterpreter.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/AstContextInsensitiveSSAContextInterpreter.java @@ -17,10 +17,7 @@ import com.ibm.wala.classLoader.CallSiteReference; import com.ibm.wala.classLoader.CodeScanner; import com.ibm.wala.classLoader.IMethod; import com.ibm.wala.classLoader.NewSiteReference; -import com.ibm.wala.ipa.callgraph.AnalysisOptions; -import com.ibm.wala.ipa.callgraph.CGNode; -import com.ibm.wala.ipa.callgraph.Context; -import com.ibm.wala.ipa.callgraph.IAnalysisCacheView; +import com.ibm.wala.ipa.callgraph.*; import com.ibm.wala.ipa.callgraph.propagation.cfa.ContextInsensitiveSSAInterpreter; import com.ibm.wala.ssa.IR; import com.ibm.wala.util.collections.EmptyIterator; @@ -37,7 +34,7 @@ public class AstContextInsensitiveSSAContextInterpreter extends ContextInsensiti super(options, cache); } - public boolean understands(IMethod method, Context context) { + public boolean understands(IMethod method) { return method instanceof AstMethod; } diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/AstSSAPropagationCallGraphBuilder.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/AstSSAPropagationCallGraphBuilder.java index 89cdbcf1b..6e2872c6e 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/AstSSAPropagationCallGraphBuilder.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/AstSSAPropagationCallGraphBuilder.java @@ -18,19 +18,8 @@ import java.util.Set; import com.ibm.wala.analysis.reflection.ReflectionContextInterpreter; import com.ibm.wala.cast.ipa.callgraph.AstCallGraph.AstCGNode; import com.ibm.wala.cast.ipa.callgraph.ScopeMappingInstanceKeys.ScopeMappingInstanceKey; -import com.ibm.wala.cast.ir.ssa.AstAssertInstruction; -import com.ibm.wala.cast.ir.ssa.AstEchoInstruction; -import com.ibm.wala.cast.ir.ssa.AstGlobalRead; -import com.ibm.wala.cast.ir.ssa.AstGlobalWrite; -import com.ibm.wala.cast.ir.ssa.AstIRFactory; -import com.ibm.wala.cast.ir.ssa.AstInstructionVisitor; -import com.ibm.wala.cast.ir.ssa.AstIsDefinedInstruction; -import com.ibm.wala.cast.ir.ssa.AstLexicalAccess; +import com.ibm.wala.cast.ir.ssa.*; import com.ibm.wala.cast.ir.ssa.AstLexicalAccess.Access; -import com.ibm.wala.cast.ir.ssa.AstLexicalRead; -import com.ibm.wala.cast.ir.ssa.AstLexicalWrite; -import com.ibm.wala.cast.ir.ssa.EachElementGetInstruction; -import com.ibm.wala.cast.ir.ssa.EachElementHasNextInstruction; import com.ibm.wala.cast.ir.translator.AstTranslator; import com.ibm.wala.cast.loader.AstMethod; import com.ibm.wala.cast.loader.AstMethod.LexicalInformation; @@ -102,6 +91,7 @@ public abstract class AstSSAPropagationCallGraphBuilder extends SSAPropagationCa * each language can specify whether a particular field name should be stored * in object catalogs or not. By default, always return false. */ + @SuppressWarnings("unused") protected boolean isUncataloguedField(IClass type, String fieldName) { return false; } @@ -357,8 +347,8 @@ public abstract class AstSSAPropagationCallGraphBuilder extends SSAPropagationCa return ((AstPointerKeyFactory) getBuilder().getPointerKeyFactory()).getPointerKeysForReflectedFieldWrite(I, F); } - private static void visitLexical(AstLexicalAccess instruction, final LexicalOperator op) { - op.doLexicalPointerKeys(false); + private static void visitLexical(final LexicalOperator op) { + op.doLexicalPointerKeys(); // I have no idea what the code below does, but commenting it out doesn't // break any regression tests. --MS // if (! checkLexicalInstruction(instruction)) { @@ -370,7 +360,7 @@ public abstract class AstSSAPropagationCallGraphBuilder extends SSAPropagationCa @Override public void visitAstLexicalRead(AstLexicalRead instruction) { - visitLexical(instruction, new LexicalOperator((AstCGNode) node, instruction.getAccesses(), true) { + visitLexical(new LexicalOperator((AstCGNode) node, instruction.getAccesses(), true) { @Override protected void action(PointerKey lexicalKey, int vn) { PointerKey lval = getPointerKeyForLocal(vn); @@ -400,7 +390,7 @@ public abstract class AstSSAPropagationCallGraphBuilder extends SSAPropagationCa @Override public void visitAstLexicalWrite(AstLexicalWrite instruction) { - visitLexical(instruction, new LexicalOperator((AstCGNode) node, instruction.getAccesses(), false) { + visitLexical(new LexicalOperator((AstCGNode) node, instruction.getAccesses(), false) { @Override protected void action(PointerKey lexicalKey, int vn) { PointerKey rval = getPointerKeyForLocal(vn); @@ -618,7 +608,7 @@ public abstract class AstSSAPropagationCallGraphBuilder extends SSAPropagationCa * {@link AstConstraintVisitor#handleRootLexicalReference(String, String, CGNode)} * . */ - private void doLexicalPointerKeys(boolean funargsOnly) { + private void doLexicalPointerKeys() { for (int i = 0; i < accesses.length; i++) { final String name = accesses[i].variableName; final String definer = accesses[i].variableDefiner; @@ -640,7 +630,7 @@ public abstract class AstSSAPropagationCallGraphBuilder extends SSAPropagationCa @Override public byte evaluate(PointsToSetVariable lhs, PointsToSetVariable rhs) { - doLexicalPointerKeys(true); + doLexicalPointerKeys(); return NOT_CHANGED; } diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/ScriptEntryPoints.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/ScriptEntryPoints.java index dc27015b1..594814887 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/ScriptEntryPoints.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/ScriptEntryPoints.java @@ -81,7 +81,7 @@ public abstract class ScriptEntryPoints implements Iterable { protected abstract CallSiteReference makeScriptSite(IMethod m, int pc); - protected boolean keep(IMethod method) { + protected boolean keep() { return true; } @@ -93,7 +93,7 @@ public abstract class ScriptEntryPoints implements Iterable { IClass cls = classes.next(); if (cha.isSubclassOf(cls, scriptType) && !cls.isAbstract()) { for (IMethod method : cls.getDeclaredMethods()) { - if (keep(method)) { + if (keep()) { ES.add(new ScriptEntryPoint(method)); } } @@ -107,7 +107,7 @@ public abstract class ScriptEntryPoints implements Iterable { IClass cls = cha.lookupClass(TypeReference.findOrCreate(scriptType.getClassLoader().getReference(), scriptName)); assert cls != null && cha.isSubclassOf(cls, scriptType) && !cls.isAbstract() : String.valueOf(cls) + " for " + scriptName; for (IMethod method : cls.getDeclaredMethods()) { - if (keep(method)) { + if (keep()) { return new ScriptEntryPoint(method); } } diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/StandardFunctionTargetSelector.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/StandardFunctionTargetSelector.java index 25a7a2f08..c6c48d976 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/StandardFunctionTargetSelector.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/StandardFunctionTargetSelector.java @@ -19,7 +19,6 @@ import com.ibm.wala.ipa.callgraph.CGNode; import com.ibm.wala.ipa.callgraph.MethodTargetSelector; import com.ibm.wala.ipa.cha.IClassHierarchy; import com.ibm.wala.types.ClassLoaderReference; -import com.ibm.wala.types.MethodReference; import com.ibm.wala.types.TypeReference; public class StandardFunctionTargetSelector implements MethodTargetSelector { @@ -67,11 +66,7 @@ public class StandardFunctionTargetSelector implements MethodTargetSelector { } } - public boolean mightReturnSyntheticMethod(CGNode caller, CallSiteReference site) { - return true; - } - - public boolean mightReturnSyntheticMethod(MethodReference declaredTarget) { + public boolean mightReturnSyntheticMethod() { return true; } } diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AbstractSSAConversion.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AbstractSSAConversion.java index 4e8db3df3..2b5074d01 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AbstractSSAConversion.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AbstractSSAConversion.java @@ -426,7 +426,7 @@ public abstract class AbstractSSAConversion { return newDefs; } - protected boolean skipRepair(SSAInstruction inst, int index) { + protected boolean skipRepair(SSAInstruction inst, @SuppressWarnings("unused") int index) { if (inst == null) return true; for (int i = 0; i < getNumberOfDefs(inst); i++) diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AstIRFactory.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AstIRFactory.java index a62a5bab4..d035dc1b2 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AstIRFactory.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AstIRFactory.java @@ -36,7 +36,7 @@ import com.ibm.wala.types.TypeReference; public class AstIRFactory implements IRFactory { - public ControlFlowGraph makeCFG(final IMethod method, final Context context) { + public ControlFlowGraph makeCFG(final IMethod method) { return ((AstMethod) method).getControlFlowGraph(); } @@ -63,7 +63,7 @@ public class AstIRFactory implements IRFactory { @Override public ControlFlowGraph makeCFG(IMethod method, Context context) { if (method instanceof AstMethod) { - return astFactory.makeCFG(method, context); + return astFactory.makeCFG(method); } else { return super.makeCFG(method, context); } diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/translator/AstTranslator.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/translator/AstTranslator.java index 140443fc5..2c5b5ad06 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/translator/AstTranslator.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/translator/AstTranslator.java @@ -245,8 +245,7 @@ public abstract class AstTranslator extends CAstVisitor visitor) { + protected void handleUnspecifiedLiteralKey() { Assertions.UNREACHABLE(); } @@ -409,7 +408,7 @@ public abstract class AstTranslator extends CAstVisitor scopes, SSAInstruction[] insts) { + protected String[] makeNameMap(CAstEntity n, Set scopes, @SuppressWarnings("unused") SSAInstruction[] insts) { // all scopes share the same underlying symtab, which is what // size really refers to. String[] map = new String[scopes.iterator().next().size() + 1]; @@ -3252,7 +3252,7 @@ public abstract class AstTranslator extends CAstVisitor visitor) { declareFunction(n, codeContext); - initFunctionEntity(n, context, codeContext); + initFunctionEntity(codeContext); return false; } @@ -3279,7 +3279,7 @@ public abstract class AstTranslator extends CAstVisitor visitor) { WalkContext context = c; if (n.getChild(i).getKind() == CAstNode.EMPTY) { - handleUnspecifiedLiteralKey(context, n, i, visitor); + handleUnspecifiedLiteralKey(); } doFieldWrite(context, c.getValue(n.getChild(0)), n.getChild(i), n, c.getValue(n.getChild(i + 1))); } @@ -4005,7 +4005,7 @@ public abstract class AstTranslator extends CAstVisitor visitor) { /* empty */ return false; @@ -4078,7 +4075,7 @@ public abstract class AstTranslator extends CAstVisitor, K e * rewritten AST? By default, just uses the original target. * */ + @SuppressWarnings("unused") protected CAstNode flowOutTo(Map, CAstNode> nodeMap, CAstNode oldSource, Object label, CAstNode oldTarget, CAstControlFlowMap orig, CAstSourcePositionMap src) { return oldTarget; @@ -307,7 +308,7 @@ public abstract class CAstRewriter, K e } } - protected Map> copyChildren(CAstNode root, Map, CAstNode> nodeMap, + protected Map> copyChildren(@SuppressWarnings("unused") CAstNode root, Map, CAstNode> nodeMap, Map> children) { final Map> newChildren = new LinkedHashMap<>(); diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/visit/CAstVisitor.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/visit/CAstVisitor.java index 7df217f06..8abeeef8e 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/visit/CAstVisitor.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/visit/CAstVisitor.java @@ -86,7 +86,7 @@ public abstract class CAstVisitor { * @param context a visitor-specific context in which the unwind was visited * @param n the unwind node */ - protected C makeUnwindContext(C context, CAstNode n, CAstVisitor visitor) { return context; } + protected C makeUnwindContext(C context, CAstNode n, @SuppressWarnings("unused") CAstVisitor visitor) { return context; } private final Map entityParents = HashMapFactory.make(); @@ -114,6 +114,7 @@ public abstract class CAstVisitor { * Should invoke super.doVisitEntity() for unprocessed entities. * @return true if entity was handled */ + @SuppressWarnings("unused") protected boolean doVisitEntity(CAstEntity n, C context, CAstVisitor visitor) { return false; } @@ -239,13 +240,13 @@ public abstract class CAstVisitor { * @param context a visitor-specific context * @return true if no further processing is needed */ - protected boolean enterEntity(CAstEntity n, C context, CAstVisitor visitor) { return false; } + protected boolean enterEntity(CAstEntity n, C context, @SuppressWarnings("unused") CAstVisitor visitor) { return false; } /** * Post-process an entity after visiting it. * @param n the entity to process * @param context a visitor-specific context */ - protected void postProcessEntity(CAstEntity n, C context, CAstVisitor visitor) { return; } + protected void postProcessEntity(CAstEntity n, C context, @SuppressWarnings("unused") CAstVisitor visitor) { return; } /** * Visit any entity. Override only this to change behavior for all entities. @@ -253,13 +254,13 @@ public abstract class CAstVisitor { * @param context a visitor-specific context * @return true if no further processing is needed */ - public boolean visitEntity(CAstEntity n, C context, CAstVisitor visitor) { return false; } + public boolean visitEntity(CAstEntity n, C context, @SuppressWarnings("unused") CAstVisitor visitor) { return false; } /** * Leave any entity. Override only this to change behavior for all entities. * @param n the entity to process * @param context a visitor-specific context */ - public void leaveEntity(CAstEntity n, C context, CAstVisitor visitor) { return; } + public void leaveEntity(CAstEntity n, C context, @SuppressWarnings("unused") CAstVisitor visitor) { return; } /** * Visit a File entity. @@ -371,6 +372,7 @@ public abstract class CAstVisitor { * * @return true if node was handled */ + @SuppressWarnings("unused") protected boolean doVisit(CAstNode n, C context, CAstVisitor visitor) { return false; } @@ -384,7 +386,7 @@ public abstract class CAstVisitor { * * @return true if node was handled */ - protected boolean doVisitAssignNodes(CAstNode n, C context, CAstNode v, CAstNode a, CAstVisitor visitor) { + protected boolean doVisitAssignNodes() { return false; } @@ -889,7 +891,7 @@ public abstract class CAstVisitor { visitor.leaveNode(n, context, visitor); } - protected C makeSpecialParentContext(C context, CAstNode n) { + protected C makeSpecialParentContext(C context, @SuppressWarnings("unused") CAstNode n) { return context; } @@ -966,7 +968,7 @@ public abstract class CAstVisitor { } default: { - if (!visitor.doVisitAssignNodes(n, context, v, a, visitor)) { + if (!visitor.doVisitAssignNodes()) { if (DEBUG) { System.err.println(("cannot handle assign to kind " + n.getKind())); } @@ -983,13 +985,13 @@ public abstract class CAstVisitor { * @param c a visitor-specific context * @return true if no further processing is needed */ - protected boolean enterNode(CAstNode n, C c, CAstVisitor visitor) { return false; } + protected boolean enterNode(CAstNode n, C c, @SuppressWarnings("unused") CAstVisitor visitor) { return false; } /** * Post-process a node after visiting it. * @param n the node to process * @param c a visitor-specific context */ - protected void postProcessNode(CAstNode n, C c, CAstVisitor visitor) { return; } + protected void postProcessNode(CAstNode n, C c, @SuppressWarnings("unused") CAstVisitor visitor) { return; } /** * Visit any node. Override only this to change behavior for all nodes. @@ -997,13 +999,13 @@ public abstract class CAstVisitor { * @param c a visitor-specific context * @return true if no further processing is needed */ - public boolean visitNode(CAstNode n, C c, CAstVisitor visitor) { return false; } + public boolean visitNode(CAstNode n, C c, @SuppressWarnings("unused") CAstVisitor visitor) { return false; } /** * Leave any node. Override only this to change behavior for all nodes. * @param n the node to process * @param c a visitor-specific context */ - public void leaveNode(CAstNode n, C c, CAstVisitor visitor) { return; } + public void leaveNode(CAstNode n, C c, @SuppressWarnings("unused") CAstVisitor visitor) { return; } /** * Visit a FunctionExpr node. @@ -1089,7 +1091,7 @@ public abstract class CAstVisitor { * @param n the node to process * @param c a visitor-specific context */ - protected void leaveLoopHeader(CAstNode n, C c, CAstVisitor visitor) { /* empty */ } + protected void leaveLoopHeader(CAstNode n, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ } /** * Leave a Loop node. * @param n the node to process @@ -1309,13 +1311,13 @@ public abstract class CAstVisitor { * @param n the node to process * @param c a visitor-specific context */ - protected void leaveIfStmtCondition(CAstNode n, C c, CAstVisitor visitor) { /* empty */ } + protected void leaveIfStmtCondition(CAstNode n, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ } /** * Visit an IfStmt node after processing the true clause. * @param n the node to process * @param c a visitor-specific context */ - protected void leaveIfStmtTrueClause(CAstNode n, C c, CAstVisitor visitor) { /* empty */ } + protected void leaveIfStmtTrueClause(CAstNode n, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ } /** * Leave an IfStmt node. * @param n the node to process @@ -1334,13 +1336,13 @@ public abstract class CAstVisitor { * @param n the node to process * @param c a visitor-specific context */ - protected void leaveIfExprCondition(CAstNode n, C c, CAstVisitor visitor) { /* empty */ } + protected void leaveIfExprCondition(CAstNode n, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ } /** * Visit an IfExpr node after processing the true clause. * @param n the node to process * @param c a visitor-specific context */ - protected void leaveIfExprTrueClause(CAstNode n, C c, CAstVisitor visitor) { /* empty */ } + protected void leaveIfExprTrueClause(CAstNode n, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ } /** * Leave an IfExpr node. * @param n the node to process @@ -1373,7 +1375,7 @@ public abstract class CAstVisitor { * @param i the field position that was initialized * @param c a visitor-specific context */ - protected void leaveObjectLiteralFieldInit(CAstNode n, int i, C c, CAstVisitor visitor) { /* empty */ } + protected void leaveObjectLiteralFieldInit(CAstNode n, int i, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ } /** * Leave an ObjectLiteral node. * @param n the node to process @@ -1392,14 +1394,14 @@ public abstract class CAstVisitor { * @param n the node to process * @param c a visitor-specific context */ - protected void leaveArrayLiteralObject(CAstNode n, C c, CAstVisitor visitor) { /* empty */ } + protected void leaveArrayLiteralObject(CAstNode n, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ } /** * Visit an ArrayLiteral node after processing the {i}th element initializer. * @param n the node to process * @param i the index that was initialized * @param c a visitor-specific context */ - protected void leaveArrayLiteralInitElement(CAstNode n, int i, C c, CAstVisitor visitor) { /* empty */ } + protected void leaveArrayLiteralInitElement(CAstNode n, int i, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ } /** * Leave a ArrayLiteral node. * @param n the node to process @@ -1440,7 +1442,7 @@ public abstract class CAstVisitor { * @param c a visitor-specific context * @return true if no further processing is needed */ - protected boolean visitArrayRefAssign(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor visitor) { /* empty */ return false; } + protected boolean visitArrayRefAssign(CAstNode n, CAstNode v, CAstNode a, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ return false; } /** * Visit an ArrayRef Assignment node after visiting the LHS. * @param n the LHS node to process @@ -1448,7 +1450,7 @@ public abstract class CAstVisitor { * @param a the assignment node to process * @param c a visitor-specific context */ - protected void leaveArrayRefAssign(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor visitor) { /* empty */ } + protected void leaveArrayRefAssign(CAstNode n, CAstNode v, CAstNode a, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ } /** * Visit an ArrayRef Op/Assignment node after visiting the RHS. * @param n the LHS node to process @@ -1458,7 +1460,7 @@ public abstract class CAstVisitor { * @param c a visitor-specific context * @return true if no further processing is needed */ - protected boolean visitArrayRefAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, CAstVisitor visitor) { /* empty */ return false; } + protected boolean visitArrayRefAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ return false; } /** * Visit an ArrayRef Op/Assignment node after visiting the LHS. * @param n the LHS node to process @@ -1467,7 +1469,7 @@ public abstract class CAstVisitor { * @param pre whether the value before the operation should be used * @param c a visitor-specific context */ - protected void leaveArrayRefAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, CAstVisitor visitor) { /* empty */ } + protected void leaveArrayRefAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ } /** * Visit an ObjectRef Assignment node after visiting the RHS. * @param n the LHS node to process @@ -1476,7 +1478,7 @@ public abstract class CAstVisitor { * @param c a visitor-specific context * @return true if no further processing is needed */ - protected boolean visitObjectRefAssign(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor visitor) { /* empty */ return false; } + protected boolean visitObjectRefAssign(CAstNode n, CAstNode v, CAstNode a, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ return false; } /** * Visit an ObjectRef Assignment node after visiting the LHS. * @param n the LHS node to process @@ -1484,7 +1486,7 @@ public abstract class CAstVisitor { * @param a the assignment node to process * @param c a visitor-specific context */ - protected void leaveObjectRefAssign(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor visitor) { /* empty */ } + protected void leaveObjectRefAssign(CAstNode n, CAstNode v, CAstNode a, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ } /** * Visit an ObjectRef Op/Assignment node after visiting the RHS. * @param n the LHS node to process @@ -1494,7 +1496,7 @@ public abstract class CAstVisitor { * @param c a visitor-specific context * @return true if no further processing is needed */ - protected boolean visitObjectRefAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, CAstVisitor visitor) { /* empty */ return false; } + protected boolean visitObjectRefAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ return false; } /** * Visit an ObjectRef Op/Assignment node after visiting the LHS. * @param n the LHS node to process @@ -1503,7 +1505,7 @@ public abstract class CAstVisitor { * @param pre whether the value before the operation should be used * @param c a visitor-specific context */ - protected void leaveObjectRefAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, CAstVisitor visitor) { /* empty */ } + protected void leaveObjectRefAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ } /** * Visit a BlockExpr Assignment node after visiting the RHS. * @param n the LHS node to process @@ -1512,7 +1514,7 @@ public abstract class CAstVisitor { * @param c a visitor-specific context * @return true if no further processing is needed */ - protected boolean visitBlockExprAssign(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor visitor) { /* empty */ return false; } + protected boolean visitBlockExprAssign(CAstNode n, CAstNode v, CAstNode a, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ return false; } /** * Visit a BlockExpr Assignment node after visiting the LHS. * @param n the LHS node to process @@ -1520,7 +1522,7 @@ public abstract class CAstVisitor { * @param a the assignment node to process * @param c a visitor-specific context */ - protected void leaveBlockExprAssign(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor visitor) { /* empty */ } + protected void leaveBlockExprAssign(CAstNode n, CAstNode v, CAstNode a, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ } /** * Visit a BlockExpr Op/Assignment node after visiting the RHS. * @param n the LHS node to process @@ -1530,7 +1532,7 @@ public abstract class CAstVisitor { * @param c a visitor-specific context * @return true if no further processing is needed */ - protected boolean visitBlockExprAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, CAstVisitor visitor) { /* empty */ return false; } + protected boolean visitBlockExprAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ return false; } /** * Visit a BlockExpr Op/Assignment node after visiting the LHS. * @param n the LHS node to process @@ -1539,7 +1541,7 @@ public abstract class CAstVisitor { * @param pre whether the value before the operation should be used * @param c a visitor-specific context */ - protected void leaveBlockExprAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, CAstVisitor visitor) { /* empty */ } + protected void leaveBlockExprAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ } /** * Visit a Var Assignment node after visiting the RHS. * @param n the LHS node to process @@ -1548,7 +1550,7 @@ public abstract class CAstVisitor { * @param c a visitor-specific context * @return true if no further processing is needed */ - protected boolean visitVarAssign(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor visitor) { /* empty */ return false; } + protected boolean visitVarAssign(CAstNode n, CAstNode v, CAstNode a, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ return false; } /** * Visit a Var Assignment node after visiting the LHS. * @param n the LHS node to process @@ -1556,7 +1558,7 @@ public abstract class CAstVisitor { * @param a the assignment node to process * @param c a visitor-specific context */ - protected void leaveVarAssign(CAstNode n, CAstNode v, CAstNode a, C c, CAstVisitor visitor) { /* empty */ } + protected void leaveVarAssign(CAstNode n, CAstNode v, CAstNode a, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ } /** * Visit a Var Op/Assignment node after visiting the RHS. * @param n the LHS node to process @@ -1566,7 +1568,7 @@ public abstract class CAstVisitor { * @param c a visitor-specific context * @return true if no further processing is needed */ - protected boolean visitVarAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, CAstVisitor visitor) { /* empty */ return false; } + protected boolean visitVarAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ return false; } /** * Visit a Var Op/Assignment node after visiting the LHS. * @param n the LHS node to process @@ -1575,7 +1577,7 @@ public abstract class CAstVisitor { * @param pre whether the value before the operation should be used * @param c a visitor-specific context */ - protected void leaveVarAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, CAstVisitor visitor) { /* empty */ } + protected void leaveVarAssignOp(CAstNode n, CAstNode v, CAstNode a, boolean pre, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ } /** * Visit a Switch node. * @param n the node to process @@ -1588,7 +1590,7 @@ public abstract class CAstVisitor { * @param n the node to process * @param c a visitor-specific context */ - protected void leaveSwitchValue(CAstNode n, C c, CAstVisitor visitor) { /* empty */ } + protected void leaveSwitchValue(CAstNode n, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ } /** * Leave a Switch node. * @param n the node to process @@ -1646,7 +1648,7 @@ public abstract class CAstVisitor { * @param n the node to process * @param c a visitor-specific context */ - protected void leaveTryBlock(CAstNode n, C c, CAstVisitor visitor) { /* empty */ } + protected void leaveTryBlock(CAstNode n, C c, @SuppressWarnings("unused") CAstVisitor visitor) { /* empty */ } /** * Leave a Try node. * @param n the node to process diff --git a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/callGraph/CallGraphTest.java b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/callGraph/CallGraphTest.java index 86b6091f0..28cf31e77 100644 --- a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/callGraph/CallGraphTest.java +++ b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/callGraph/CallGraphTest.java @@ -223,13 +223,13 @@ public class CallGraphTest extends WalaTestCase { @Test public void testIO() throws ClassHierarchyException, IllegalArgumentException, CancelException, IOException { AnalysisScope scope = CallGraphTestUtil.makeJ2SEAnalysisScope("primordial.txt", CallGraphTestUtil.REGRESSION_EXCLUSIONS); ClassHierarchy cha = ClassHierarchyFactory.make(scope); - Iterable entrypoints = makePrimordialPublicEntrypoints(scope, cha, "java/io"); + Iterable entrypoints = makePrimordialPublicEntrypoints(cha, "java/io"); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); CallGraphTestUtil.buildZeroCFA(options, new AnalysisCacheImpl(), cha, scope, false); } - public static Iterable makePrimordialPublicEntrypoints(AnalysisScope scope, ClassHierarchy cha, String pkg) { + public static Iterable makePrimordialPublicEntrypoints(ClassHierarchy cha, String pkg) { final HashSet result = HashSetFactory.make(); for (IClass clazz : cha) { @@ -262,7 +262,7 @@ public class CallGraphTest extends WalaTestCase { "Java60RegressionExclusions.txt": "GUIExclusions.txt"); ClassHierarchy cha = ClassHierarchyFactory.make(scope); - Iterable entrypoints = makePrimordialMainEntrypoints(scope, cha); + Iterable entrypoints = makePrimordialMainEntrypoints(cha); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); CallGraphTestUtil.buildZeroCFA(options, new AnalysisCacheImpl(), cha, scope, false); @@ -288,7 +288,7 @@ public class CallGraphTest extends WalaTestCase { /** * make main entrypoints, even in the primordial loader. */ - public static Iterable makePrimordialMainEntrypoints(AnalysisScope scope, ClassHierarchy cha) { + public static Iterable makePrimordialMainEntrypoints(ClassHierarchy cha) { final Atom mainMethod = Atom.findOrCreateAsciiAtom("main"); final HashSet result = HashSetFactory.make(); for (IClass klass : cha) { diff --git a/com.ibm.wala.core.tests/src/com/ibm/wala/examples/drivers/ScopeFileCallGraph.java b/com.ibm.wala.core.tests/src/com/ibm/wala/examples/drivers/ScopeFileCallGraph.java index aebcd1a51..ed521ad73 100644 --- a/com.ibm.wala.core.tests/src/com/ibm/wala/examples/drivers/ScopeFileCallGraph.java +++ b/com.ibm.wala.core.tests/src/com/ibm/wala/examples/drivers/ScopeFileCallGraph.java @@ -77,7 +77,7 @@ public class ScopeFileCallGraph { System.out.println(Warnings.asString()); Warnings.clear(); AnalysisOptions options = new AnalysisOptions(); - Iterable entrypoints = entryClass != null ? makePublicEntrypoints(scope, cha, entryClass) : Util.makeMainEntrypoints(scope, cha, mainClass); + Iterable entrypoints = entryClass != null ? makePublicEntrypoints(cha, entryClass) : Util.makeMainEntrypoints(scope, cha, mainClass); options.setEntrypoints(entrypoints); // you can dial down reflection handling if you like // options.setReflectionOptions(ReflectionOptions.NONE); @@ -97,7 +97,7 @@ public class ScopeFileCallGraph { System.out.println(CallGraphStats.getStats(cg)); } - private static Iterable makePublicEntrypoints(AnalysisScope scope, IClassHierarchy cha, String entryClass) { + private static Iterable makePublicEntrypoints(IClassHierarchy cha, String entryClass) { Collection result = new ArrayList<>(); IClass klass = cha.lookupClass(TypeReference.findOrCreate(ClassLoaderReference.Application, StringStuff.deployment2CanonicalTypeString(entryClass))); diff --git a/com.ibm.wala.core/src/com/ibm/wala/analysis/nullpointer/IntraproceduralNullPointerAnalysis.java b/com.ibm.wala.core/src/com/ibm/wala/analysis/nullpointer/IntraproceduralNullPointerAnalysis.java index 4734a6279..fb641a2b8 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/analysis/nullpointer/IntraproceduralNullPointerAnalysis.java +++ b/com.ibm.wala.core/src/com/ibm/wala/analysis/nullpointer/IntraproceduralNullPointerAnalysis.java @@ -40,7 +40,7 @@ public class IntraproceduralNullPointerAnalysis { final NullPointerFrameWork problem = new NullPointerFrameWork( cfg, ir); this.solver = new NullPointerSolver(problem, maxVarNum, - paramValNum, ir, cfg.entry()); + ir, cfg.entry()); try { this.solver.solve(NO_PROGRESS_MONITOR); } catch (final CancelException e) { diff --git a/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/CloneInterpreter.java b/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/CloneInterpreter.java index e7eaa659e..386346a95 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/CloneInterpreter.java +++ b/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/CloneInterpreter.java @@ -245,7 +245,7 @@ public class CloneInterpreter implements SSAContextInterpreter { public Set getCaughtExceptions(CGNode node) { SSAInstruction[] statements = getIR(node).getInstructions(); - return CodeScanner.getCaughtExceptions(node.getMethod().getDeclaringClass().getClassLoader().getLanguage(), statements); + return CodeScanner.getCaughtExceptions(statements); } public boolean hasObjectArrayLoad(CGNode node) { diff --git a/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/GetMethodContextSelector.java b/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/GetMethodContextSelector.java index 1e05a5ba1..82e413154 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/GetMethodContextSelector.java +++ b/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/GetMethodContextSelector.java @@ -66,7 +66,7 @@ public class GetMethodContextSelector implements ContextSelector { */ @Override public Context getCalleeTarget(CGNode caller,CallSiteReference site,IMethod callee,InstanceKey[] receiver) { - if (receiver != null && receiver.length > 0 && mayUnderstand(caller, site, callee, receiver[0])) { + if (receiver != null && receiver.length > 0 && mayUnderstand(callee, receiver[0])) { if (DEBUG) { System.out.print("site := " + site + ", receiver := " + receiver[0]); } @@ -147,7 +147,7 @@ public class GetMethodContextSelector implements ContextSelector { * This object understands a dispatch to {@link java.lang.Class#getMethod(String, Class...)} * or {@link java.lang.Class#getDeclaredMethod} when the receiver is a type constant. */ - private static boolean mayUnderstand(CGNode caller,CallSiteReference site,IMethod targetMethod,InstanceKey instance) { + private static boolean mayUnderstand(IMethod targetMethod,InstanceKey instance) { return UNDERSTOOD_METHOD_REFS.contains(targetMethod.getReference()) && getTypeConstant(instance) != null; } diff --git a/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/JavaLangClassContextSelector.java b/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/JavaLangClassContextSelector.java index 8e412b115..792fa7310 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/JavaLangClassContextSelector.java +++ b/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/JavaLangClassContextSelector.java @@ -50,7 +50,7 @@ class JavaLangClassContextSelector implements ContextSelector { */ @Override public Context getCalleeTarget(CGNode caller, CallSiteReference site, IMethod callee, InstanceKey[] receiver) { - if (receiver != null && receiver.length > 0 && mayUnderstand(caller, site, callee, receiver[0])) { + if (receiver != null && receiver.length > 0 && mayUnderstand(callee, receiver[0])) { return new JavaTypeContext(new PointType(getTypeConstant(receiver[0]))); } return null; @@ -82,7 +82,7 @@ class JavaLangClassContextSelector implements ContextSelector { /** * This object may understand a dispatch to Class.getContructor when the receiver is a type constant. */ - private static boolean mayUnderstand(CGNode caller, CallSiteReference site, IMethod targetMethod, InstanceKey instance) { + private static boolean mayUnderstand(IMethod targetMethod, InstanceKey instance) { return UNDERSTOOD_METHOD_REFS.contains(targetMethod.getReference()) && getTypeConstant(instance) != null; } diff --git a/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/ReflectiveInvocationSelector.java b/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/ReflectiveInvocationSelector.java index c7a2eb89f..04394cd38 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/ReflectiveInvocationSelector.java +++ b/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/ReflectiveInvocationSelector.java @@ -49,7 +49,7 @@ class ReflectiveInvocationSelector implements ContextSelector { */ @Override public Context getCalleeTarget(CGNode caller, CallSiteReference site, IMethod callee, InstanceKey[] receiver) { - if (receiver == null || receiver.length == 0 || !mayUnderstand(caller, site, callee, receiver[0])) { + if (receiver == null || receiver.length == 0 || !mayUnderstand(callee, receiver[0])) { return null; } IR ir = caller.getIR(); @@ -105,7 +105,7 @@ class ReflectiveInvocationSelector implements ContextSelector { /** * This object may understand a dispatch to Constructor.newInstance(). */ - private static boolean mayUnderstand(CGNode caller, CallSiteReference site, IMethod targetMethod, InstanceKey instance) { + private static boolean mayUnderstand(IMethod targetMethod, InstanceKey instance) { if (instance instanceof ConstantKey) { if (targetMethod.getReference().equals(ReflectiveInvocationInterpreter.METHOD_INVOKE) || isConstructorConstant(instance) diff --git a/com.ibm.wala.core/src/com/ibm/wala/cfg/cdg/ControlDependenceGraph.java b/com.ibm.wala.core/src/com/ibm/wala/cfg/cdg/ControlDependenceGraph.java index 5284d83ee..b03fc240e 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/cfg/cdg/ControlDependenceGraph.java +++ b/com.ibm.wala.core/src/com/ibm/wala/cfg/cdg/ControlDependenceGraph.java @@ -82,7 +82,7 @@ public class ControlDependenceGraph extends AbstractNumberedGraph { for (Iterator ss = cfg.getSuccNodes(x); ss.hasNext();) { T s = ss.next(); if (RDF.isDominatedBy(s, y)) { - labels.add(makeEdgeLabel(x, y, s)); + labels.add(makeEdgeLabel(s)); } } } @@ -92,7 +92,7 @@ public class ControlDependenceGraph extends AbstractNumberedGraph { return controlDependence; } - protected Object makeEdgeLabel(T x, T y, T s) { + protected Object makeEdgeLabel(T s) { return s; } diff --git a/com.ibm.wala.core/src/com/ibm/wala/cfg/exc/intra/IntraprocNullPointerAnalysis.java b/com.ibm.wala.core/src/com/ibm/wala/cfg/exc/intra/IntraprocNullPointerAnalysis.java index 80527432e..b0c76318c 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/cfg/exc/intra/IntraprocNullPointerAnalysis.java +++ b/com.ibm.wala.core/src/com/ibm/wala/cfg/exc/intra/IntraprocNullPointerAnalysis.java @@ -137,7 +137,7 @@ public class IntraprocNullPointerAnalysis { final NullPointerFrameWork problem = new NullPointerFrameWork(cfg, ir); final int[] paramValNum = ir.getParameterValueNumbers(); - solver = new NullPointerSolver(problem, maxVarNum, paramValNum, cfg.entry(), ir, initialState); + solver = new NullPointerSolver(problem, maxVarNum, cfg.entry(), ir, initialState); solver.solve(progress); diff --git a/com.ibm.wala.core/src/com/ibm/wala/cfg/exc/intra/NullPointerSolver.java b/com.ibm.wala.core/src/com/ibm/wala/cfg/exc/intra/NullPointerSolver.java index 781536a13..e31e0bff7 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/cfg/exc/intra/NullPointerSolver.java +++ b/com.ibm.wala.core/src/com/ibm/wala/cfg/exc/intra/NullPointerSolver.java @@ -28,11 +28,11 @@ public class NullPointerSolver extends DataflowSolver< private final B entry; private final IR ir; - public NullPointerSolver(NullPointerFrameWork problem, int maxVarNum, int[] paramVarNum, IR ir, B entry) { - this(problem, maxVarNum, paramVarNum, entry, ir, ParameterState.createDefault(ir.getMethod())); + public NullPointerSolver(NullPointerFrameWork problem, int maxVarNum, IR ir, B entry) { + this(problem, maxVarNum, entry, ir, ParameterState.createDefault(ir.getMethod())); } - public NullPointerSolver(NullPointerFrameWork problem, int maxVarNum, int[] paramVarNum, B entry, IR ir, ParameterState initialState) { + public NullPointerSolver(NullPointerFrameWork problem, int maxVarNum, B entry, IR ir, ParameterState initialState) { super(problem); this.maxVarNum = maxVarNum; this.parameterState = initialState; diff --git a/com.ibm.wala.core/src/com/ibm/wala/classLoader/ClassLoaderImpl.java b/com.ibm.wala.core/src/com/ibm/wala/classLoader/ClassLoaderImpl.java index 28bf25732..4f2ba5436 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/classLoader/ClassLoaderImpl.java +++ b/com.ibm.wala.core/src/com/ibm/wala/classLoader/ClassLoaderImpl.java @@ -320,7 +320,7 @@ public class ClassLoaderImpl implements IClassLoader { JarInputStream s = new JarInputStream(new ByteArrayInputStream(jarFileContents), false); JarEntry entry = null; while ((entry = s.getNextJarEntry()) != null) { - byte[] entryBytes = getEntryBytes(entry, entrySizesForFile.get(entry.getName()), s); + byte[] entryBytes = getEntryBytes(entrySizesForFile.get(entry.getName()), s); if (entryBytes == null) { return null; } @@ -345,7 +345,7 @@ public class ClassLoaderImpl implements IClassLoader { return result; } - private static byte[] getEntryBytes(JarEntry entry, Long size, InputStream is) throws IOException { + private static byte[] getEntryBytes(Long size, InputStream is) throws IOException { if (size == null) { return null; } diff --git a/com.ibm.wala.core/src/com/ibm/wala/classLoader/CodeScanner.java b/com.ibm.wala.core/src/com/ibm/wala/classLoader/CodeScanner.java index f906e22e4..6a5b96afb 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/classLoader/CodeScanner.java +++ b/com.ibm.wala.core/src/com/ibm/wala/classLoader/CodeScanner.java @@ -148,7 +148,7 @@ public class CodeScanner { } if (m.isSynthetic()) { SyntheticMethod sm = (SyntheticMethod) m; - return getCaughtExceptions(m.getDeclaringClass().getClassLoader().getLanguage(), sm.getStatements()); + return getCaughtExceptions(sm.getStatements()); } else { return getShrikeBTCaughtExceptions((ShrikeCTMethod) m); } @@ -245,7 +245,7 @@ public class CodeScanner { * @return {@link Set}<{@link TypeReference}> * @throws IllegalArgumentException if statements == null */ - public static Set getCaughtExceptions(final Language l, SSAInstruction[] statements) throws IllegalArgumentException { + public static Set getCaughtExceptions(SSAInstruction[] statements) throws IllegalArgumentException { if (statements == null) { throw new IllegalArgumentException("statements == null"); } diff --git a/com.ibm.wala.core/src/com/ibm/wala/classLoader/ShrikeCTMethod.java b/com.ibm.wala.core/src/com/ibm/wala/classLoader/ShrikeCTMethod.java index 719ab8d25..8be4fd543 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/classLoader/ShrikeCTMethod.java +++ b/com.ibm.wala.core/src/com/ibm/wala/classLoader/ShrikeCTMethod.java @@ -464,7 +464,7 @@ public final class ShrikeCTMethod extends ShrikeBTMethod implements IBytecodeMet final ClassLoaderReference clRef = getDeclaringClass().getClassLoader().getReference(); return TypeAnnotation.getTypeAnnotationsFromReader( r, - TypeAnnotation.targetConverterAtMethodInfo(clRef, this), + TypeAnnotation.targetConverterAtMethodInfo(clRef), clRef ); } diff --git a/com.ibm.wala.core/src/com/ibm/wala/classLoader/ShrikeClass.java b/com.ibm.wala.core/src/com/ibm/wala/classLoader/ShrikeClass.java index 6a1afadd1..3b32487d7 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/classLoader/ShrikeClass.java +++ b/com.ibm.wala.core/src/com/ibm/wala/classLoader/ShrikeClass.java @@ -410,7 +410,7 @@ public final class ShrikeClass extends JVMClass { final ClassLoaderReference clRef = getClassLoader().getReference(); return TypeAnnotation.getTypeAnnotationsFromReader( r, - TypeAnnotation.targetConverterAtFieldInfo(clRef), + TypeAnnotation.targetConverterAtFieldInfo(), clRef ); } diff --git a/com.ibm.wala.core/src/com/ibm/wala/classLoader/ShrikeIRFactory.java b/com.ibm.wala.core/src/com/ibm/wala/classLoader/ShrikeIRFactory.java index d3dff84c6..0f0ebabc7 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/classLoader/ShrikeIRFactory.java +++ b/com.ibm.wala.core/src/com/ibm/wala/classLoader/ShrikeIRFactory.java @@ -38,7 +38,7 @@ public class ShrikeIRFactory implements IRFactory { public final static boolean buildLocalMap = true; - public ControlFlowGraph makeCFG(final IBytecodeMethod method, Context C) { + public ControlFlowGraph makeCFG(final IBytecodeMethod method) { return ShrikeCFG.make(method); } @@ -54,7 +54,7 @@ public class ShrikeIRFactory implements IRFactory { } catch (InvalidClassFileException e) { throw new WalaRuntimeException("bad method bytecodes", e); } - final ShrikeCFG shrikeCFG = (ShrikeCFG) makeCFG(method, C); + final ShrikeCFG shrikeCFG = (ShrikeCFG) makeCFG(method); final SymbolTable symbolTable = new SymbolTable(method.getNumberOfParameters()); final SSAInstruction[] newInstrs = new SSAInstruction[shrikeInstructions.length]; diff --git a/com.ibm.wala.core/src/com/ibm/wala/classLoader/SyntheticMethod.java b/com.ibm.wala.core/src/com/ibm/wala/classLoader/SyntheticMethod.java index 87f7022f6..01ff9af24 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/classLoader/SyntheticMethod.java +++ b/com.ibm.wala.core/src/com/ibm/wala/classLoader/SyntheticMethod.java @@ -271,7 +271,7 @@ public class SyntheticMethod implements IMethod { * @param options options governing SSA construction */ @Deprecated - public SSAInstruction[] getStatements(SSAOptions options) { + public SSAInstruction[] getStatements(@SuppressWarnings("unused") SSAOptions options) { return NO_STATEMENTS; } diff --git a/com.ibm.wala.core/src/com/ibm/wala/dataflow/IFDS/IdentityFlowFunctions.java b/com.ibm.wala.core/src/com/ibm/wala/dataflow/IFDS/IdentityFlowFunctions.java index df6856827..26ec465df 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/dataflow/IFDS/IdentityFlowFunctions.java +++ b/com.ibm.wala.core/src/com/ibm/wala/dataflow/IFDS/IdentityFlowFunctions.java @@ -41,13 +41,6 @@ public class IdentityFlowFunctions implements IFlowFunctionMap { return IdentityFlowFunction.identity(); } - /* - * @see com.ibm.wala.dataflow.IFDS.IFlowFunctionMap#getReturnFlowFunction(java.lang.Object, java.lang.Object, java.lang.Object) - */ - public IFlowFunction getReturnFlowFunction(T src, T dest) { - return IdentityFlowFunction.identity(); - } - /* * @see com.ibm.wala.dataflow.IFDS.IFlowFunctionMap#getCallToReturnFlowFunction(java.lang.Object, java.lang.Object) */ diff --git a/com.ibm.wala.core/src/com/ibm/wala/dataflow/IFDS/PartiallyBalancedTabulationSolver.java b/com.ibm.wala.core/src/com/ibm/wala/dataflow/IFDS/PartiallyBalancedTabulationSolver.java index ebfab938f..d40884fa3 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/dataflow/IFDS/PartiallyBalancedTabulationSolver.java +++ b/com.ibm.wala.core/src/com/ibm/wala/dataflow/IFDS/PartiallyBalancedTabulationSolver.java @@ -61,7 +61,7 @@ public class PartiallyBalancedTabulationSolver extends TabulationSolver T fakeEntry = problem.getFakeEntry(retSite); PathEdge seed = PathEdge.createPathEdge(fakeEntry, d3, retSite, d3); addSeed(seed); - newUnbalancedExplodedReturnEdge(s_p, i, n, j, seed); + newUnbalancedExplodedReturnEdge(s_p, i, n, j); } } } else { @@ -95,7 +95,8 @@ public class PartiallyBalancedTabulationSolver extends TabulationSolver * So, we added a new seed callerSeed (to some return site) in the caller. To be overridden * in subclasses. */ - protected void newUnbalancedExplodedReturnEdge(T s_p, int i, T n, int j, PathEdge callerSeed) { + @SuppressWarnings("unused") + protected void newUnbalancedExplodedReturnEdge(T s_p, int i, T n, int j) { } } diff --git a/com.ibm.wala.core/src/com/ibm/wala/dataflow/IFDS/TabulationSolver.java b/com.ibm.wala.core/src/com/ibm/wala/dataflow/IFDS/TabulationSolver.java index accb35783..b2e107e23 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/dataflow/IFDS/TabulationSolver.java +++ b/com.ibm.wala.core/src/com/ibm/wala/dataflow/IFDS/TabulationSolver.java @@ -1055,6 +1055,7 @@ public class TabulationSolver { * @return set of d1 s.t. (n1,d1) -> (n2,d2) is recorded as a summary edge, or null if none found * @throws UnsupportedOperationException unconditionally */ + @SuppressWarnings("unused") public IntSet getSummarySources(T n2, int d2, T n1) throws UnsupportedOperationException { throw new UnsupportedOperationException("not currently supported. be careful"); // LocalSummaryEdges summaries = summaryEdges.get(supergraph.getProcOf(n1)); @@ -1093,6 +1094,7 @@ public class TabulationSolver { * this function to record call-to-return flow. * */ + @SuppressWarnings("unused") protected void newNormalExplodedEdge(PathEdge edge, T m, int d3) { } @@ -1103,6 +1105,7 @@ public class TabulationSolver { * was created. To be overridden in subclasses. * */ + @SuppressWarnings("unused") protected void newCallExplodedEdge(PathEdge edge, T calleeEntry, int d3) { } @@ -1114,6 +1117,7 @@ public class TabulationSolver { * course, there is a call edge -> . Finally, we have a * return edge -> . */ + @SuppressWarnings("unused") protected void newSummaryEdge(PathEdge edgeToCallSite, PathEdge calleeSummaryEdge, T returnSite, int d5) { } diff --git a/com.ibm.wala.core/src/com/ibm/wala/demandpa/flowgraph/AbstractDemandFlowGraph.java b/com.ibm.wala.core/src/com/ibm/wala/demandpa/flowgraph/AbstractDemandFlowGraph.java index c3a510d23..dab538036 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/demandpa/flowgraph/AbstractDemandFlowGraph.java +++ b/com.ibm.wala.core/src/com/ibm/wala/demandpa/flowgraph/AbstractDemandFlowGraph.java @@ -262,7 +262,7 @@ public abstract class AbstractDemandFlowGraph extends AbstractFlowGraph { } DefUse du = node.getDU(); - addNodeInstructionConstraints(node, ir, du); + addNodeInstructionConstraints(node, ir); addNodePassthruExceptionConstraints(node, ir); addNodeConstantConstraints(node, ir); } @@ -270,7 +270,7 @@ public abstract class AbstractDemandFlowGraph extends AbstractFlowGraph { /** * Add pointer flow constraints based on instructions in a given node */ - protected void addNodeInstructionConstraints(CGNode node, IR ir, DefUse du) { + protected void addNodeInstructionConstraints(CGNode node, IR ir) { FlowStatementVisitor v = makeVisitor(node); ControlFlowGraph cfg = ir.getControlFlowGraph(); for (ISSABasicBlock b : cfg) { diff --git a/com.ibm.wala.core/src/com/ibm/wala/demandpa/util/PABasedMemoryAccessMap.java b/com.ibm.wala.core/src/com/ibm/wala/demandpa/util/PABasedMemoryAccessMap.java index 678c470c2..148d19a05 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/demandpa/util/PABasedMemoryAccessMap.java +++ b/com.ibm.wala.core/src/com/ibm/wala/demandpa/util/PABasedMemoryAccessMap.java @@ -52,15 +52,14 @@ public class PABasedMemoryAccessMap implements MemoryAccessMap { private final Map> invRef; public PABasedMemoryAccessMap(CallGraph cg, PointerAnalysis pa) { - this(cg, pa, new SDG(cg, pa, DataDependenceOptions.NO_BASE_NO_HEAP_NO_EXCEPTIONS, ControlDependenceOptions.NONE)); + this(pa, new SDG(cg, pa, DataDependenceOptions.NO_BASE_NO_HEAP_NO_EXCEPTIONS, ControlDependenceOptions.NONE)); } - public PABasedMemoryAccessMap(CallGraph cg, PointerAnalysis pa, SDG sdg) { - this(cg, pa, CISlicer.scanForMod(sdg, pa, true, ModRef.make()), CISlicer.scanForRef(sdg, pa)); + public PABasedMemoryAccessMap(PointerAnalysis pa, SDG sdg) { + this(pa, CISlicer.scanForMod(sdg, pa, true, ModRef.make()), CISlicer.scanForRef(sdg, pa)); } - public PABasedMemoryAccessMap(CallGraph cg, PointerAnalysis pa, Map> mod, - Map> ref) { + public PABasedMemoryAccessMap(PointerAnalysis pa, Map> mod, Map> ref) { if (pa == null) { throw new IllegalArgumentException("null pa"); } diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/impl/ClassHierarchyMethodTargetSelector.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/impl/ClassHierarchyMethodTargetSelector.java index 77f980aa4..7fbaadce3 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/impl/ClassHierarchyMethodTargetSelector.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/impl/ClassHierarchyMethodTargetSelector.java @@ -16,7 +16,6 @@ import com.ibm.wala.classLoader.IMethod; import com.ibm.wala.ipa.callgraph.CGNode; import com.ibm.wala.ipa.callgraph.MethodTargetSelector; import com.ibm.wala.ipa.cha.IClassHierarchy; -import com.ibm.wala.types.MethodReference; import com.ibm.wala.types.TypeReference; /** @@ -74,14 +73,7 @@ public class ClassHierarchyMethodTargetSelector implements MethodTargetSelector return classHierarchy.resolveMethod(klass, call.getDeclaredTarget().getSelector()); } - public boolean mightReturnSyntheticMethod(CGNode caller, CallSiteReference site) { - return false; - } - - /* - * @see com.ibm.wala.ipa.callgraph.MethodTargetSelector#mightReturnSyntheticMethod(com.ibm.wala.types.MethodReference) - */ - public boolean mightReturnSyntheticMethod(MethodReference declaredTarget) { + public boolean mightReturnSyntheticMethod() { return false; } } diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/ConcreteTypeKey.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/ConcreteTypeKey.java index 22a139721..8bd3be3c1 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/ConcreteTypeKey.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/ConcreteTypeKey.java @@ -18,7 +18,6 @@ import com.ibm.wala.classLoader.NewSiteReference; import com.ibm.wala.ipa.callgraph.CGNode; import com.ibm.wala.ipa.callgraph.CallGraph; import com.ibm.wala.ipa.cha.IClassHierarchy; -import com.ibm.wala.ssa.IR; import com.ibm.wala.ssa.SSAInstruction; import com.ibm.wala.types.TypeReference; import com.ibm.wala.util.Predicate; @@ -83,7 +82,7 @@ public final class ConcreteTypeKey implements InstanceKey { * @return a set of ConcreteTypeKeys that represent the exceptions the PEI may throw. * @throws IllegalArgumentException if pei is null */ - public static InstanceKey[] getInstanceKeysForPEI(SSAInstruction pei, IR ir, IClassHierarchy cha) { + public static InstanceKey[] getInstanceKeysForPEI(SSAInstruction pei, IClassHierarchy cha) { if (pei == null) { throw new IllegalArgumentException("pei is null"); } diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/PropagationCallGraphBuilder.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/PropagationCallGraphBuilder.java index 7d50217c7..aebb430bf 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/PropagationCallGraphBuilder.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/PropagationCallGraphBuilder.java @@ -281,7 +281,7 @@ public abstract class PropagationCallGraphBuilder implements CallGraphBuilder op, PointerKey rhs, PointerKey container) { + public boolean newFieldWrite(PointerKey lhs, UnaryOperator op, PointerKey rhs) { return newConstraint(lhs, op, rhs); } /** * @return true iff the system changes */ - public boolean newFieldRead(PointerKey lhs, UnaryOperator op, PointerKey rhs, PointerKey container) { + public boolean newFieldRead(PointerKey lhs, UnaryOperator op, PointerKey rhs) { return newConstraint(lhs, op, rhs); } diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/SSAPropagationCallGraphBuilder.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/SSAPropagationCallGraphBuilder.java index 0537be2d7..08ec7f68d 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/SSAPropagationCallGraphBuilder.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/SSAPropagationCallGraphBuilder.java @@ -269,6 +269,7 @@ public abstract class SSAPropagationCallGraphBuilder extends PropagationCallGrap * Hook for aubclasses to add pointer flow constraints based on values in a given node * @throws CancelException */ + @SuppressWarnings("unused") protected void addNodeValueConstraints(CGNode node, IProgressMonitor monitor) throws CancelException { } @@ -566,7 +567,7 @@ public abstract class SSAPropagationCallGraphBuilder extends PropagationCallGrap } } - protected IntSet getParamObjects(int paramIndex, int rhsi) { + protected IntSet getParamObjects(int paramIndex, @SuppressWarnings("unused") int rhsi) { int paramVn = call.getUse(paramIndex); PointerKey var = getPointerKeyForLocal(caller, paramVn); IntSet s = system.findOrCreatePointsToSet(var).getValue(); @@ -1731,7 +1732,7 @@ public abstract class SSAPropagationCallGraphBuilder extends PropagationCallGrap } } - private byte cpa(PointsToSetVariable lhs, final PointsToSetVariable[] rhs) { + private byte cpa(final PointsToSetVariable[] rhs) { final MutableBoolean changed = new MutableBoolean(); for(int rhsIndex = 0; rhsIndex < rhs.length; rhsIndex++) { final int y = rhsIndex; @@ -1791,7 +1792,7 @@ public abstract class SSAPropagationCallGraphBuilder extends PropagationCallGrap public byte evaluate(PointsToSetVariable lhs, final PointsToSetVariable[] rhs) { assert dispatchIndices.length >= rhs.length : "bad operator at " + call; - return cpa(lhs, rhs); + return cpa(rhs); /* // did evaluating the dispatch operation add a new possible target @@ -2007,8 +2008,8 @@ public abstract class SSAPropagationCallGraphBuilder extends PropagationCallGrap } } - protected void iterateCrossProduct(final CGNode caller, final SSAAbstractInvokeInstruction call, IntSet parameters, - final InstanceKey[][] invariants, final VoidFunction f) { + protected void iterateCrossProduct(final CGNode caller, final SSAAbstractInvokeInstruction call, final InstanceKey[][] invariants, + final VoidFunction f) { new CrossProductRec(invariants, call, caller, f).rec(0, 0); } @@ -2035,7 +2036,7 @@ public abstract class SSAPropagationCallGraphBuilder extends PropagationCallGrap } } }; - iterateCrossProduct(caller, instruction, params, invs, f); + iterateCrossProduct(caller, instruction, invs, f); return targets; } @@ -2069,7 +2070,7 @@ public abstract class SSAPropagationCallGraphBuilder extends PropagationCallGrap return true; } - protected InterestingVisitor makeInterestingVisitor(CGNode node, int vn) { + protected InterestingVisitor makeInterestingVisitor(@SuppressWarnings("unused") CGNode node, int vn) { return new InterestingVisitor(vn); } diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/TargetMethodContextSelector.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/TargetMethodContextSelector.java index 37f756f92..d6bcb3a2b 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/TargetMethodContextSelector.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/TargetMethodContextSelector.java @@ -17,7 +17,6 @@ import com.ibm.wala.ipa.callgraph.Context; import com.ibm.wala.ipa.callgraph.ContextItem; import com.ibm.wala.ipa.callgraph.ContextKey; import com.ibm.wala.ipa.callgraph.ContextSelector; -import com.ibm.wala.ipa.cha.IClassHierarchy; import com.ibm.wala.types.Selector; import com.ibm.wala.util.intset.IntSet; import com.ibm.wala.util.intset.IntSetUtil; @@ -30,7 +29,7 @@ public class TargetMethodContextSelector implements ContextSelector { private final Selector selector; - public TargetMethodContextSelector(Selector selector, IClassHierarchy cha) { + public TargetMethodContextSelector(Selector selector) { this.selector = selector; } diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/cfa/ContainerContextSelector.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/cfa/ContainerContextSelector.java index c4a00b5db..88c3fb35b 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/cfa/ContainerContextSelector.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/cfa/ContainerContextSelector.java @@ -112,7 +112,7 @@ public class ContainerContextSelector implements ContextSelector { if (keys != null && keys.length > 0 && keys[0] != null) { receiver = keys[0]; } - if (mayUnderstand(caller, site, callee, receiver)) { + if (mayUnderstand(site, callee, receiver)) { if (DEBUG) { System.err.println("May Understand: " + callee + " recv " + receiver); } @@ -270,7 +270,7 @@ public class ContainerContextSelector implements ContextSelector { return (n == null) ? null : n.getContext(); } - public boolean mayUnderstand(CGNode caller, CallSiteReference site, IMethod targetMethod, InstanceKey receiver) { + public boolean mayUnderstand(CallSiteReference site, IMethod targetMethod, InstanceKey receiver) { if (targetMethod == null) { throw new IllegalArgumentException("targetMethod is null"); } diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/rta/AbstractRTABuilder.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/rta/AbstractRTABuilder.java index 346e392d1..20956696d 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/rta/AbstractRTABuilder.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/rta/AbstractRTABuilder.java @@ -158,18 +158,18 @@ public abstract class AbstractRTABuilder extends PropagationCallGraphBuilder { private void addFieldConstraints(CGNode node) { for (Iterator it = getRTAContextInterpreter().iterateFieldsRead(node); it.hasNext();) { FieldReference f = (FieldReference) it.next(); - processFieldAccess(node, f); + processFieldAccess(f); } for (Iterator it = getRTAContextInterpreter().iterateFieldsWritten(node); it.hasNext();) { FieldReference f = (FieldReference) it.next(); - processFieldAccess(node, f); + processFieldAccess(f); } } /** * Is s is a getstatic or putstatic, then potentially add the relevant to the newMethod set. */ - private void processFieldAccess(CGNode node, FieldReference f) { + private void processFieldAccess(FieldReference f) { if (DEBUG) { System.err.println(("processFieldAccess: " + f)); } diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/rta/TypeBasedHeapModel.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/rta/TypeBasedHeapModel.java index 712414e7a..df15715b7 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/rta/TypeBasedHeapModel.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/rta/TypeBasedHeapModel.java @@ -206,7 +206,7 @@ public class TypeBasedHeapModel implements HeapModel { return iKeyFactory.getInstanceKeyForConstant(type, S); } - public String getStringConstantForInstanceKey(InstanceKey I) throws UnimplementedError { + public String getStringConstantForInstanceKey() throws UnimplementedError { Assertions.UNREACHABLE(); return null; } diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/slicer/PDG.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/slicer/PDG.java index 737808dad..10b6685da 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/slicer/PDG.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/slicer/PDG.java @@ -177,7 +177,7 @@ public class PDG implements NumberedGraph { isPopulated = true; Map instructionIndices = computeInstructionIndices(ir); - createNodes(ref, cOptions, ir); + createNodes(ref, ir); createScalarEdges(cOptions, ir, instructionIndices); } } @@ -880,7 +880,7 @@ public class PDG implements NumberedGraph { /** * Create all nodes in this PDG. Each node is a Statement. */ - private void createNodes(Map> ref, ControlDependenceOptions cOptions, IR ir) { + private void createNodes(Map> ref, IR ir) { if (ir != null) { createNormalStatements(ir, ref); diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/slicer/ReachabilityFunctions.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/slicer/ReachabilityFunctions.java index 54a0674b9..0d70f1e41 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/slicer/ReachabilityFunctions.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/slicer/ReachabilityFunctions.java @@ -68,6 +68,7 @@ public class ReachabilityFunctions implements IFlowFunctionMap { return FLOW_REACHES; } + @SuppressWarnings("unused") public IFlowFunction getReturnFlowFunction(T src, T dest) { return FLOW_REACHES; } diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/slicer/SDGSupergraph.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/slicer/SDGSupergraph.java index 7bc22f67a..d6b80f713 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/slicer/SDGSupergraph.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/slicer/SDGSupergraph.java @@ -46,7 +46,7 @@ class SDGSupergraph implements ISupergraph return null; } - public Object[] getEntry(Statement n) { + public Object[] getEntry() { Assertions.UNREACHABLE(); return null; } diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/summaries/SyntheticIRFactory.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/summaries/SyntheticIRFactory.java index e339127c4..948c617cb 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/summaries/SyntheticIRFactory.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/summaries/SyntheticIRFactory.java @@ -19,7 +19,7 @@ import com.ibm.wala.ssa.SSAOptions; public class SyntheticIRFactory implements IRFactory { - public ControlFlowGraph makeCFG(SyntheticMethod method, Context C) { + public ControlFlowGraph makeCFG(SyntheticMethod method) { if (method == null) { throw new IllegalArgumentException("method is null"); } diff --git a/com.ibm.wala.core/src/com/ibm/wala/ssa/DefaultIRFactory.java b/com.ibm.wala.core/src/com/ibm/wala/ssa/DefaultIRFactory.java index e7f6b640b..aa7e26e13 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ssa/DefaultIRFactory.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ssa/DefaultIRFactory.java @@ -35,14 +35,14 @@ public class DefaultIRFactory implements IRFactory { * @see com.ibm.wala.ssa.IRFactory#makeCFG(com.ibm.wala.classLoader.IMethod, com.ibm.wala.ipa.callgraph.Context, * com.ibm.wala.ipa.cha.IClassHierarchy, com.ibm.wala.util.warnings.WarningSet) */ - public ControlFlowGraph makeCFG(IMethod method, Context c) throws IllegalArgumentException { + public ControlFlowGraph makeCFG(IMethod method, @SuppressWarnings("unused") Context c) throws IllegalArgumentException { if (method == null) { throw new IllegalArgumentException("method cannot be null"); } if (method.isSynthetic()) { - return syntheticFactory.makeCFG((SyntheticMethod) method, c); + return syntheticFactory.makeCFG((SyntheticMethod) method); } else if (method instanceof IBytecodeMethod) { - return shrikeFactory.makeCFG((IBytecodeMethod) method, c); + return shrikeFactory.makeCFG((IBytecodeMethod) method); } else { Assertions.UNREACHABLE(); return null; diff --git a/com.ibm.wala.core/src/com/ibm/wala/ssa/SSAInstruction.java b/com.ibm.wala.core/src/com/ibm/wala/ssa/SSAInstruction.java index 095a10df9..1d791b1d5 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ssa/SSAInstruction.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ssa/SSAInstruction.java @@ -248,7 +248,7 @@ public abstract class SSAInstruction { /** * @return value number representing the jth use in this instruction. -1 means TOP (i.e., the value doesn't matter) */ - public int getUse(int j) throws UnsupportedOperationException { + public int getUse(@SuppressWarnings("unused") int j) throws UnsupportedOperationException { throw new UnsupportedOperationException(); } diff --git a/com.ibm.wala.core/src/com/ibm/wala/types/annotations/TypeAnnotation.java b/com.ibm.wala.core/src/com/ibm/wala/types/annotations/TypeAnnotation.java index ce9b6c396..8e84632bd 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/types/annotations/TypeAnnotation.java +++ b/com.ibm.wala.core/src/com/ibm/wala/types/annotations/TypeAnnotation.java @@ -816,7 +816,7 @@ public class TypeAnnotation { } // TODO: method is currently unused, but we may want to use it if we decide to resolve generic signature indices here - public static TypeAnnotationTargetConverter targetConverterAtMethodInfo(final ClassLoaderReference clRef, final IBytecodeMethod method) { + public static TypeAnnotationTargetConverter targetConverterAtMethodInfo(final ClassLoaderReference clRef) { return new TypeAnnotationTargetConverter() { @Override public TypeAnnotationTarget visitTypeParameterTarget(com.ibm.wala.shrikeCT.TypeAnnotationsReader.TypeParameterTarget target) { @@ -944,7 +944,7 @@ public class TypeAnnotation { }; } - public static TypeAnnotationTargetConverter targetConverterAtFieldInfo(final ClassLoaderReference clRef) { + public static TypeAnnotationTargetConverter targetConverterAtFieldInfo() { return new TypeAnnotationTargetConverter() { @Override public TypeAnnotationTarget visitTypeParameterTarget(com.ibm.wala.shrikeCT.TypeAnnotationsReader.TypeParameterTarget target) { diff --git a/com.ibm.wala.core/src/com/ibm/wala/util/ProgressMaster.java b/com.ibm.wala.core/src/com/ibm/wala/util/ProgressMaster.java index 93d091d9e..c5c8e0c59 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/util/ProgressMaster.java +++ b/com.ibm.wala.core/src/com/ibm/wala/util/ProgressMaster.java @@ -80,7 +80,7 @@ public class ProgressMaster implements IProgressMonitor { public synchronized void reset() { killNanny(); - setCanceled(false); + setCanceled(); timedOut = false; tooMuchMemory = false; } @@ -118,7 +118,7 @@ public class ProgressMaster implements IProgressMonitor { return delegate.isCanceled() || timedOut || tooMuchMemory; } - public void setCanceled(boolean value) { + public void setCanceled() { killNanny(); } @@ -131,7 +131,7 @@ public class ProgressMaster implements IProgressMonitor { @Override public void cancel() { - setCanceled(true); + setCanceled(); } /** END Custom change: subtasks and canceling */ @Override diff --git a/com.ibm.wala.core/src/com/ibm/wala/util/config/AnalysisScopeReader.java b/com.ibm.wala.core/src/com/ibm/wala/util/config/AnalysisScopeReader.java index 7543d036d..9f4aa114c 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/util/config/AnalysisScopeReader.java +++ b/com.ibm.wala.core/src/com/ibm/wala/util/config/AnalysisScopeReader.java @@ -50,12 +50,11 @@ public class AnalysisScopeReader { */ public static AnalysisScope readJavaScope(String scopeFileName, File exclusionsFile, ClassLoader javaLoader) throws IOException { AnalysisScope scope = AnalysisScope.createJavaAnalysisScope(); - return read(scope, scopeFileName, exclusionsFile, javaLoader, new FileProvider()); + return read(scope, scopeFileName, exclusionsFile, javaLoader); } - public static AnalysisScope read(AnalysisScope scope, String scopeFileName, File exclusionsFile, ClassLoader javaLoader, - FileProvider fp) throws IOException { + public static AnalysisScope read(AnalysisScope scope, String scopeFileName, File exclusionsFile, ClassLoader javaLoader) throws IOException { BufferedReader r = null; try { // Now reading from jar is included in WALA, but we can't use their version, because they load from @@ -99,8 +98,7 @@ public class AnalysisScopeReader { return scope; } - protected static AnalysisScope read(AnalysisScope scope, final URI scopeFileURI, final File exclusionsFile, ClassLoader javaLoader, - FileProvider fp) throws IOException { + protected static AnalysisScope read(AnalysisScope scope, final URI scopeFileURI, final File exclusionsFile, ClassLoader javaLoader) throws IOException { BufferedReader r = null; try { String line; diff --git a/com.ibm.wala.core/src/com/ibm/wala/util/ssa/TypeSafeInstructionFactory.java b/com.ibm.wala.core/src/com/ibm/wala/util/ssa/TypeSafeInstructionFactory.java index 5dcb0d1a6..7917fe96f 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/util/ssa/TypeSafeInstructionFactory.java +++ b/com.ibm.wala.core/src/com/ibm/wala/util/ssa/TypeSafeInstructionFactory.java @@ -609,6 +609,7 @@ public class TypeSafeInstructionFactory { return insts.PhiInstruction(iindex, result.getNumber(), aParams); } + @SuppressWarnings("unused") private static boolean isSuperclassOf(final TypeReference superClass, final TypeReference subClass) { return true; // TODO } diff --git a/com.ibm.wala.core/src/com/ibm/wala/viz/viewer/CgPanel.java b/com.ibm.wala.core/src/com/ibm/wala/viz/viewer/CgPanel.java index 726be8c15..e4808497c 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/viz/viewer/CgPanel.java +++ b/com.ibm.wala.core/src/com/ibm/wala/viz/viewer/CgPanel.java @@ -41,7 +41,7 @@ public class CgPanel extends JSplitPane{ this.setLeftComponent(new JScrollPane(tree)); - final IrAndSourceViewer irViewer = new IrAndSourceViewer(cg); + final IrAndSourceViewer irViewer = new IrAndSourceViewer(); this.setRightComponent(irViewer.getComponent()); tree.addTreeSelectionListener(new TreeSelectionListener() { diff --git a/com.ibm.wala.core/src/com/ibm/wala/viz/viewer/IrAndSourceViewer.java b/com.ibm.wala.core/src/com/ibm/wala/viz/viewer/IrAndSourceViewer.java index 46a5fd1ce..34c41d9da 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/viz/viewer/IrAndSourceViewer.java +++ b/com.ibm.wala.core/src/com/ibm/wala/viz/viewer/IrAndSourceViewer.java @@ -19,7 +19,6 @@ import javax.swing.JSplitPane; import com.ibm.wala.classLoader.IClassLoader; import com.ibm.wala.classLoader.IMethod; -import com.ibm.wala.ipa.callgraph.CallGraph; import com.ibm.wala.ssa.IR; import com.ibm.wala.viz.viewer.IrViewer.SelectedPcListner; @@ -30,9 +29,6 @@ public class IrAndSourceViewer { private IR ir; - public IrAndSourceViewer(CallGraph cg) { - } - public Component getComponent() { diff --git a/com.ibm.wala.core/src/com/ibm/wala/viz/viewer/PaPanel.java b/com.ibm.wala.core/src/com/ibm/wala/viz/viewer/PaPanel.java index 7cd5208ac..0dfa31ec5 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/viz/viewer/PaPanel.java +++ b/com.ibm.wala.core/src/com/ibm/wala/viz/viewer/PaPanel.java @@ -97,7 +97,7 @@ public class PaPanel extends JSplitPane { this.setRightComponent(rightPanel); fullName = new JTextField(""); rightPanel.add(fullName, BorderLayout.PAGE_START); - irViewer = new IrAndSourceViewer(cg); + irViewer = new IrAndSourceViewer(); rightPanel.add(irViewer.getComponent(), BorderLayout.CENTER); heapTree.addTreeExpansionListener(new TreeExpansionListener() { diff --git a/com.ibm.wala.ide.jdt.test/source/com/ibm/wala/cast/java/test/JDTJavaIRTests.java b/com.ibm.wala.ide.jdt.test/source/com/ibm/wala/cast/java/test/JDTJavaIRTests.java index 6a657c237..26cb6eaf5 100644 --- a/com.ibm.wala.ide.jdt.test/source/com/ibm/wala/cast/java/test/JDTJavaIRTests.java +++ b/com.ibm.wala.ide.jdt.test/source/com/ibm/wala/cast/java/test/JDTJavaIRTests.java @@ -74,6 +74,6 @@ public class JDTJavaIRTests extends JavaIRTests { @Override protected AbstractAnalysisEngine getAnalysisEngine(final String[] mainClassDescriptors, Collection sources, List libs) { - return JDTJavaTest.makeAnalysisEngine(mainClassDescriptors, sources, libs, project); + return JDTJavaTest.makeAnalysisEngine(mainClassDescriptors, project); } } diff --git a/com.ibm.wala.ide.jdt.test/source/com/ibm/wala/cast/java/test/JDTJavaTest.java b/com.ibm.wala.ide.jdt.test/source/com/ibm/wala/cast/java/test/JDTJavaTest.java index 082a3e442..377a16305 100644 --- a/com.ibm.wala.ide.jdt.test/source/com/ibm/wala/cast/java/test/JDTJavaTest.java +++ b/com.ibm.wala.ide.jdt.test/source/com/ibm/wala/cast/java/test/JDTJavaTest.java @@ -45,10 +45,10 @@ public abstract class JDTJavaTest extends IRTests { @Override protected AbstractAnalysisEngine getAnalysisEngine(final String[] mainClassDescriptors, Collection sources, List libs) { - return makeAnalysisEngine(mainClassDescriptors, sources, libs, project); + return makeAnalysisEngine(mainClassDescriptors, project); } - static AbstractAnalysisEngine makeAnalysisEngine(final String[] mainClassDescriptors, Collection sources, List libs, ZippedProjectData project) { + static AbstractAnalysisEngine makeAnalysisEngine(final String[] mainClassDescriptors, ZippedProjectData project) { AbstractAnalysisEngine engine; engine = new JDTJavaSourceAnalysisEngine(project.projectName) { { diff --git a/com.ibm.wala.ide.jdt.test/source/com/ibm/wala/cast/java/test/TypeInferenceAssertion.java b/com.ibm.wala.ide.jdt.test/source/com/ibm/wala/cast/java/test/TypeInferenceAssertion.java index 1c09c258c..9816a0457 100644 --- a/com.ibm.wala.ide.jdt.test/source/com/ibm/wala/cast/java/test/TypeInferenceAssertion.java +++ b/com.ibm.wala.ide.jdt.test/source/com/ibm/wala/cast/java/test/TypeInferenceAssertion.java @@ -33,7 +33,7 @@ final class TypeInferenceAssertion implements IRAssertion { @Override public void check(CallGraph cg) { IR ir = getIR(cg, typeName, "main", "[Ljava/lang/String;", "V"); - AstJavaTypeInference inference = new AstJavaTypeInference(ir, cg.getClassHierarchy(), true); + AstJavaTypeInference inference = new AstJavaTypeInference(ir, true); for (SSAInstruction instr : Iterator2Iterable.make(ir.iterateAllInstructions())) { // Check defs diff --git a/com.ibm.wala.ide.jdt/source/com/ibm/wala/cast/java/client/JDTJavaSourceAnalysisEngine.java b/com.ibm.wala.ide.jdt/source/com/ibm/wala/cast/java/client/JDTJavaSourceAnalysisEngine.java index 7c4dcc7b0..f42eb8b89 100644 --- a/com.ibm.wala.ide.jdt/source/com/ibm/wala/cast/java/client/JDTJavaSourceAnalysisEngine.java +++ b/com.ibm.wala.ide.jdt/source/com/ibm/wala/cast/java/client/JDTJavaSourceAnalysisEngine.java @@ -108,7 +108,7 @@ public class JDTJavaSourceAnalysisEngine extends EclipseP @Override protected CallGraphBuilder getCallGraphBuilder(IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache) { - return new ZeroCFABuilderFactory().make(options, cache, cha, scope, false); + return new ZeroCFABuilderFactory().make(options, cache, cha, scope); } } diff --git a/com.ibm.wala.ide.jdt/source/com/ibm/wala/cast/java/translator/jdt/JDTClassLoaderFactory.java b/com.ibm.wala.ide.jdt/source/com/ibm/wala/cast/java/translator/jdt/JDTClassLoaderFactory.java index b7ec15826..ecb910995 100644 --- a/com.ibm.wala.ide.jdt/source/com/ibm/wala/cast/java/translator/jdt/JDTClassLoaderFactory.java +++ b/com.ibm.wala.ide.jdt/source/com/ibm/wala/cast/java/translator/jdt/JDTClassLoaderFactory.java @@ -74,6 +74,6 @@ public class JDTClassLoaderFactory extends ClassLoaderFactoryImpl { } protected JavaSourceLoaderImpl makeSourceLoader(ClassLoaderReference classLoaderReference, IClassHierarchy cha, IClassLoader parent) { - return new JDTSourceLoaderImpl(classLoaderReference, parent, getExclusions(), cha, dump); + return new JDTSourceLoaderImpl(classLoaderReference, parent, cha, dump); } } diff --git a/com.ibm.wala.ide.jdt/source/com/ibm/wala/cast/java/translator/jdt/JDTSourceLoaderImpl.java b/com.ibm.wala.ide.jdt/source/com/ibm/wala/cast/java/translator/jdt/JDTSourceLoaderImpl.java index 3e3d9de88..d088be710 100644 --- a/com.ibm.wala.ide.jdt/source/com/ibm/wala/cast/java/translator/jdt/JDTSourceLoaderImpl.java +++ b/com.ibm.wala.ide.jdt/source/com/ibm/wala/cast/java/translator/jdt/JDTSourceLoaderImpl.java @@ -42,17 +42,16 @@ import com.ibm.wala.cast.java.translator.SourceModuleTranslator; import com.ibm.wala.classLoader.IClassLoader; import com.ibm.wala.ipa.cha.IClassHierarchy; import com.ibm.wala.types.ClassLoaderReference; -import com.ibm.wala.util.config.SetOfClasses; public class JDTSourceLoaderImpl extends JavaSourceLoaderImpl { private final boolean dump; - public JDTSourceLoaderImpl(ClassLoaderReference loaderRef, IClassLoader parent, SetOfClasses exclusions, IClassHierarchy cha) { - this(loaderRef, parent, exclusions, cha, false); + public JDTSourceLoaderImpl(ClassLoaderReference loaderRef, IClassLoader parent, IClassHierarchy cha) { + this(loaderRef, parent, cha, false); } - public JDTSourceLoaderImpl(ClassLoaderReference loaderRef, IClassLoader parent, SetOfClasses exclusions, IClassHierarchy cha, boolean dump) { - super(loaderRef, parent, exclusions, cha); + public JDTSourceLoaderImpl(ClassLoaderReference loaderRef, IClassLoader parent, IClassHierarchy cha, boolean dump) { + super(loaderRef, parent, cha); this.dump = dump; } diff --git a/com.ibm.wala.ide.jdt/source/com/ibm/wala/ide/util/JavaEclipseProjectPath.java b/com.ibm.wala.ide.jdt/source/com/ibm/wala/ide/util/JavaEclipseProjectPath.java index 86822cfec..929eaa5c8 100644 --- a/com.ibm.wala.ide.jdt/source/com/ibm/wala/ide/util/JavaEclipseProjectPath.java +++ b/com.ibm.wala.ide.jdt/source/com/ibm/wala/ide/util/JavaEclipseProjectPath.java @@ -88,7 +88,7 @@ public class JavaEclipseProjectPath extends EclipseProjectPath extends Ecli @Override protected CallGraphBuilder getCallGraphBuilder(IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache) { - return new ZeroCFABuilderFactory().make((JSAnalysisOptions)options, cache, cha, scope, false); + return new ZeroCFABuilderFactory().make((JSAnalysisOptions)options, cache, cha); } public Pair> getFieldBasedCallGraph() throws CancelException { diff --git a/com.ibm.wala.ide/src/com/ibm/wala/ide/util/EclipseAnalysisScopeReader.java b/com.ibm.wala.ide/src/com/ibm/wala/ide/util/EclipseAnalysisScopeReader.java index 6f1e14448..0a860b4b8 100644 --- a/com.ibm.wala.ide/src/com/ibm/wala/ide/util/EclipseAnalysisScopeReader.java +++ b/com.ibm.wala.ide/src/com/ibm/wala/ide/util/EclipseAnalysisScopeReader.java @@ -25,9 +25,9 @@ public class EclipseAnalysisScopeReader extends AnalysisScopeReader { public static AnalysisScope readJavaScopeFromPlugin(String scopeFileName, File exclusionsFile, ClassLoader javaLoader) throws IOException { return readJavaScopeFromPlugin(scopeFileName, exclusionsFile, javaLoader, CorePlugin.getDefault()); } - public static AnalysisScope readJavaScopeFromPlugin(String scopeFileName, File exclusionsFile, ClassLoader javaLoader, Plugin plugIn) throws IOException { + public static AnalysisScope readJavaScopeFromPlugin(String scopeFileName, File exclusionsFile, ClassLoader javaLoader, @SuppressWarnings("unused") Plugin plugIn) throws IOException { AnalysisScope scope = AnalysisScope.createJavaAnalysisScope(); - return read(scope, scopeFileName, exclusionsFile, javaLoader, new EclipseFileProvider(plugIn)); + return read(scope, scopeFileName, exclusionsFile, javaLoader); } public static AnalysisScope makePrimordialScopeFromPlugin(File exclusionsFile) throws IOException { @@ -38,9 +38,9 @@ public class EclipseAnalysisScopeReader extends AnalysisScopeReader { * @throws IOException * @throws IllegalStateException if there are problmes reading wala properties */ - public static AnalysisScope makePrimordialScopeFromPlugin(File exclusionsFile, Plugin plugIn) throws IOException { + public static AnalysisScope makePrimordialScopeFromPlugin(File exclusionsFile, @SuppressWarnings("unused") Plugin plugIn) throws IOException { return read(AnalysisScope.createJavaAnalysisScope(), BASIC_FILE, exclusionsFile, - EclipseAnalysisScopeReader.class.getClassLoader(), new EclipseFileProvider(plugIn)); + EclipseAnalysisScopeReader.class.getClassLoader()); } public static AnalysisScope makeJavaBinaryAnalysisScopeFromPlugin(String classPath, File exclusionsFile) throws IOException { diff --git a/com.ibm.wala.ide/src/com/ibm/wala/ide/util/EclipseProjectPath.java b/com.ibm.wala.ide/src/com/ibm/wala/ide/util/EclipseProjectPath.java index a82b53111..826c8f8bc 100644 --- a/com.ibm.wala.ide/src/com/ibm/wala/ide/util/EclipseProjectPath.java +++ b/com.ibm.wala.ide/src/com/ibm/wala/ide/util/EclipseProjectPath.java @@ -153,7 +153,7 @@ public abstract class EclipseProjectPath { // should ignore directories as well.. return; } - if (isPrimordialJarFile(j)) { + if (isPrimordialJarFile()) { List s = MapUtil.findOrCreateList(modules, loader); s.add(file.isDirectory() ? (Module) new BinaryDirectoryTreeModule(file) : (Module) new JarFileModule(j)); } @@ -170,7 +170,7 @@ public abstract class EclipseProjectPath { } } - protected void resolveProjectPathEntry(ILoader loader, boolean includeSource, IPath p) { + protected void resolveProjectPathEntry(boolean includeSource, IPath p) { IPath projectPath = makeAbsolute(p); IWorkspace ws = ResourcesPlugin.getWorkspace(); IWorkspaceRoot root = ws.getRoot(); @@ -281,7 +281,7 @@ public abstract class EclipseProjectPath { * @return true if the given jar file should be handled by the Primordial loader. If false, other provisions should be made to add * the jar file to the appropriate component of the AnalysisScope. Subclasses can override this method. */ - protected boolean isPrimordialJarFile(JarFile j) { + protected boolean isPrimordialJarFile() { return true; } @@ -335,7 +335,7 @@ public abstract class EclipseProjectPath { return toAnalysisScope(getClass().getClassLoader(), null); } - public Collection getModules(ILoader loader, boolean binary) { + public Collection getModules(ILoader loader) { return Collections.unmodifiableCollection(modules.get(loader)); } diff --git a/com.ibm.wala.scandroid/source/org/scandroid/util/EntryPoints.java b/com.ibm.wala.scandroid/source/org/scandroid/util/EntryPoints.java index c9bbb6165..2901abd2f 100644 --- a/com.ibm.wala.scandroid/source/org/scandroid/util/EntryPoints.java +++ b/com.ibm.wala.scandroid/source/org/scandroid/util/EntryPoints.java @@ -154,8 +154,7 @@ public class EntryPoints { } } - @SuppressWarnings("unused") - private void systemEntry(ClassHierarchy cha, AndroidAnalysisContext loader) { + private void systemEntry(ClassHierarchy cha, @SuppressWarnings("unused") AndroidAnalysisContext loader) { String[] systemEntyPoints = { // "android.app.ActivityThread.main([Ljava/lang/String;)V" // , "com.android.server.ServerThread.run()V" diff --git a/com.ibm.wala.shrike/src/com/ibm/wala/shrike/cg/OnlineDynamicCallGraph.java b/com.ibm.wala.shrike/src/com/ibm/wala/shrike/cg/OnlineDynamicCallGraph.java index dc87c2f91..160cddcfd 100644 --- a/com.ibm.wala.shrike/src/com/ibm/wala/shrike/cg/OnlineDynamicCallGraph.java +++ b/com.ibm.wala.shrike/src/com/ibm/wala/shrike/cg/OnlineDynamicCallGraph.java @@ -60,7 +60,7 @@ public class OnlineDynamicCallGraph implements ClassFileTransformer { } } - public static void premain(String agentArgs, Instrumentation inst) throws IllegalArgumentException, IOException, InvalidClassFileException { + public static void premain(Instrumentation inst) throws IllegalArgumentException, IOException, InvalidClassFileException { inst.addTransformer(new OnlineDynamicCallGraph()); } diff --git a/com.ibm.wala.shrike/src/com/ibm/wala/shrike/cg/Runtime.java b/com.ibm.wala.shrike/src/com/ibm/wala/shrike/cg/Runtime.java index 0f5524b71..aaaba2fca 100644 --- a/com.ibm.wala.shrike/src/com/ibm/wala/shrike/cg/Runtime.java +++ b/com.ibm.wala.shrike/src/com/ibm/wala/shrike/cg/Runtime.java @@ -156,11 +156,12 @@ public class Runtime { runtime.callStacks.get().push(bashToDescriptor(klass) + "\t" + method); } + @SuppressWarnings("unused") public static void termination(String klass, String method, Object receiver, boolean exception) { runtime.callStacks.get().pop(); } - public static void pop(String klass, String method) { + public static void pop() { if (runtime.currentSite != null) { synchronized (runtime) { if (runtime.output != null) { diff --git a/com.ibm.wala.shrike/src/com/ibm/wala/shrike/instrumentation/CodeScraper.java b/com.ibm.wala.shrike/src/com/ibm/wala/shrike/instrumentation/CodeScraper.java index 45030d2c7..9a57d792f 100644 --- a/com.ibm.wala.shrike/src/com/ibm/wala/shrike/instrumentation/CodeScraper.java +++ b/com.ibm.wala.shrike/src/com/ibm/wala/shrike/instrumentation/CodeScraper.java @@ -54,7 +54,7 @@ public class CodeScraper implements ClassFileTransformer { } } - public static void premain(String agentArgs, Instrumentation inst) { + public static void premain(Instrumentation inst) { inst.addTransformer(new CodeScraper()); } } diff --git a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/Decoder.java b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/Decoder.java index af0d40ede..330de0769 100644 --- a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/Decoder.java +++ b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/Decoder.java @@ -90,7 +90,7 @@ public abstract class Decoder implements Constants { .make(indexedTypes[(i - OP_iadd) % 4], BinaryOpInstruction.Operator.values()[(i - OP_iadd) / 4]); } for (int i = OP_ineg; i <= OP_dneg; i++) { - table[i] = UnaryOpInstruction.make(indexedTypes[i - OP_ineg], IUnaryOpInstruction.Operator.NEG); + table[i] = UnaryOpInstruction.make(indexedTypes[i - OP_ineg]); } for (int i = OP_ishl; i <= OP_lushr; i++) { table[i] = ShiftInstruction.make(indexedTypes[(i - OP_ishl) % 2], ShiftInstruction.Operator.values()[(i - OP_ishl) / 2]); diff --git a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/IInstruction.java b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/IInstruction.java index d32b57e46..00a507150 100644 --- a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/IInstruction.java +++ b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/IInstruction.java @@ -20,6 +20,7 @@ public interface IInstruction { /** * This class is used by IInstruction.visit to dispatch based on the instruction type. */ + @SuppressWarnings("unused") public static abstract class Visitor { public void visitConstant(ConstantInstruction instruction) { } diff --git a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/UnaryOpInstruction.java b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/UnaryOpInstruction.java index f7df5daca..84a31c86a 100644 --- a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/UnaryOpInstruction.java +++ b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/UnaryOpInstruction.java @@ -28,7 +28,7 @@ public final class UnaryOpInstruction extends Instruction implements IUnaryOpIns return r; } - public static UnaryOpInstruction make(String type, IUnaryOpInstruction.Operator operator) throws IllegalArgumentException { + public static UnaryOpInstruction make(String type) throws IllegalArgumentException { int t = Util.getTypeIndex(type); if (t < 0 || t > TYPE_double_index) { throw new IllegalArgumentException("Type " + type + " cannot have a unary operator applied"); diff --git a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/analysis/Analyzer.java b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/analysis/Analyzer.java index 7f9abdf12..5b6f8bf86 100644 --- a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/analysis/Analyzer.java +++ b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/analysis/Analyzer.java @@ -528,7 +528,7 @@ public class Analyzer { private boolean mergeTypes(int i, String[] curStack, int curStackSize, String[] curLocals, int curLocalsSize, List path) throws FailureException { boolean a = mergeStackTypes(i, curStack, curStackSize, path); - boolean b = mergeLocalTypes(i, curLocals, curLocalsSize, path); + boolean b = mergeLocalTypes(i, curLocals, curLocalsSize); return a||b; } @@ -562,7 +562,7 @@ public class Analyzer { return changed; } - private boolean mergeLocalTypes(int i, String[] curLocals, int curLocalsSize, List path) { + private boolean mergeLocalTypes(int i, String[] curLocals, int curLocalsSize) { boolean changed = false; if (locals[i] == null) { diff --git a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/analysis/ClassHierarchy.java b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/analysis/ClassHierarchy.java index ab4192dfe..8653d9902 100644 --- a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/analysis/ClassHierarchy.java +++ b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/analysis/ClassHierarchy.java @@ -244,7 +244,7 @@ public final class ClassHierarchy { } private static boolean collectDominatingSuperInterfacesFromClass(ClassHierarchyProvider hierarchy, String t, - HashSet matches, HashSet supers) { + HashSet supers) { String[] ifaces = hierarchy.getSuperInterfaces(t); if (ifaces == null) { return false; @@ -263,12 +263,11 @@ public final class ClassHierarchy { } } - private static boolean collectDominatingSuperInterfaces(ClassHierarchyProvider hierarchy, String t, HashSet matches, - HashSet supers) { + private static boolean collectDominatingSuperInterfaces(ClassHierarchyProvider hierarchy, String t, HashSet supers) { boolean r = true; for (String c = t; c != null && !supers.contains(c); c = hierarchy.getSuperClass(c)) { - if (!collectDominatingSuperInterfacesFromClass(hierarchy, c, matches, supers)) { + if (!collectDominatingSuperInterfacesFromClass(hierarchy, c, supers)) { r = false; } } @@ -303,7 +302,7 @@ public final class ClassHierarchy { // interfaces t2ExactInterfaces = true; } else { - t2ExactInterfaces = collectDominatingSuperInterfaces(hierarchy, t2, t1Supers, t2Supers); + t2ExactInterfaces = collectDominatingSuperInterfaces(hierarchy, t2, t2Supers); if (!t1ExactInterfaces && t2Supers.size() != 1) { // we found an interface; it might also apply to t1; must bail return Constants.TYPE_unknown; diff --git a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/tools/BootstrapDumper.java b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/tools/BootstrapDumper.java index 7f3d61af4..eb13515f7 100644 --- a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/tools/BootstrapDumper.java +++ b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/tools/BootstrapDumper.java @@ -71,7 +71,7 @@ public class BootstrapDumper { oi.close(); } - private void dumpAttributes(Class cl, ClassReader cr, int i, ClassReader.AttrIterator attrs) throws InvalidClassFileException, + private void dumpAttributes(Class cl, ClassReader.AttrIterator attrs) throws InvalidClassFileException, InvalidBytecodeException, ClassNotFoundException, NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchFieldException { for (; attrs.isValid(); attrs.advance()) { String name = attrs.getName(); @@ -124,7 +124,7 @@ public class BootstrapDumper { for (int i = 0; i < methodCount; i++) { cr.initMethodAttributeIterator(i, attrs); - dumpAttributes(Class.forName(cr.getName().replace('/', '.'), false, image), cr, i, attrs); + dumpAttributes(Class.forName(cr.getName().replace('/', '.'), false, image), attrs); } } } diff --git a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/tools/BootstrapInstrumentor.java b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/tools/BootstrapInstrumentor.java index 24f8c5ab3..d3dc50ad1 100644 --- a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/tools/BootstrapInstrumentor.java +++ b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/tools/BootstrapInstrumentor.java @@ -80,7 +80,7 @@ public class BootstrapInstrumentor { oi.close(); } - private Set dumpAttributes(ClassInstrumenter ci, int i, ClassReader.AttrIterator attrs) throws InvalidClassFileException, + private Set dumpAttributes(ClassInstrumenter ci, ClassReader.AttrIterator attrs) throws InvalidClassFileException, InvalidBytecodeException, SecurityException, IllegalArgumentException { Set result = HashSetFactory.make(); ClassReader cr = ci.getReader(); @@ -148,7 +148,7 @@ public class BootstrapInstrumentor { Set result = HashSetFactory.make(); for (int i = 0; i < methodCount; i++) { cr.initMethodAttributeIterator(i, attrs); - result.addAll(dumpAttributes(ci, i, attrs)); + result.addAll(dumpAttributes(ci, attrs)); } return result; diff --git a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/tools/ClassPrinter.java b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/tools/ClassPrinter.java index f2ecf122f..5119ad8b9 100644 --- a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/tools/ClassPrinter.java +++ b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/tools/ClassPrinter.java @@ -154,7 +154,7 @@ public class ClassPrinter { return "0x" + Integer.toString(16, flags) + "(" + buf.toString() + ")"; } - private void dumpAttributes(ClassReader cr, int i, ClassReader.AttrIterator attrs) throws InvalidClassFileException, + private void dumpAttributes(ClassReader cr, ClassReader.AttrIterator attrs) throws InvalidClassFileException, InvalidBytecodeException, IOException { for (; attrs.isValid(); attrs.advance()) { String name = attrs.getName(); @@ -266,7 +266,7 @@ public class ClassPrinter { w.write(" signature: " + cr.getCP().getCPUtf8(sr.getSignatureCPIndex()) + "\n"); } else if (AnnotationsReader.isKnownAnnotation(name)) { AnnotationsReader r = new AnnotationsReader(attrs, name); - printAnnotations(cr, attrs, r); + printAnnotations(r); } else { int len = attrs.getDataSize(); int pos = attrs.getDataOffset(); @@ -280,7 +280,7 @@ public class ClassPrinter { } } - private void printAnnotations(ClassReader cr, ClassReader.AttrIterator attrs, AnnotationsReader r) + private void printAnnotations(AnnotationsReader r) throws InvalidClassFileException { for (AnnotationAttribute annot : r.getAllAnnotations()) { w.write(" Annotation type: " + annot.type + "\n"); @@ -380,7 +380,7 @@ public class ClassPrinter { ClassReader.AttrIterator attrs = new ClassReader.AttrIterator(); cr.initClassAttributeIterator(attrs); - dumpAttributes(cr, 0, attrs); + dumpAttributes(cr, attrs); w.write("\n"); int fieldCount = cr.getFieldCount(); @@ -388,7 +388,7 @@ public class ClassPrinter { for (int i = 0; i < fieldCount; i++) { w.write(cr.getFieldName(i) + " " + cr.getFieldType(i) + " " + dumpFlags(cr.getFieldAccessFlags(i)) + "\n"); cr.initFieldAttributeIterator(i, attrs); - dumpAttributes(cr, i, attrs); + dumpAttributes(cr, attrs); } w.write("\n"); @@ -397,7 +397,7 @@ public class ClassPrinter { for (int i = 0; i < methodCount; i++) { w.write(cr.getMethodName(i) + " " + cr.getMethodType(i) + " " + dumpFlags(cr.getMethodAccessFlags(i)) + "\n"); cr.initMethodAttributeIterator(i, attrs); - dumpAttributes(cr, i, attrs); + dumpAttributes(cr, attrs); } w.write("\n"); } diff --git a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/tools/OfflineInstrumenterBase.java b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/tools/OfflineInstrumenterBase.java index 6e77dda68..5c94bad8b 100644 --- a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/tools/OfflineInstrumenterBase.java +++ b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/tools/OfflineInstrumenterBase.java @@ -462,7 +462,7 @@ public abstract class OfflineInstrumenterBase { /** * Skip the last class returned in every future traversal of the class list. */ - final public void setIgnore(boolean ignore) throws IllegalArgumentException { + final public void setIgnore() throws IllegalArgumentException { if (inputIndex == 0) { throw new IllegalArgumentException("Must get a class before ignoring it"); } diff --git a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeCT/StackMapTableWriter.java b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeCT/StackMapTableWriter.java index c67849350..13e68adf7 100644 --- a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeCT/StackMapTableWriter.java +++ b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeCT/StackMapTableWriter.java @@ -56,11 +56,11 @@ public class StackMapTableWriter extends Element { } public StackMapTableWriter(ClassWriter writer, MethodData method, Output output, ClassHierarchyProvider cha, String[][] vars) throws FailureException, IOException { - this(writer, stackMapTable(writer, method, output, cha, vars, null)); + this(writer, stackMapTable(method, output, cha, vars, null)); } public StackMapTableWriter(ClassWriter writer, MethodData method, Output output, ClassHierarchyProvider cha, String[][] vars, List reuseFrames) throws FailureException, IOException { - this(writer, stackMapTable(writer, method, output, cha, vars, reuseFrames)); + this(writer, stackMapTable(method, output, cha, vars, reuseFrames)); } private static List remapStackFrames(List sm, int[] newBytecodesToOldBytecodes) { @@ -197,7 +197,7 @@ public class StackMapTableWriter extends Element { return false; } - public static List stackMapTable(ClassWriter writer, MethodData method, Output output, ClassHierarchyProvider cha, String[][] vars, List reuseFrames) throws FailureException { + public static List stackMapTable(MethodData method, Output output, ClassHierarchyProvider cha, String[][] vars, List reuseFrames) throws FailureException { int idx = 0; List frames = new ArrayList<>(); diff --git a/com.ibm.wala.util/src/com/ibm/wala/util/graph/AbstractGraph.java b/com.ibm.wala.util/src/com/ibm/wala/util/graph/AbstractGraph.java index d188389d8..c12504e22 100644 --- a/com.ibm.wala.util/src/com/ibm/wala/util/graph/AbstractGraph.java +++ b/com.ibm.wala.util/src/com/ibm/wala/util/graph/AbstractGraph.java @@ -182,6 +182,7 @@ public abstract class AbstractGraph implements Graph { getNodeManager().removeNode(n); } + @SuppressWarnings("unused") protected String edgeString(T from, T to) { return " --> "; } diff --git a/com.ibm.wala.util/src/com/ibm/wala/util/graph/traverse/FloydWarshall.java b/com.ibm.wala.util/src/com/ibm/wala/util/graph/traverse/FloydWarshall.java index e012a41ef..7b086d164 100644 --- a/com.ibm.wala.util/src/com/ibm/wala/util/graph/traverse/FloydWarshall.java +++ b/com.ibm.wala.util/src/com/ibm/wala/util/graph/traverse/FloydWarshall.java @@ -46,10 +46,11 @@ public class FloydWarshall { G = g; } - protected int edgeCost(int from, int to) { + protected int edgeCost() { return 1; } + @SuppressWarnings("unused") protected void pathCallback(int i, int j, int k) { } @@ -69,7 +70,7 @@ public class FloydWarshall { tos.foreach(new IntSetAction() { @Override public void act(int x) { - result[fn][x] = edgeCost(fn, x); + result[fn][x] = edgeCost(); } }); }