public class org.jf.baksmali.ListDependenciesCommand extends org.jf.util.jcommander.Command
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jf.baksmali.ListDependenciesCommand
super_class: org.jf.util.jcommander.Command
{
private boolean help;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.beust.jcommander.Parameter(names = {"-h", "-?", "--help"}, help = true, description = "Show usage information")
private java.util.List<java.lang.String> inputList;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/lang/String;>;
RuntimeVisibleAnnotations:
com.beust.jcommander.Parameter(description = "An oat/odex file")
org.jf.util.jcommander.ExtendedParameter(argumentNames = {"file"})
public void <init>(java.util.List<com.beust.jcommander.JCommander>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.jf.util.jcommander.Command.<init>:(Ljava/util/List;)V
1: aload 0
invokestatic com.google.common.collect.Lists.newArrayList:()Ljava/util/ArrayList;
putfield org.jf.baksmali.ListDependenciesCommand.inputList:Ljava/util/List;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jf/baksmali/ListDependenciesCommand;
0 3 1 commandAncestors Ljava/util/List<Lcom/beust/jcommander/JCommander;>;
Signature: (Ljava/util/List<Lcom/beust/jcommander/JCommander;>;)V
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
javax.annotation.Nonnull()
RuntimeVisibleParameterAnnotations:
0:
javax.annotation.Nonnull()
MethodParameters:
Name Flags
commandAncestors
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
getfield org.jf.baksmali.ListDependenciesCommand.help:Z
ifne 1
aload 0
getfield org.jf.baksmali.ListDependenciesCommand.inputList:Ljava/util/List;
ifnull 1
aload 0
getfield org.jf.baksmali.ListDependenciesCommand.inputList:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 3
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jf.baksmali.ListDependenciesCommand.usage:()V
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield org.jf.baksmali.ListDependenciesCommand.inputList:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
if_icmple 7
4: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "Too many files specified"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: aload 0
invokevirtual org.jf.baksmali.ListDependenciesCommand.usage:()V
6: return
7: StackMap locals:
StackMap stack:
aload 0
getfield org.jf.baksmali.ListDependenciesCommand.inputList:Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 8: aconst_null
astore 2
start local 2 9: new java.io.BufferedInputStream
dup
new java.io.FileInputStream
dup
aload 1
invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
astore 2
10: goto 14
StackMap locals: org.jf.baksmali.ListDependenciesCommand java.lang.String java.io.InputStream
StackMap stack: java.io.FileNotFoundException
11: pop
12: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Could not find file: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
13: iconst_m1
invokestatic java.lang.System.exit:(I)V
14: StackMap locals:
StackMap stack:
aload 2
invokestatic org.jf.dexlib2.dexbacked.OatFile.fromInputStream:(Ljava/io/InputStream;)Lorg/jf/dexlib2/dexbacked/OatFile;
astore 3
start local 3 15: aload 3
invokevirtual org.jf.dexlib2.dexbacked.OatFile.getBootClassPath:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 18
StackMap locals: org.jf.baksmali.ListDependenciesCommand java.lang.String java.io.InputStream org.jf.dexlib2.dexbacked.OatFile top java.util.Iterator
StackMap stack:
16: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 17: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 4
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 4 18: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
19: return
end local 3 20: StackMap locals: org.jf.baksmali.ListDependenciesCommand java.lang.String java.io.InputStream
StackMap stack: org.jf.dexlib2.dexbacked.OatFile$NotAnOatFileException
pop
goto 23
21: StackMap locals:
StackMap stack: java.io.IOException
astore 3
start local 3 22: new java.lang.RuntimeException
dup
aload 3
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 23: StackMap locals:
StackMap stack:
invokestatic org.jf.dexlib2.Opcodes.getDefault:()Lorg/jf/dexlib2/Opcodes;
aload 2
invokestatic org.jf.dexlib2.dexbacked.DexBackedOdexFile.fromInputStream:(Lorg/jf/dexlib2/Opcodes;Ljava/io/InputStream;)Lorg/jf/dexlib2/dexbacked/DexBackedOdexFile;
astore 3
start local 3 24: aload 3
invokevirtual org.jf.dexlib2.dexbacked.DexBackedOdexFile.getDependencies:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 27
StackMap locals: org.jf.baksmali.ListDependenciesCommand java.lang.String java.io.InputStream org.jf.dexlib2.dexbacked.DexBackedOdexFile top java.util.Iterator
StackMap stack:
25: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 26: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 4
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 4 27: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 25
28: return
end local 3 29: StackMap locals: org.jf.baksmali.ListDependenciesCommand java.lang.String java.io.InputStream
StackMap stack: java.io.IOException
astore 3
start local 3 30: new java.lang.RuntimeException
dup
aload 3
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 31: StackMap locals:
StackMap stack: org.jf.dexlib2.dexbacked.DexBackedOdexFile$NotAnOdexFile
pop
goto 33
32: StackMap locals:
StackMap stack: org.jf.dexlib2.dexbacked.DexBackedDexFile$NotADexFile
pop
33: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " is not an odex or oat file."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
34: iconst_m1
invokestatic java.lang.System.exit:(I)V
35: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lorg/jf/baksmali/ListDependenciesCommand;
8 36 1 input Ljava/lang/String;
9 36 2 inputStream Ljava/io/InputStream;
15 20 3 oatFile Lorg/jf/dexlib2/dexbacked/OatFile;
17 18 4 entry Ljava/lang/String;
22 23 3 ex Ljava/io/IOException;
24 29 3 odexFile Lorg/jf/dexlib2/dexbacked/DexBackedOdexFile;
26 27 4 entry Ljava/lang/String;
30 31 3 ex Ljava/io/IOException;
Exception table:
from to target type
9 10 11 Class java.io.FileNotFoundException
14 19 20 Class org.jf.dexlib2.dexbacked.OatFile$NotAnOatFileException
14 19 21 Class java.io.IOException
23 28 29 Class java.io.IOException
23 28 31 Class org.jf.dexlib2.dexbacked.DexBackedOdexFile$NotAnOdexFile
23 28 32 Class org.jf.dexlib2.dexbacked.DexBackedDexFile$NotADexFile
}
SourceFile: "ListDependenciesCommand.java"
InnerClasses:
public NotADexFile = org.jf.dexlib2.dexbacked.DexBackedDexFile$NotADexFile of org.jf.dexlib2.dexbacked.DexBackedDexFile
public NotAnOdexFile = org.jf.dexlib2.dexbacked.DexBackedOdexFile$NotAnOdexFile of org.jf.dexlib2.dexbacked.DexBackedOdexFile
public NotAnOatFileException = org.jf.dexlib2.dexbacked.OatFile$NotAnOatFileException of org.jf.dexlib2.dexbacked.OatFile
RuntimeVisibleAnnotations:
com.beust.jcommander.Parameters(commandDescription = "Lists the stored dependencies in an odex/oat file.")
org.jf.util.jcommander.ExtendedParameters(commandName = "dependencies", commandAliases = {"deps", "dep"})