From 9f794030da3ca3c18d7955a78edf0257c7c5dad9 Mon Sep 17 00:00:00 2001 From: Ben Gruver Date: Mon, 5 Sep 2016 15:42:35 -0700 Subject: Fix how parameter delegates are handled --- baksmali/src/main/java/org/jf/baksmali/DeodexCommand.java | 7 +++---- baksmali/src/main/java/org/jf/baksmali/DisassembleCommand.java | 6 ++---- .../src/main/java/org/jf/baksmali/ListFieldOffsetsCommand.java | 6 ++---- baksmali/src/main/java/org/jf/baksmali/ListVtablesCommand.java | 6 +----- 4 files changed, 8 insertions(+), 17 deletions(-) (limited to 'baksmali') diff --git a/baksmali/src/main/java/org/jf/baksmali/DeodexCommand.java b/baksmali/src/main/java/org/jf/baksmali/DeodexCommand.java index 632cd99a..73cd294b 100644 --- a/baksmali/src/main/java/org/jf/baksmali/DeodexCommand.java +++ b/baksmali/src/main/java/org/jf/baksmali/DeodexCommand.java @@ -34,6 +34,7 @@ package org.jf.baksmali; import com.beust.jcommander.JCommander; import com.beust.jcommander.Parameter; import com.beust.jcommander.Parameters; +import com.beust.jcommander.ParametersDelegate; import org.jf.baksmali.AnalysisArguments.CheckPackagePrivateArgument; import org.jf.dexlib2.analysis.CustomInlineMethodResolver; import org.jf.dexlib2.analysis.InlineMethodResolver; @@ -52,6 +53,8 @@ import java.util.List; commandName = "deodex", commandAliases = { "de", "x" }) public class DeodexCommand extends DisassembleCommand { + + @ParametersDelegate protected CheckPackagePrivateArgument checkPackagePrivateArgument = new CheckPackagePrivateArgument(); @Parameter(names = {"--inline-table", "--inline", "--it"}, @@ -65,10 +68,6 @@ public class DeodexCommand extends DisassembleCommand { super(commandAncestors); } - @Override protected void setupCommand(JCommander jc) { - jc.addObject(checkPackagePrivateArgument); - } - @Override protected BaksmaliOptions getOptions(DexFile dexFile) { BaksmaliOptions options = super.getOptions(dexFile); diff --git a/baksmali/src/main/java/org/jf/baksmali/DisassembleCommand.java b/baksmali/src/main/java/org/jf/baksmali/DisassembleCommand.java index 1ed61f08..b8c9c21d 100644 --- a/baksmali/src/main/java/org/jf/baksmali/DisassembleCommand.java +++ b/baksmali/src/main/java/org/jf/baksmali/DisassembleCommand.java @@ -34,6 +34,7 @@ package org.jf.baksmali; import com.beust.jcommander.JCommander; import com.beust.jcommander.Parameter; import com.beust.jcommander.Parameters; +import com.beust.jcommander.ParametersDelegate; import com.beust.jcommander.validators.PositiveInteger; import com.google.common.collect.Lists; import com.google.common.collect.Maps; @@ -62,6 +63,7 @@ public class DisassembleCommand extends DexInputCommand { description = "Show usage information for this command.") private boolean help; + @ParametersDelegate protected AnalysisArguments analysisArguments = new AnalysisArguments(); @Parameter(names = {"--debug-info", "--di"}, arity = 1, @@ -137,10 +139,6 @@ public class DisassembleCommand extends DexInputCommand { super(commandAncestors); } - @Override protected void setupCommand(JCommander jc) { - jc.addObject(analysisArguments); - } - public void run() { if (help || inputList == null || inputList.isEmpty()) { usage(); diff --git a/baksmali/src/main/java/org/jf/baksmali/ListFieldOffsetsCommand.java b/baksmali/src/main/java/org/jf/baksmali/ListFieldOffsetsCommand.java index 61de071e..a241c51a 100644 --- a/baksmali/src/main/java/org/jf/baksmali/ListFieldOffsetsCommand.java +++ b/baksmali/src/main/java/org/jf/baksmali/ListFieldOffsetsCommand.java @@ -34,6 +34,7 @@ package org.jf.baksmali; import com.beust.jcommander.JCommander; import com.beust.jcommander.Parameter; import com.beust.jcommander.Parameters; +import com.beust.jcommander.ParametersDelegate; import org.jf.dexlib2.analysis.ClassPath; import org.jf.dexlib2.analysis.ClassProto; import org.jf.dexlib2.dexbacked.DexBackedDexFile; @@ -57,16 +58,13 @@ public class ListFieldOffsetsCommand extends DexInputCommand { description = "Show usage information") private boolean help; + @ParametersDelegate private AnalysisArguments analysisArguments = new AnalysisArguments(); public ListFieldOffsetsCommand(@Nonnull List commandAncestors) { super(commandAncestors); } - @Override protected void setupCommand(JCommander jc) { - jc.addObject(analysisArguments); - } - @Override public void run() { if (help || inputList == null || inputList.isEmpty()) { usage(); diff --git a/baksmali/src/main/java/org/jf/baksmali/ListVtablesCommand.java b/baksmali/src/main/java/org/jf/baksmali/ListVtablesCommand.java index 1a3787c1..f0d40fda 100644 --- a/baksmali/src/main/java/org/jf/baksmali/ListVtablesCommand.java +++ b/baksmali/src/main/java/org/jf/baksmali/ListVtablesCommand.java @@ -59,6 +59,7 @@ public class ListVtablesCommand extends DexInputCommand { description = "Show usage information") private boolean help; + @ParametersDelegate private AnalysisArguments analysisArguments = new AnalysisArguments(); @ParametersDelegate @@ -73,11 +74,6 @@ public class ListVtablesCommand extends DexInputCommand { super(commandAncestors); } - @Override protected void setupCommand(JCommander jc) { - jc.addObject(analysisArguments); - jc.addObject(checkPackagePrivateArgument); - } - @Override public void run() { if (help || inputList == null || inputList.isEmpty()) { usage(); -- cgit v1.2.3