diff --git a/src/main/java/com/ibm/minerva/analyzer/Analyzer.java b/src/main/java/com/ibm/minerva/analyzer/Analyzer.java index b25d5e5..d480a02 100644 --- a/src/main/java/com/ibm/minerva/analyzer/Analyzer.java +++ b/src/main/java/com/ibm/minerva/analyzer/Analyzer.java @@ -126,6 +126,10 @@ public static void setLoggingLevel(Level level) { LoggingUtil.setLoggingLevel(level); } + // [0] : archive path(s) + // [1] : output directory + // [2] : package exclusion list + // [3] : build call graph (true|false|) public static void main(String[] args) { if (args.length > 1) { final Analyzer analyzer; @@ -162,7 +166,7 @@ public static void main(String[] args) { } else { // Try to match the name of one of the CallGraphBuilderType enum values. - Optional o = Arrays.stream(CallGraphBuilderType.values()).filter(x -> args[3].equalsIgnoreCase(x.name())).findFirst(); + Optional o = CallGraphBuilderType.find(args[3]); if (o.isPresent()) { analyzer.setCallGraphBuilder(o.get()); } diff --git a/src/main/java/com/ibm/minerva/analyzer/CallGraphBuilderType.java b/src/main/java/com/ibm/minerva/analyzer/CallGraphBuilderType.java index bacd414..bc475f9 100644 --- a/src/main/java/com/ibm/minerva/analyzer/CallGraphBuilderType.java +++ b/src/main/java/com/ibm/minerva/analyzer/CallGraphBuilderType.java @@ -18,6 +18,9 @@ package com.ibm.minerva.analyzer; +import java.util.Arrays; +import java.util.Optional; + import com.ibm.wala.cast.java.client.impl.ZeroCFABuilderFactory; import com.ibm.wala.cast.java.client.impl.ZeroOneCFABuilderFactory; import com.ibm.wala.ipa.callgraph.AnalysisOptions; @@ -50,4 +53,8 @@ com.ibm.wala.ipa.callgraph.CallGraphBuilder createCallGraphBuilder(AnalysisOp IClassHierarchy cha) { return factory.createCallGraphBuilder(options, cache, cha); } + + public static Optional find(String name) { + return Arrays.stream(values()).filter(x -> x.name().equalsIgnoreCase(name)).findFirst(); + } }