From 6087b73cee366ce2f1c1b49e27d46f0ba7f33841 Mon Sep 17 00:00:00 2001 From: Ben Liblit Date: Fri, 28 Jul 2017 15:33:41 -0500 Subject: [PATCH] Fix or suppress all 242 Eclipse warnings about unused parameters In general, my approach was to try to eliminate each unused parameter using Eclipse's "Change Method Signature" refactoring. That did not always succeed: a parameter may be unused in some base class method, but then be used in subclass's override of that method. In cases where refactoring to eliminate a parameter failed, I instead annotated the parameter with '@SuppressWarnings("unused")' to silence the warning. Note: this group of changes creates a significant risk of incompatibility for third-party WALA code. Some removed parameters change externally-visible APIs. Furthermore, these changes do not necessarily lead to Java compilation errors. For example, suppose third-party code subclasses a WALA class or interface, overrides a method, but does not annotate that method as @Override. Removing a parameter means that the third-party method no longer overrides. This can quietly change code behavior without compile-time errors or warnings. This is exactly why one should use @Override wherever possible, but we cannot guarantee that third-party WALA users have done that. --- .../java/ecj/util/SourceDirCallGraph.java | 2 +- .../jdt/ecj/ECJClassLoaderFactory.java | 2 +- .../jdt/ecj/ECJSourceLoaderImpl.java | 9 +-- .../typeInference/AstJavaTypeInference.java | 5 +- .../java/client/JavaSourceAnalysisEngine.java | 2 +- .../client/impl/ZeroCFABuilderFactory.java | 2 +- .../ZeroOneContainerCFABuilderFactory.java | 2 +- ...AstJavaSSAPropagationCallGraphBuilder.java | 4 +- .../AstJavaZeroOneContainerCFABuilder.java | 2 +- .../ipa/callgraph/AstJavaZeroXCFABuilder.java | 2 +- .../JavaScopeMappingInstanceKeys.java | 3 +- .../java/loader/JavaSourceLoaderImpl.java | 12 +-- .../translator/JavaCAst2IRTranslator.java | 4 - .../wala/cast/js/examples/hybrid/Driver.java | 13 +--- .../typeInference/JSPrimitiveType.java | 1 - .../typeInference/JSTypeInference.java | 2 +- .../FieldBasedCallGraphBuilder.java | 4 +- .../OptimisticCallgraphBuilder.java | 4 +- .../fieldbased/flowgraph/FlowGraph.java | 2 +- .../vertices/AbstractVertexVisitor.java | 26 +++---- .../js/client/JavaScriptAnalysisEngine.java | 2 +- .../js/client/impl/OneCFABuilderFactory.java | 4 +- .../js/client/impl/ZeroCFABuilderFactory.java | 4 +- .../cast/js/html/DefaultSourceExtractor.java | 12 +-- .../cast/js/html/DomLessSourceExtractor.java | 6 +- .../JavaScriptConstructTargetSelector.java | 7 +- ...vaScriptFunctionDotCallTargetSelector.java | 4 +- .../extraction/CAstRewriterExt.java | 6 +- .../extraction/ClosureExtractor.java | 6 +- .../ibm/wala/cast/js/util/CallGraph2JSON.java | 6 +- .../typeInference/AstTypeInference.java | 3 +- ...ntextInsensitiveSSAContextInterpreter.java | 7 +- .../AstSSAPropagationCallGraphBuilder.java | 26 ++----- .../cast/ipa/callgraph/ScriptEntryPoints.java | 6 +- .../StandardFunctionTargetSelector.java | 7 +- .../cast/ir/ssa/AbstractSSAConversion.java | 2 +- .../ibm/wala/cast/ir/ssa/AstIRFactory.java | 4 +- .../cast/ir/translator/AstTranslator.java | 31 ++++---- .../wala/cast/tree/rewrite/CAstRewriter.java | 3 +- .../ibm/wala/cast/tree/visit/CAstVisitor.java | 78 ++++++++++--------- .../core/tests/callGraph/CallGraphTest.java | 8 +- .../examples/drivers/ScopeFileCallGraph.java | 4 +- .../IntraproceduralNullPointerAnalysis.java | 2 +- .../analysis/reflection/CloneInterpreter.java | 2 +- .../reflection/GetMethodContextSelector.java | 4 +- .../JavaLangClassContextSelector.java | 4 +- .../ReflectiveInvocationSelector.java | 4 +- .../wala/cfg/cdg/ControlDependenceGraph.java | 4 +- .../intra/IntraprocNullPointerAnalysis.java | 2 +- .../wala/cfg/exc/intra/NullPointerSolver.java | 6 +- .../ibm/wala/classLoader/ClassLoaderImpl.java | 4 +- .../com/ibm/wala/classLoader/CodeScanner.java | 4 +- .../ibm/wala/classLoader/ShrikeCTMethod.java | 2 +- .../com/ibm/wala/classLoader/ShrikeClass.java | 2 +- .../ibm/wala/classLoader/ShrikeIRFactory.java | 4 +- .../ibm/wala/classLoader/SyntheticMethod.java | 2 +- .../dataflow/IFDS/IdentityFlowFunctions.java | 7 -- .../PartiallyBalancedTabulationSolver.java | 5 +- .../wala/dataflow/IFDS/TabulationSolver.java | 4 + .../flowgraph/AbstractDemandFlowGraph.java | 4 +- .../demandpa/util/PABasedMemoryAccessMap.java | 9 +-- .../ClassHierarchyMethodTargetSelector.java | 10 +-- .../propagation/ConcreteTypeKey.java | 3 +- .../PropagationCallGraphBuilder.java | 12 +-- .../propagation/PropagationSystem.java | 4 +- .../SSAPropagationCallGraphBuilder.java | 15 ++-- .../TargetMethodContextSelector.java | 3 +- .../cfa/ContainerContextSelector.java | 4 +- .../propagation/rta/AbstractRTABuilder.java | 6 +- .../propagation/rta/TypeBasedHeapModel.java | 2 +- .../src/com/ibm/wala/ipa/slicer/PDG.java | 4 +- .../ipa/slicer/ReachabilityFunctions.java | 1 + .../ibm/wala/ipa/slicer/SDGSupergraph.java | 2 +- .../ipa/summaries/SyntheticIRFactory.java | 2 +- .../com/ibm/wala/ssa/DefaultIRFactory.java | 6 +- .../src/com/ibm/wala/ssa/SSAInstruction.java | 2 +- .../types/annotations/TypeAnnotation.java | 4 +- .../src/com/ibm/wala/util/ProgressMaster.java | 6 +- .../wala/util/config/AnalysisScopeReader.java | 8 +- .../util/ssa/TypeSafeInstructionFactory.java | 1 + .../src/com/ibm/wala/viz/viewer/CgPanel.java | 2 +- .../wala/viz/viewer/IrAndSourceViewer.java | 4 - .../src/com/ibm/wala/viz/viewer/PaPanel.java | 2 +- .../wala/cast/java/test/JDTJavaIRTests.java | 2 +- .../ibm/wala/cast/java/test/JDTJavaTest.java | 4 +- .../java/test/TypeInferenceAssertion.java | 2 +- .../client/JDTJavaSourceAnalysisEngine.java | 2 +- .../translator/jdt/JDTClassLoaderFactory.java | 2 +- .../translator/jdt/JDTSourceLoaderImpl.java | 9 +-- .../wala/ide/util/JavaEclipseProjectPath.java | 2 +- .../EclipseJavaScriptAnalysisEngine.java | 2 +- .../ide/util/EclipseAnalysisScopeReader.java | 8 +- .../ibm/wala/ide/util/EclipseProjectPath.java | 8 +- .../org/scandroid/util/EntryPoints.java | 3 +- .../shrike/cg/OnlineDynamicCallGraph.java | 2 +- .../src/com/ibm/wala/shrike/cg/Runtime.java | 3 +- .../shrike/instrumentation/CodeScraper.java | 2 +- .../src/com/ibm/wala/shrikeBT/Decoder.java | 2 +- .../com/ibm/wala/shrikeBT/IInstruction.java | 1 + .../ibm/wala/shrikeBT/UnaryOpInstruction.java | 2 +- .../ibm/wala/shrikeBT/analysis/Analyzer.java | 4 +- .../shrikeBT/analysis/ClassHierarchy.java | 9 +-- .../shrikeCT/tools/BootstrapDumper.java | 4 +- .../shrikeCT/tools/BootstrapInstrumentor.java | 4 +- .../shrikeBT/shrikeCT/tools/ClassPrinter.java | 12 +-- .../tools/OfflineInstrumenterBase.java | 2 +- .../wala/shrikeCT/StackMapTableWriter.java | 6 +- .../ibm/wala/util/graph/AbstractGraph.java | 1 + .../util/graph/traverse/FloydWarshall.java | 5 +- 109 files changed, 277 insertions(+), 343 deletions(-) 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(); } }); }