public class org.jf.baksmali.ListClassesCommand extends org.jf.baksmali.DexInputCommand
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jf.baksmali.ListClassesCommand
  super_class: org.jf.baksmali.DexInputCommand
{
  private boolean help;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameter(names = {"-h", "-?", "--help"}, help = true, description = "Show usage information")

  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 // org.jf.baksmali.ListClassesCommand this
        start local 1 // java.util.List commandAncestors
         0: .line 54
            aload 0 /* this */
            aload 1 /* commandAncestors */
            invokespecial org.jf.baksmali.DexInputCommand.<init>:(Ljava/util/List;)V
         1: .line 55
            return
        end local 1 // java.util.List commandAncestors
        end local 0 // org.jf.baksmali.ListClassesCommand this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/jf/baksmali/ListClassesCommand;
            0    2     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=2, locals=4, args_size=1
        start local 0 // org.jf.baksmali.ListClassesCommand this
         0: .line 58
            aload 0 /* this */
            getfield org.jf.baksmali.ListClassesCommand.help:Z
            ifne 1
            aload 0 /* this */
            getfield org.jf.baksmali.ListClassesCommand.inputList:Ljava/util/List;
            ifnull 1
            aload 0 /* this */
            getfield org.jf.baksmali.ListClassesCommand.inputList:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 3
         1: .line 59
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jf.baksmali.ListClassesCommand.usage:()V
         2: .line 60
            return
         3: .line 63
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jf.baksmali.ListClassesCommand.inputList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 7
         4: .line 64
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Too many files specified"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 65
            aload 0 /* this */
            invokevirtual org.jf.baksmali.ListClassesCommand.usage:()V
         6: .line 66
            return
         7: .line 69
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jf.baksmali.ListClassesCommand.inputList:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* input */
        start local 1 // java.lang.String input
         8: .line 70
            aload 0 /* this */
            aload 1 /* input */
            invokevirtual org.jf.baksmali.ListClassesCommand.loadDexFile:(Ljava/lang/String;)V
         9: .line 72
            aload 0 /* this */
            getfield org.jf.baksmali.ListClassesCommand.dexFile:Lorg/jf/dexlib2/dexbacked/DexBackedDexFile;
            invokevirtual org.jf.dexlib2.dexbacked.DexBackedDexFile.getClasses:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 12
      StackMap locals: org.jf.baksmali.ListClassesCommand java.lang.String top java.util.Iterator
      StackMap stack:
        10: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jf.dexlib2.iface.ClassDef
            astore 2 /* classDef */
        start local 2 // org.jf.dexlib2.iface.ClassDef classDef
        11: .line 73
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 2 /* classDef */
            invokeinterface org.jf.dexlib2.iface.ClassDef.getType:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 2 // org.jf.dexlib2.iface.ClassDef classDef
        12: .line 72
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        13: .line 75
            return
        end local 1 // java.lang.String input
        end local 0 // org.jf.baksmali.ListClassesCommand this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lorg/jf/baksmali/ListClassesCommand;
            8   14     1     input  Ljava/lang/String;
           11   12     2  classDef  Lorg/jf/dexlib2/iface/ClassDef;
}
SourceFile: "ListClassesCommand.java"
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameters(commandDescription = "Lists the classes in a dex file.")
      org.jf.util.jcommander.ExtendedParameters(commandName = "classes", commandAliases = {"class", "c"})