aboutsummaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorBen Gruver <bgruv@google.com>2016-09-05 15:42:35 -0700
committerBen Gruver <bgruv@google.com>2016-09-17 21:30:28 -0700
commit9f794030da3ca3c18d7955a78edf0257c7c5dad9 (patch)
tree33d3c50386bac093315c0b3aba9452c0ead282b5 /util
parentc12b7e6e00b94d399281bf7327787553a9f7d8b5 (diff)
downloadsmali-9f794030da3ca3c18d7955a78edf0257c7c5dad9.tar.gz
Fix how parameter delegates are handled
Diffstat (limited to 'util')
-rw-r--r--util/src/main/java/org/jf/util/jcommander/ExtendedCommands.java7
-rw-r--r--util/src/main/java/org/jf/util/jcommander/HelpFormatter.java9
2 files changed, 7 insertions, 9 deletions
diff --git a/util/src/main/java/org/jf/util/jcommander/ExtendedCommands.java b/util/src/main/java/org/jf/util/jcommander/ExtendedCommands.java
index 4f230e98..209d94e2 100644
--- a/util/src/main/java/org/jf/util/jcommander/ExtendedCommands.java
+++ b/util/src/main/java/org/jf/util/jcommander/ExtendedCommands.java
@@ -32,6 +32,7 @@
package org.jf.util.jcommander;
import com.beust.jcommander.JCommander;
+import com.beust.jcommander.ParameterDescription;
import com.beust.jcommander.Parameterized;
import com.beust.jcommander.Parameters;
@@ -98,10 +99,10 @@ public class ExtendedCommands {
}
@Nonnull
- public static String[] parameterArgumentNames(JCommander jc, Parameterized parameterized) {
- // TODO: this won't work if we're using additional objects to collect parameters
+ public static String[] parameterArgumentNames(ParameterDescription parameterDescription) {
+ Parameterized parameterized = parameterDescription.getParameterized();
- Class cls = jc.getObjects().get(0).getClass();
+ Class cls = parameterDescription.getObject().getClass();
Field field = null;
while (cls != Object.class) {
try {
diff --git a/util/src/main/java/org/jf/util/jcommander/HelpFormatter.java b/util/src/main/java/org/jf/util/jcommander/HelpFormatter.java
index 367094c7..e807d5fe 100644
--- a/util/src/main/java/org/jf/util/jcommander/HelpFormatter.java
+++ b/util/src/main/java/org/jf/util/jcommander/HelpFormatter.java
@@ -163,8 +163,7 @@ public class HelpFormatter {
}
if (leafJc.getMainParameter() != null) {
- String[] argumentNames = ExtendedCommands.parameterArgumentNames(
- leafJc, leafJc.getMainParameter().getParameterized());
+ String[] argumentNames = ExtendedCommands.parameterArgumentNames(leafJc.getMainParameter());
if (argumentNames.length == 0) {
writer.write(" <args>");
} else {
@@ -200,8 +199,7 @@ public class HelpFormatter {
writer.write(Joiner.on(',').join(param.getParameter().names()));
}
if (getParameterArity(param) > 0) {
- String[] argumentNames = ExtendedCommands.parameterArgumentNames(
- leafJc, param.getParameterized());
+ String[] argumentNames = ExtendedCommands.parameterArgumentNames(param);
for (int i = 0; i < getParameterArity(param); i++) {
writer.write(" ");
if (i < argumentNames.length) {
@@ -242,8 +240,7 @@ public class HelpFormatter {
}
if (leafJc.getMainParameter() != null) {
- String[] argumentNames = ExtendedCommands.parameterArgumentNames(leafJc,
- leafJc.getMainParameter().getParameterized());
+ String[] argumentNames = ExtendedCommands.parameterArgumentNames(leafJc.getMainParameter());
writer.write("\n");
writer.indent(4);
if (argumentNames.length > 0) {