diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/PointsToSetVariable.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/PointsToSetVariable.java index 3f690bb81..a7766b069 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/PointsToSetVariable.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/PointsToSetVariable.java @@ -154,7 +154,7 @@ public class PointsToSetVariable extends IntSetVariable { * * @param pointerKey The pointerKey to set. */ - void setPointerKey(PointerKey pointerKey) { + public void setPointerKey(PointerKey pointerKey) { // check that we haven't modified the hash code!!! this is crucial assert this.pointerKey.hashCode() == pointerKey.hashCode(); this.pointerKey = pointerKey; diff --git a/com.ibm.wala.dalvik/.classpath b/com.ibm.wala.dalvik/.classpath index e60e5fe4d..5306cac98 100644 --- a/com.ibm.wala.dalvik/.classpath +++ b/com.ibm.wala.dalvik/.classpath @@ -4,7 +4,7 @@ - + diff --git a/com.ibm.wala.dalvik/META-INF/MANIFEST.MF b/com.ibm.wala.dalvik/META-INF/MANIFEST.MF index 6350e2c79..bc3d9aa10 100644 --- a/com.ibm.wala.dalvik/META-INF/MANIFEST.MF +++ b/com.ibm.wala.dalvik/META-INF/MANIFEST.MF @@ -86,7 +86,7 @@ Export-Package: com.google.common.annotations, org.jf.util, org.jf.util.jcommander Bundle-ClassPath: ., - lib/commons-cli-1.2.jar, + lib/commons-cli-1.4.jar, lib/commons-io-2.4.jar, lib/dexlib2-2.2.1.jar, lib/util-2.2.1.jar, diff --git a/com.ibm.wala.dalvik/build.properties b/com.ibm.wala.dalvik/build.properties index 8f9288102..1e3626616 100644 --- a/com.ibm.wala.dalvik/build.properties +++ b/com.ibm.wala.dalvik/build.properties @@ -1,6 +1,6 @@ bin.includes = META-INF/,\ .,\ - lib/commons-cli-1.2.jar,\ + lib/commons-cli-1.4.jar,\ lib/commons-io-2.4.jar,\ lib/dexlib2-2.2.1.jar,\ lib/util-2.2.1.jar,\ diff --git a/com.ibm.wala.dalvik/build.xml b/com.ibm.wala.dalvik/build.xml index 5306b444a..b083f8f52 100755 --- a/com.ibm.wala.dalvik/build.xml +++ b/com.ibm.wala.dalvik/build.xml @@ -37,12 +37,12 @@ - + - + diff --git a/com.ibm.wala.scandroid/source/org/scandroid/util/CLISCanDroidOptions.java b/com.ibm.wala.scandroid/source/org/scandroid/util/CLISCanDroidOptions.java index 619f2de7a..6cf0c80e8 100644 --- a/com.ibm.wala.scandroid/source/org/scandroid/util/CLISCanDroidOptions.java +++ b/com.ibm.wala.scandroid/source/org/scandroid/util/CLISCanDroidOptions.java @@ -53,15 +53,14 @@ import java.net.URI; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; +import org.apache.commons.cli.DefaultParser; import org.apache.commons.cli.HelpFormatter; -import org.apache.commons.cli.OptionBuilder; +import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; -import org.apache.commons.cli.PosixParser; import com.ibm.wala.ipa.callgraph.AnalysisOptions.ReflectionOptions; -@SuppressWarnings("static-access") public class CLISCanDroidOptions implements ISCanDroidOptions { private static final String VERBOSE = "verbose"; private static final String REFLECTION = "reflection"; @@ -81,7 +80,7 @@ public class CLISCanDroidOptions implements ISCanDroidOptions { private static final String PARTIAL_CALL_GRAPH = "partial-call-graph"; private static final String CALL_GRAPH = "call-graph"; - private CommandLineParser parser = new PosixParser(); + private CommandLineParser parser = new DefaultParser(); private CommandLine line; private URI classpath; private String filename; @@ -93,11 +92,11 @@ public class CLISCanDroidOptions implements ISCanDroidOptions { private final Options options = new Options(); { options.addOption("h", "help", false, "print this message"); - options.addOption(OptionBuilder - .withLongOpt(VERBOSE) - .withDescription( + options.addOption(Option.builder() + .longOpt(VERBOSE) + .desc( "logging level (default INFO) [OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL]") - .hasArg().withArgName("level").create()); + .hasArg().argName("level").build()); options.addOption("c", CALL_GRAPH, false, "create full call graph pdf"); options.addOption("p", PARTIAL_CALL_GRAPH, false, "create partial call graph pdf (Application only)"); @@ -121,22 +120,22 @@ public class CLISCanDroidOptions implements ISCanDroidOptions { "run string prefix analysis"); options.addOption("f", SUMMARIES_FILE, true, "Use the specified summaries xml file"); - options.addOption(OptionBuilder - .withLongOpt(TEST_CGB) - .withDescription( + options.addOption(Option.builder() + .longOpt(TEST_CGB) + .desc( "Only load the call graph, exit status indicates success") - .create()); + .build()); options.addOption("y", CHECK_POLICY, false, "Check conformance with built-in policy"); - options.addOption(OptionBuilder.withLongOpt(ANDROID_LIB) - .withDescription("include ALIB in scope of analysis").hasArg() - .withArgName("ALIB").create()); - options.addOption(OptionBuilder - .withLongOpt(REFLECTION) - .withDescription( + options.addOption(Option.builder().longOpt(ANDROID_LIB) + .desc("include ALIB in scope of analysis").hasArg() + .argName("ALIB").build()); + options.addOption(Option.builder() + .longOpt(REFLECTION) + .desc( "FULL, NO_FLOW_TO_CASTS, NO_METHOD_INVOKE, NO_FLOW_TO_CASTS_NO_METHOD_INVOKE, ONE_FLOW_TO_CASTS_NO_METHOD_INVOKE, NO_STRING_CONSTANTS, NONE (Default)") - .hasArg().withArgName("option").create()); + .hasArg().argName("option").build()); } public CLISCanDroidOptions(String[] args, boolean reqArgs) { diff --git a/com.ibm.wala.util/src/com/ibm/wala/util/collections/OrFilter.java b/com.ibm.wala.util/src/com/ibm/wala/util/collections/OrFilter.java deleted file mode 100644 index 10e5f1707..000000000 --- a/com.ibm.wala.util/src/com/ibm/wala/util/collections/OrFilter.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007 IBM Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package com.ibm.wala.util.collections; - -import java.util.function.Predicate; - -/** - * A filter "A or B" - */ -public class OrFilter implements Predicate { - - public static OrFilter createOrFilter(Predicate a, Predicate b) { - if (a == null || b == null) { - throw new IllegalArgumentException("cannot compose null filter"); - } - return new OrFilter<>(a, b); - } - - private final Predicate a; - private final Predicate b; - - private OrFilter(Predicate a, Predicate b) { - this.a = a; - this.b = b; - } - - @Override public boolean test(T o) { - return a.test(o) || b.test(o); - } - -}