From 97a6496c1f54a20fbc54599f314f0b4d2827d570 Mon Sep 17 00:00:00 2001 From: Raffi Khatchadourian Date: Wed, 3 May 2017 12:20:03 -0400 Subject: [PATCH] AnalysisCache -> IAnalysisCache, additional ignore, increased visibility, generic fixes (#172) * Use IAnalysisCacheView instead of AnalysisCache. (#1) It seems that some additional types need to be changed due to d24519e97497e24fe8e4495331a649343905694b. This may not be inclusive, however. * Increase visibility of several methods and constructors. Used for creating custom contexts and context selectors. * Ignore the results directory. * Some generic type fixes in ModRef.java. --- .gitignore | 1 + .../ibm/wala/ipa/callgraph/propagation/cfa/CallString.java | 2 +- .../propagation/cfa/CallStringContextSelector.java | 6 +++--- com.ibm.wala.core/src/com/ibm/wala/ipa/modref/ModRef.java | 6 +++--- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 6440471ab..22b0d3901 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,4 @@ com.ibm.wala.dalvik.test/data/sample.cup com.ibm.wala.dalvik.test/parser.java com.ibm.wala.dalvik.test/report com.ibm.wala.dalvik.test/sym.java +results \ No newline at end of file diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/cfa/CallString.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/cfa/CallString.java index 9795471c6..3297a091a 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/cfa/CallString.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/cfa/CallString.java @@ -27,7 +27,7 @@ public class CallString implements ContextItem { this.methods = new IMethod[] { method }; } - CallString(CallSiteReference site, IMethod method, int length, CallString base) { + protected CallString(CallSiteReference site, IMethod method, int length, CallString base) { int sitesLength = Math.min(length, base.sites.length + 1); int methodsLength = Math.min(length, base.methods.length + 1); sites = new CallSiteReference[sitesLength]; diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/cfa/CallStringContextSelector.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/cfa/CallStringContextSelector.java index c32da64f2..da5ee5165 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/cfa/CallStringContextSelector.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/cfa/CallStringContextSelector.java @@ -35,7 +35,7 @@ public abstract class CallStringContextSelector implements ContextSelector { private final Context base; - private CallStringContextPair(CallString cs, Context base) { + public CallStringContextPair(CallString cs, Context base) { this.cs = cs; this.base = base; } @@ -74,7 +74,7 @@ public abstract class CallStringContextSelector implements ContextSelector { } }; - private final ContextSelector base; + protected final ContextSelector base; public CallStringContextSelector(ContextSelector base) { this.base = base; @@ -82,7 +82,7 @@ public abstract class CallStringContextSelector implements ContextSelector { protected abstract int getLength(CGNode caller, CallSiteReference site, IMethod target); - private CallString getCallString(CGNode caller, CallSiteReference site, IMethod target) { + protected CallString getCallString(CGNode caller, CallSiteReference site, IMethod target) { int length = getLength(caller, site, target); if (length > 0) { if (caller.getContext().get(CALL_STRING) != null) { diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/modref/ModRef.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/modref/ModRef.java index d22644e91..40b460aed 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/modref/ModRef.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/modref/ModRef.java @@ -342,9 +342,9 @@ public class ModRef { return makeModVisitor(n, result, pa, h, false); } - protected ModVisitor makeModVisitor(CGNode n, Collection result, PointerAnalysis pa, ExtendedHeapModel h, + protected ModVisitor makeModVisitor(CGNode n, Collection result, PointerAnalysis pa, ExtendedHeapModel h, boolean ignoreAllocHeapDefs) { - return new ModVisitor(n, result, h, pa, ignoreAllocHeapDefs); + return new ModVisitor<>(n, result, h, pa, ignoreAllocHeapDefs); } /** @@ -368,7 +368,7 @@ public class ModRef { return hexcl == null ? result : hexcl.filter(result); } - protected RefVisitor makeRefVisitor(CGNode n, Collection result, PointerAnalysis pa, ExtendedHeapModel h) { + protected RefVisitor makeRefVisitor(CGNode n, Collection result, PointerAnalysis pa, ExtendedHeapModel h) { return new RefVisitor(n, result, pa, h); }