From d7d995cc2dbd94e608c8e02778f4361c27b25f4b Mon Sep 17 00:00:00 2001 From: Ben Gruver Date: Sun, 4 Sep 2016 16:58:01 -0700 Subject: Remove the now-unused experimental opcodes flag/functionality --- baksmali/src/main/java/org/jf/baksmali/AnalysisArguments.java | 5 ----- baksmali/src/main/java/org/jf/baksmali/BaksmaliOptions.java | 1 - baksmali/src/main/java/org/jf/baksmali/DexInputCommand.java | 7 +++---- baksmali/src/main/java/org/jf/baksmali/DisassembleCommand.java | 6 ++---- baksmali/src/main/java/org/jf/baksmali/DumpCommand.java | 7 +------ baksmali/src/main/java/org/jf/baksmali/ListClassesCommand.java | 2 +- .../src/main/java/org/jf/baksmali/ListFieldOffsetsCommand.java | 6 ++---- baksmali/src/main/java/org/jf/baksmali/ListReferencesCommand.java | 2 +- baksmali/src/main/java/org/jf/baksmali/ListVtablesCommand.java | 6 ++---- baksmali/src/test/java/org/jf/baksmali/BaksmaliTestUtils.java | 3 +-- 10 files changed, 13 insertions(+), 32 deletions(-) (limited to 'baksmali') diff --git a/baksmali/src/main/java/org/jf/baksmali/AnalysisArguments.java b/baksmali/src/main/java/org/jf/baksmali/AnalysisArguments.java index e8f04452..cdcb15e8 100644 --- a/baksmali/src/main/java/org/jf/baksmali/AnalysisArguments.java +++ b/baksmali/src/main/java/org/jf/baksmali/AnalysisArguments.java @@ -66,11 +66,6 @@ public class AnalysisArguments { @ExtendedParameter(argumentNames = "dir") public List classPathDirectories = Lists.newArrayList("."); - @Parameter(names = "--experimental", - description = "Enable experimental opcodes to be disassembled, even if they aren't necessarily " + - "supported in the Android runtime yet.") - public boolean experimentalOpcodes = false; - public static class CheckPackagePrivateArgument { @Parameter(names = {"--check-package-private-access", "--package-private", "--checkpp", "--pp"}, description = "Use the package-private access check when calculating vtable indexes. This should " + diff --git a/baksmali/src/main/java/org/jf/baksmali/BaksmaliOptions.java b/baksmali/src/main/java/org/jf/baksmali/BaksmaliOptions.java index 6d080bd2..7ad51243 100644 --- a/baksmali/src/main/java/org/jf/baksmali/BaksmaliOptions.java +++ b/baksmali/src/main/java/org/jf/baksmali/BaksmaliOptions.java @@ -57,7 +57,6 @@ public class BaksmaliOptions { public boolean accessorComments = true; public boolean allowOdex = false; public boolean deodex = false; - public boolean experimentalOpcodes = false; public boolean implicitReferences = false; public boolean normalizeVirtualMethods = false; diff --git a/baksmali/src/main/java/org/jf/baksmali/DexInputCommand.java b/baksmali/src/main/java/org/jf/baksmali/DexInputCommand.java index a4edd601..f69383dd 100644 --- a/baksmali/src/main/java/org/jf/baksmali/DexInputCommand.java +++ b/baksmali/src/main/java/org/jf/baksmali/DexInputCommand.java @@ -97,11 +97,10 @@ public abstract class DexInputCommand extends Command { * * @param input The name of a dex, apk, odex or oat file/entry. * @param apiLevel The api level to load the dex file with - * @param experimentalOpcodes whether experimental opcodes should be allowed * @return The loaded DexBackedDexFile */ @Nonnull - protected DexBackedDexFile loadDexFile(@Nonnull String input, int apiLevel, boolean experimentalOpcodes) { + protected DexBackedDexFile loadDexFile(@Nonnull String input, int apiLevel) { File file = new File(input); while (file != null && !file.exists()) { @@ -128,13 +127,13 @@ public abstract class DexInputCommand extends Command { try { return DexFileFactory.loadDexEntry(dexFile, dexEntry, exactMatch, - Opcodes.forApi(apiLevel, experimentalOpcodes)); + Opcodes.forApi(apiLevel)); } catch (IOException ex) { throw new RuntimeException(ex); } } else { try { - return DexFileFactory.loadDexFile(dexFile, Opcodes.forApi(apiLevel, experimentalOpcodes)); + return DexFileFactory.loadDexFile(dexFile, Opcodes.forApi(apiLevel)); } catch (IOException ex) { throw new RuntimeException(ex); } diff --git a/baksmali/src/main/java/org/jf/baksmali/DisassembleCommand.java b/baksmali/src/main/java/org/jf/baksmali/DisassembleCommand.java index d051b3d5..1ed61f08 100644 --- a/baksmali/src/main/java/org/jf/baksmali/DisassembleCommand.java +++ b/baksmali/src/main/java/org/jf/baksmali/DisassembleCommand.java @@ -154,7 +154,7 @@ public class DisassembleCommand extends DexInputCommand { } String input = inputList.get(0); - DexBackedDexFile dexFile = loadDexFile(input, 15, false); + DexBackedDexFile dexFile = loadDexFile(input, 15); if (showDeodexWarning() && dexFile.hasOdexOpcodes()) { StringWrapper.printWrappedString(System.err, @@ -195,8 +195,7 @@ public class DisassembleCommand extends DexInputCommand { try { options.classPath = ClassPath.loadClassPath(analysisArguments.classPathDirectories, analysisArguments.bootClassPath, analysisArguments.classPath, dexFile, - analysisArguments.apiLevel, shouldCheckPackagePrivateAccess(), - analysisArguments.experimentalOpcodes); + analysisArguments.apiLevel, shouldCheckPackagePrivateAccess()); } catch (Exception ex) { System.err.println("\n\nError occurred while loading class path files. Aborting."); ex.printStackTrace(System.err); @@ -241,7 +240,6 @@ public class DisassembleCommand extends DexInputCommand { options.debugInfo = debugInfo; options.codeOffsets = codeOffsets; options.accessorComments = accessorComments; - options.experimentalOpcodes = analysisArguments.experimentalOpcodes; options.implicitReferences = implicitReferences; options.normalizeVirtualMethods = normalizeVirtualMethods; diff --git a/baksmali/src/main/java/org/jf/baksmali/DumpCommand.java b/baksmali/src/main/java/org/jf/baksmali/DumpCommand.java index 96a73935..2903012d 100644 --- a/baksmali/src/main/java/org/jf/baksmali/DumpCommand.java +++ b/baksmali/src/main/java/org/jf/baksmali/DumpCommand.java @@ -60,11 +60,6 @@ public class DumpCommand extends DexInputCommand { @ExtendedParameter(argumentNames = "api") private int apiLevel = 15; - @Parameter(names = "--experimental", - description = "Enable experimental opcodes to be disassembled, even if they aren't necessarily " + - "supported in the Android runtime yet.") - private boolean experimentalOpcodes = false; - public DumpCommand(@Nonnull List commandAncestors) { super(commandAncestors); } @@ -82,7 +77,7 @@ public class DumpCommand extends DexInputCommand { } String input = inputList.get(0); - DexBackedDexFile dexFile = loadDexFile(input, 15, false); + DexBackedDexFile dexFile = loadDexFile(input, 15); try { dump(dexFile, System.out, apiLevel); diff --git a/baksmali/src/main/java/org/jf/baksmali/ListClassesCommand.java b/baksmali/src/main/java/org/jf/baksmali/ListClassesCommand.java index 35f6c3e8..0905aed2 100644 --- a/baksmali/src/main/java/org/jf/baksmali/ListClassesCommand.java +++ b/baksmali/src/main/java/org/jf/baksmali/ListClassesCommand.java @@ -69,7 +69,7 @@ public class ListClassesCommand extends DexInputCommand { } String input = inputList.get(0); - DexBackedDexFile dexFile = loadDexFile(input, 15, false); + DexBackedDexFile dexFile = loadDexFile(input, 15); for (Reference reference: dexFile.getClasses()) { System.out.println(ReferenceUtil.getReferenceString(reference)); diff --git a/baksmali/src/main/java/org/jf/baksmali/ListFieldOffsetsCommand.java b/baksmali/src/main/java/org/jf/baksmali/ListFieldOffsetsCommand.java index 74f5388d..61de071e 100644 --- a/baksmali/src/main/java/org/jf/baksmali/ListFieldOffsetsCommand.java +++ b/baksmali/src/main/java/org/jf/baksmali/ListFieldOffsetsCommand.java @@ -80,7 +80,7 @@ public class ListFieldOffsetsCommand extends DexInputCommand { } String input = inputList.get(0); - DexBackedDexFile dexFile = loadDexFile(input, 15, false); + DexBackedDexFile dexFile = loadDexFile(input, 15); BaksmaliOptions options = getOptions(dexFile); try { @@ -110,15 +110,13 @@ public class ListFieldOffsetsCommand extends DexInputCommand { try { options.classPath = ClassPath.loadClassPath(analysisArguments.classPathDirectories, analysisArguments.bootClassPath, analysisArguments.classPath, dexFile, analysisArguments.apiLevel, - false, analysisArguments.experimentalOpcodes); + false); } catch (Exception ex) { System.err.println("Error occurred while loading class path files."); ex.printStackTrace(System.err); System.exit(-1); } - options.experimentalOpcodes = analysisArguments.experimentalOpcodes; - return options; } } diff --git a/baksmali/src/main/java/org/jf/baksmali/ListReferencesCommand.java b/baksmali/src/main/java/org/jf/baksmali/ListReferencesCommand.java index a9c03164..fff1976b 100644 --- a/baksmali/src/main/java/org/jf/baksmali/ListReferencesCommand.java +++ b/baksmali/src/main/java/org/jf/baksmali/ListReferencesCommand.java @@ -66,7 +66,7 @@ public abstract class ListReferencesCommand extends DexInputCommand { } String input = inputList.get(0); - DexBackedDexFile dexFile = loadDexFile(input, 15, false); + DexBackedDexFile dexFile = loadDexFile(input, 15); for (Reference reference: dexFile.getReferences(referenceType)) { System.out.println(ReferenceUtil.getReferenceString(reference)); diff --git a/baksmali/src/main/java/org/jf/baksmali/ListVtablesCommand.java b/baksmali/src/main/java/org/jf/baksmali/ListVtablesCommand.java index fe1f5895..f0d665c0 100644 --- a/baksmali/src/main/java/org/jf/baksmali/ListVtablesCommand.java +++ b/baksmali/src/main/java/org/jf/baksmali/ListVtablesCommand.java @@ -91,7 +91,7 @@ public class ListVtablesCommand extends DexInputCommand { } String input = inputList.get(0); - DexBackedDexFile dexFile = loadDexFile(input, 15, false); + DexBackedDexFile dexFile = loadDexFile(input, 15); BaksmaliOptions options = getOptions(dexFile); if (options == null) { @@ -140,15 +140,13 @@ public class ListVtablesCommand extends DexInputCommand { try { options.classPath = ClassPath.loadClassPath(analysisArguments.classPathDirectories, analysisArguments.bootClassPath, analysisArguments.classPath, dexFile, analysisArguments.apiLevel, - checkPackagePrivateArgument.checkPackagePrivateAccess, analysisArguments.experimentalOpcodes); + checkPackagePrivateArgument.checkPackagePrivateAccess); } catch (Exception ex) { System.err.println("Error occurred while loading class path files."); ex.printStackTrace(System.err); return null; } - options.experimentalOpcodes = analysisArguments.experimentalOpcodes; - return options; } } diff --git a/baksmali/src/test/java/org/jf/baksmali/BaksmaliTestUtils.java b/baksmali/src/test/java/org/jf/baksmali/BaksmaliTestUtils.java index 4bcc0ea3..4dd2ad93 100644 --- a/baksmali/src/test/java/org/jf/baksmali/BaksmaliTestUtils.java +++ b/baksmali/src/test/java/org/jf/baksmali/BaksmaliTestUtils.java @@ -50,8 +50,7 @@ public class BaksmaliTestUtils { public static void assertSmaliCompiledEquals(String source, String expected, BaksmaliOptions options, boolean stripComments) throws IOException, RecognitionException { - ClassDef classDef = SmaliTestUtils.compileSmali(source, options.apiLevel, - options.experimentalOpcodes); + ClassDef classDef = SmaliTestUtils.compileSmali(source, options.apiLevel); // Remove unnecessary whitespace and optionally strip all comments from smali file String normalizedActual = getNormalizedSmali(classDef, options, stripComments); -- cgit v1.2.3