aboutsummaryrefslogtreecommitdiff
path: root/baksmali
diff options
context:
space:
mode:
authorBen Gruver <bgruv@google.com>2016-09-04 16:58:01 -0700
committerBen Gruver <bgruv@google.com>2016-09-17 21:30:28 -0700
commitd7d995cc2dbd94e608c8e02778f4361c27b25f4b (patch)
treefe6090ed432b6d1229b1a9c5dd97487c67ec9a00 /baksmali
parent30bdb7fda9aa4cbd088ea053bd909e0bbeca26fa (diff)
downloadsmali-d7d995cc2dbd94e608c8e02778f4361c27b25f4b.tar.gz
Remove the now-unused experimental opcodes flag/functionality
Diffstat (limited to 'baksmali')
-rw-r--r--baksmali/src/main/java/org/jf/baksmali/AnalysisArguments.java5
-rw-r--r--baksmali/src/main/java/org/jf/baksmali/BaksmaliOptions.java1
-rw-r--r--baksmali/src/main/java/org/jf/baksmali/DexInputCommand.java7
-rw-r--r--baksmali/src/main/java/org/jf/baksmali/DisassembleCommand.java6
-rw-r--r--baksmali/src/main/java/org/jf/baksmali/DumpCommand.java7
-rw-r--r--baksmali/src/main/java/org/jf/baksmali/ListClassesCommand.java2
-rw-r--r--baksmali/src/main/java/org/jf/baksmali/ListFieldOffsetsCommand.java6
-rw-r--r--baksmali/src/main/java/org/jf/baksmali/ListReferencesCommand.java2
-rw-r--r--baksmali/src/main/java/org/jf/baksmali/ListVtablesCommand.java6
-rw-r--r--baksmali/src/test/java/org/jf/baksmali/BaksmaliTestUtils.java3
10 files changed, 13 insertions, 32 deletions
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<String> 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<JCommander> 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);