public class org.jf.smali.AssembleCommand extends org.jf.util.jcommander.Command
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jf.smali.AssembleCommand
  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 for this command.")

  private int jobs;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameter(names = {"-j", "--jobs"}, description = "The number of threads to use. Defaults to the number of cores available.", validateWith = Lcom/beust/jcommander/validators/PositiveInteger;)
      org.jf.util.jcommander.ExtendedParameter(argumentNames = {"n"})

  private int apiLevel;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameter(names = {"-a", "--api"}, description = "The numeric api level to use while assembling.")
      org.jf.util.jcommander.ExtendedParameter(argumentNames = {"api"})

  private java.lang.String output;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameter(names = {"-o", "--output"}, description = "The name/path of the dex file to write.")
      org.jf.util.jcommander.ExtendedParameter(argumentNames = {"file"})

  private boolean verbose;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameter(names = {"--verbose"}, description = "Generate verbose error messages.")

  private boolean allowOdexOpcodes;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameter(names = {"--allow-odex-opcodes", "--allow-odex", "--ao"}, description = "Allows the odex opcodes that dalvik doesn't reject to be assembled.")

  private java.util.List<java.lang.String> input;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameter(description = "Assembles the given files. If a directory is specified, it will be recursively searched for any files with a .smali prefix")
      org.jf.util.jcommander.ExtendedParameter(argumentNames = {"[<file>|<dir>]+"})

  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.smali.AssembleCommand this
        start local 1 // java.util.List commandAncestors
         0: .line 86
            aload 0 /* this */
            aload 1 /* commandAncestors */
            invokespecial org.jf.util.jcommander.Command.<init>:(Ljava/util/List;)V
         1: .line 60
            aload 0 /* this */
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            invokevirtual java.lang.Runtime.availableProcessors:()I
            putfield org.jf.smali.AssembleCommand.jobs:I
         2: .line 65
            aload 0 /* this */
            bipush 15
            putfield org.jf.smali.AssembleCommand.apiLevel:I
         3: .line 70
            aload 0 /* this */
            ldc "out.dex"
            putfield org.jf.smali.AssembleCommand.output:Ljava/lang/String;
         4: .line 74
            aload 0 /* this */
            iconst_0
            putfield org.jf.smali.AssembleCommand.verbose:Z
         5: .line 87
            return
        end local 1 // java.util.List commandAncestors
        end local 0 // org.jf.smali.AssembleCommand this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lorg/jf/smali/AssembleCommand;
            0    6     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=3, locals=2, args_size=1
        start local 0 // org.jf.smali.AssembleCommand this
         0: .line 90
            aload 0 /* this */
            getfield org.jf.smali.AssembleCommand.help:Z
            ifne 1
            aload 0 /* this */
            getfield org.jf.smali.AssembleCommand.input:Ljava/util/List;
            ifnull 1
            aload 0 /* this */
            getfield org.jf.smali.AssembleCommand.input:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 3
         1: .line 91
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jf.smali.AssembleCommand.usage:()V
         2: .line 92
            return
         3: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jf.smali.AssembleCommand.getOptions:()Lorg/jf/smali/SmaliOptions;
            aload 0 /* this */
            getfield org.jf.smali.AssembleCommand.input:Ljava/util/List;
            invokestatic org.jf.smali.Smali.assemble:(Lorg/jf/smali/SmaliOptions;Ljava/util/List;)Z
            pop
         4: .line 97
            goto 7
      StackMap locals:
      StackMap stack: java.io.IOException
         5: astore 1 /* ex */
        start local 1 // java.io.IOException ex
         6: .line 98
            new java.lang.RuntimeException
            dup
            aload 1 /* ex */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException ex
         7: .line 100
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jf.smali.AssembleCommand this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/jf/smali/AssembleCommand;
            6    7     1    ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException

  protected org.jf.smali.SmaliOptions getOptions();
    descriptor: ()Lorg/jf/smali/SmaliOptions;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jf.smali.AssembleCommand this
         0: .line 103
            new org.jf.smali.SmaliOptions
            dup
            invokespecial org.jf.smali.SmaliOptions.<init>:()V
            astore 1 /* options */
        start local 1 // org.jf.smali.SmaliOptions options
         1: .line 105
            aload 1 /* options */
            aload 0 /* this */
            getfield org.jf.smali.AssembleCommand.jobs:I
            putfield org.jf.smali.SmaliOptions.jobs:I
         2: .line 106
            aload 1 /* options */
            aload 0 /* this */
            getfield org.jf.smali.AssembleCommand.apiLevel:I
            putfield org.jf.smali.SmaliOptions.apiLevel:I
         3: .line 107
            aload 1 /* options */
            aload 0 /* this */
            getfield org.jf.smali.AssembleCommand.output:Ljava/lang/String;
            putfield org.jf.smali.SmaliOptions.outputDexFile:Ljava/lang/String;
         4: .line 108
            aload 1 /* options */
            aload 0 /* this */
            getfield org.jf.smali.AssembleCommand.allowOdexOpcodes:Z
            putfield org.jf.smali.SmaliOptions.allowOdexOpcodes:Z
         5: .line 109
            aload 1 /* options */
            aload 0 /* this */
            getfield org.jf.smali.AssembleCommand.verbose:Z
            putfield org.jf.smali.SmaliOptions.verboseErrors:Z
         6: .line 111
            aload 1 /* options */
            areturn
        end local 1 // org.jf.smali.SmaliOptions options
        end local 0 // org.jf.smali.AssembleCommand this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jf/smali/AssembleCommand;
            1    7     1  options  Lorg/jf/smali/SmaliOptions;
}
SourceFile: "AssembleCommand.java"
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameters(commandDescription = "Assembles smali files into a dex file.")
      org.jf.util.jcommander.ExtendedParameters(commandName = "assemble", commandAliases = {"ass", "as", "a"})