public class org.jf.smali.Smali
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jf.smali.Smali
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jf.smali.Smali this
         0: .line 56
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.jf.smali.Smali this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jf/smali/Smali;

  public static boolean assemble(org.jf.smali.SmaliOptions, java.lang.String[]);
    descriptor: (Lorg/jf/smali/SmaliOptions;[Ljava/lang/String;)Z
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jf.smali.SmaliOptions options
        start local 1 // java.lang.String[] input
         0: .line 66
            aload 0 /* options */
            aload 1 /* input */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokestatic org.jf.smali.Smali.assemble:(Lorg/jf/smali/SmaliOptions;Ljava/util/List;)Z
            ireturn
        end local 1 // java.lang.String[] input
        end local 0 // org.jf.smali.SmaliOptions options
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  options  Lorg/jf/smali/SmaliOptions;
            0    1     1    input  [Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      options  final
      input    

  public static boolean assemble(org.jf.smali.SmaliOptions, java.util.List<java.lang.String>);
    descriptor: (Lorg/jf/smali/SmaliOptions;Ljava/util/List;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=10, args_size=2
        start local 0 // org.jf.smali.SmaliOptions options
        start local 1 // java.util.List input
         0: .line 77
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            astore 2 /* filesToProcessSet */
        start local 2 // java.util.TreeSet filesToProcessSet
         1: .line 79
            aload 1 /* input */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 11
      StackMap locals: org.jf.smali.SmaliOptions java.util.List java.util.TreeSet top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* fileToProcess */
        start local 3 // java.lang.String fileToProcess
         3: .line 80
            new java.io.File
            dup
            aload 3 /* fileToProcess */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 5 /* argFile */
        start local 5 // java.io.File argFile
         4: .line 82
            aload 5 /* argFile */
            invokevirtual java.io.File.exists:()Z
            ifne 6
         5: .line 83
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot find file or directory \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* fileToProcess */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 86
      StackMap locals: org.jf.smali.SmaliOptions java.util.List java.util.TreeSet java.lang.String java.util.Iterator java.io.File
      StackMap stack:
            aload 5 /* argFile */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 9
         7: .line 87
            aload 5 /* argFile */
            aload 2 /* filesToProcessSet */
            invokestatic org.jf.smali.Smali.getSmaliFilesInDir:(Ljava/io/File;Ljava/util/Set;)V
         8: .line 88
            goto 11
      StackMap locals:
      StackMap stack:
         9: aload 5 /* argFile */
            invokevirtual java.io.File.isFile:()Z
            ifeq 11
        10: .line 89
            aload 2 /* filesToProcessSet */
            aload 5 /* argFile */
            invokevirtual java.util.TreeSet.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.io.File argFile
        end local 3 // java.lang.String fileToProcess
        11: .line 79
      StackMap locals: org.jf.smali.SmaliOptions java.util.List java.util.TreeSet top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        12: .line 93
            iconst_0
            istore 3 /* errors */
        start local 3 // boolean errors
        13: .line 95
            new org.jf.dexlib2.writer.builder.DexBuilder
            dup
            aload 0 /* options */
            getfield org.jf.smali.SmaliOptions.apiLevel:I
            invokestatic org.jf.dexlib2.Opcodes.forApi:(I)Lorg/jf/dexlib2/Opcodes;
            invokespecial org.jf.dexlib2.writer.builder.DexBuilder.<init>:(Lorg/jf/dexlib2/Opcodes;)V
            astore 4 /* dexBuilder */
        start local 4 // org.jf.dexlib2.writer.builder.DexBuilder dexBuilder
        14: .line 97
            aload 0 /* options */
            getfield org.jf.smali.SmaliOptions.jobs:I
            invokestatic java.util.concurrent.Executors.newFixedThreadPool:(I)Ljava/util/concurrent/ExecutorService;
            astore 5 /* executor */
        start local 5 // java.util.concurrent.ExecutorService executor
        15: .line 98
            invokestatic com.google.common.collect.Lists.newArrayList:()Ljava/util/ArrayList;
            astore 6 /* tasks */
        start local 6 // java.util.List tasks
        16: .line 100
            aload 2 /* filesToProcessSet */
            invokevirtual java.util.TreeSet.iterator:()Ljava/util/Iterator;
            astore 8
            goto 19
      StackMap locals: org.jf.smali.SmaliOptions java.util.List java.util.TreeSet int org.jf.dexlib2.writer.builder.DexBuilder java.util.concurrent.ExecutorService java.util.List top java.util.Iterator
      StackMap stack:
        17: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.io.File
            astore 7 /* file */
        start local 7 // java.io.File file
        18: .line 101
            aload 6 /* tasks */
            aload 5 /* executor */
            new org.jf.smali.Smali$1
            dup
            aload 7 /* file */
            aload 4 /* dexBuilder */
            aload 0 /* options */
            invokespecial org.jf.smali.Smali$1.<init>:(Ljava/io/File;Lorg/jf/dexlib2/writer/builder/DexBuilder;Lorg/jf/smali/SmaliOptions;)V
            invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.io.File file
        19: .line 100
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        20: .line 108
            aload 6 /* tasks */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 29
      StackMap locals:
      StackMap stack:
        21: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.concurrent.Future
            astore 7 /* task */
        start local 7 // java.util.concurrent.Future task
        22: .line 112
      StackMap locals: org.jf.smali.SmaliOptions java.util.List java.util.TreeSet int org.jf.dexlib2.writer.builder.DexBuilder java.util.concurrent.ExecutorService java.util.List java.util.concurrent.Future java.util.Iterator
      StackMap stack:
            aload 7 /* task */
            invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 29
        23: .line 113
            iconst_1
            istore 3 /* errors */
        24: .line 115
            goto 29
      StackMap locals:
      StackMap stack: java.util.concurrent.ExecutionException
        25: astore 9 /* ex */
        start local 9 // java.util.concurrent.ExecutionException ex
        26: .line 116
            new java.lang.RuntimeException
            dup
            aload 9 /* ex */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 9 // java.util.concurrent.ExecutionException ex
        27: .line 118
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
            pop
        28: .line 109
            goto 22
        end local 7 // java.util.concurrent.Future task
        29: .line 108
      StackMap locals: org.jf.smali.SmaliOptions java.util.List java.util.TreeSet int org.jf.dexlib2.writer.builder.DexBuilder java.util.concurrent.ExecutorService java.util.List top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        30: .line 125
            aload 5 /* executor */
            invokeinterface java.util.concurrent.ExecutorService.shutdown:()V
        31: .line 127
            iload 3 /* errors */
            ifeq 33
        32: .line 128
            iconst_0
            ireturn
        33: .line 131
      StackMap locals: org.jf.smali.SmaliOptions java.util.List java.util.TreeSet int org.jf.dexlib2.writer.builder.DexBuilder java.util.concurrent.ExecutorService java.util.List
      StackMap stack:
            aload 4 /* dexBuilder */
            new org.jf.dexlib2.writer.io.FileDataStore
            dup
            new java.io.File
            dup
            aload 0 /* options */
            getfield org.jf.smali.SmaliOptions.outputDexFile:Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokespecial org.jf.dexlib2.writer.io.FileDataStore.<init>:(Ljava/io/File;)V
            invokevirtual org.jf.dexlib2.writer.builder.DexBuilder.writeTo:(Lorg/jf/dexlib2/writer/io/DexDataStore;)V
        34: .line 133
            iconst_1
            ireturn
        end local 6 // java.util.List tasks
        end local 5 // java.util.concurrent.ExecutorService executor
        end local 4 // org.jf.dexlib2.writer.builder.DexBuilder dexBuilder
        end local 3 // boolean errors
        end local 2 // java.util.TreeSet filesToProcessSet
        end local 1 // java.util.List input
        end local 0 // org.jf.smali.SmaliOptions options
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   35     0            options  Lorg/jf/smali/SmaliOptions;
            0   35     1              input  Ljava/util/List<Ljava/lang/String;>;
            1   35     2  filesToProcessSet  Ljava/util/TreeSet<Ljava/io/File;>;
            3   11     3      fileToProcess  Ljava/lang/String;
            4   11     5            argFile  Ljava/io/File;
           13   35     3             errors  Z
           14   35     4         dexBuilder  Lorg/jf/dexlib2/writer/builder/DexBuilder;
           15   35     5           executor  Ljava/util/concurrent/ExecutorService;
           16   35     6              tasks  Ljava/util/List<Ljava/util/concurrent/Future<Ljava/lang/Boolean;>;>;
           18   19     7               file  Ljava/io/File;
           22   29     7               task  Ljava/util/concurrent/Future<Ljava/lang/Boolean;>;
           26   27     9                 ex  Ljava/util/concurrent/ExecutionException;
      Exception table:
        from    to  target  type
          22    24      25  Class java.util.concurrent.ExecutionException
          22    27      27  Class java.lang.InterruptedException
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/jf/smali/SmaliOptions;Ljava/util/List<Ljava/lang/String;>;)Z
    MethodParameters:
         Name  Flags
      options  final
      input    

  public static boolean printTokens(org.jf.smali.SmaliOptions, java.util.List<java.lang.String>);
    descriptor: (Lorg/jf/smali/SmaliOptions;Ljava/util/List;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.jf.smali.SmaliOptions options
        start local 1 // java.util.List input
         0: .line 144
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            astore 2 /* filesToProcessSet */
        start local 2 // java.util.TreeSet filesToProcessSet
         1: .line 146
            aload 1 /* input */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 11
      StackMap locals: org.jf.smali.SmaliOptions java.util.List java.util.TreeSet top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* fileToProcess */
        start local 3 // java.lang.String fileToProcess
         3: .line 147
            new java.io.File
            dup
            aload 3 /* fileToProcess */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 5 /* argFile */
        start local 5 // java.io.File argFile
         4: .line 149
            aload 5 /* argFile */
            invokevirtual java.io.File.exists:()Z
            ifne 6
         5: .line 150
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot find file or directory \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* fileToProcess */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 153
      StackMap locals: org.jf.smali.SmaliOptions java.util.List java.util.TreeSet java.lang.String java.util.Iterator java.io.File
      StackMap stack:
            aload 5 /* argFile */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 9
         7: .line 154
            aload 5 /* argFile */
            aload 2 /* filesToProcessSet */
            invokestatic org.jf.smali.Smali.getSmaliFilesInDir:(Ljava/io/File;Ljava/util/Set;)V
         8: .line 155
            goto 11
      StackMap locals:
      StackMap stack:
         9: aload 5 /* argFile */
            invokevirtual java.io.File.isFile:()Z
            ifeq 11
        10: .line 156
            aload 2 /* filesToProcessSet */
            aload 5 /* argFile */
            invokevirtual java.util.TreeSet.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.io.File argFile
        end local 3 // java.lang.String fileToProcess
        11: .line 146
      StackMap locals: org.jf.smali.SmaliOptions java.util.List java.util.TreeSet top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        12: .line 160
            iconst_0
            istore 3 /* errors */
        start local 3 // boolean errors
        13: .line 162
            aload 2 /* filesToProcessSet */
            invokevirtual java.util.TreeSet.iterator:()Ljava/util/Iterator;
            astore 5
            goto 21
      StackMap locals: org.jf.smali.SmaliOptions java.util.List java.util.TreeSet int top java.util.Iterator
      StackMap stack:
        14: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.io.File
            astore 4 /* file */
        start local 4 // java.io.File file
        15: .line 164
            iload 3 /* errors */
            aload 4 /* file */
            aload 0 /* options */
            invokestatic org.jf.smali.Smali.printTokensForSingleFile:(Ljava/io/File;Lorg/jf/smali/SmaliOptions;)Z
            ifeq 16
            iconst_0
            goto 17
      StackMap locals: org.jf.smali.SmaliOptions java.util.List java.util.TreeSet int java.io.File java.util.Iterator
      StackMap stack: int
        16: iconst_1
      StackMap locals: org.jf.smali.SmaliOptions java.util.List java.util.TreeSet int java.io.File java.util.Iterator
      StackMap stack: int int
        17: ior
            istore 3 /* errors */
        18: .line 165
            goto 21
      StackMap locals:
      StackMap stack: java.lang.Exception
        19: astore 6 /* ex */
        start local 6 // java.lang.Exception ex
        20: .line 166
            new java.lang.RuntimeException
            dup
            aload 6 /* ex */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.Exception ex
        end local 4 // java.io.File file
        21: .line 162
      StackMap locals: org.jf.smali.SmaliOptions java.util.List java.util.TreeSet int top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        22: .line 170
            iload 3 /* errors */
            ifeq 24
        23: .line 171
            iconst_0
            ireturn
        24: .line 174
      StackMap locals: org.jf.smali.SmaliOptions java.util.List java.util.TreeSet int
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // boolean errors
        end local 2 // java.util.TreeSet filesToProcessSet
        end local 1 // java.util.List input
        end local 0 // org.jf.smali.SmaliOptions options
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   25     0            options  Lorg/jf/smali/SmaliOptions;
            0   25     1              input  Ljava/util/List<Ljava/lang/String;>;
            1   25     2  filesToProcessSet  Ljava/util/TreeSet<Ljava/io/File;>;
            3   11     3      fileToProcess  Ljava/lang/String;
            4   11     5            argFile  Ljava/io/File;
           13   25     3             errors  Z
           15   21     4               file  Ljava/io/File;
           20   21     6                 ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          15    18      19  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/jf/smali/SmaliOptions;Ljava/util/List<Ljava/lang/String;>;)Z
    MethodParameters:
         Name  Flags
      options  final
      input    

  private static void getSmaliFilesInDir(java.io.File, java.util.Set<java.io.File>);
    descriptor: (Ljava/io/File;Ljava/util/Set;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // java.io.File dir
        start local 1 // java.util.Set smaliFiles
         0: .line 178
            aload 0 /* dir */
            invokevirtual java.io.File.listFiles:()[Ljava/io/File;
            astore 2 /* files */
        start local 2 // java.io.File[] files
         1: .line 179
            aload 2 /* files */
            ifnull 11
         2: .line 180
            aload 2 /* files */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 10
      StackMap locals: java.io.File java.util.Set java.io.File[] top int int java.io.File[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* file */
        start local 3 // java.io.File file
         4: .line 181
            aload 3 /* file */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 7
         5: .line 182
            aload 3 /* file */
            aload 1 /* smaliFiles */
            invokestatic org.jf.smali.Smali.getSmaliFilesInDir:(Ljava/io/File;Ljava/util/Set;)V
         6: .line 183
            goto 9
      StackMap locals: java.io.File java.util.Set java.io.File[] java.io.File int int java.io.File[]
      StackMap stack:
         7: aload 3 /* file */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            ldc ".smali"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 9
         8: .line 184
            aload 1 /* smaliFiles */
            aload 3 /* file */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.io.File file
         9: .line 180
      StackMap locals: java.io.File java.util.Set java.io.File[] top int int java.io.File[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        10: iload 4
            iload 5
            if_icmplt 3
        11: .line 188
      StackMap locals: java.io.File java.util.Set java.io.File[]
      StackMap stack:
            return
        end local 2 // java.io.File[] files
        end local 1 // java.util.Set smaliFiles
        end local 0 // java.io.File dir
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0         dir  Ljava/io/File;
            0   12     1  smaliFiles  Ljava/util/Set<Ljava/io/File;>;
            1   12     2       files  [Ljava/io/File;
            4    9     3        file  Ljava/io/File;
    Signature: (Ljava/io/File;Ljava/util/Set<Ljava/io/File;>;)V
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nonnull()
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nonnull()
    RuntimeVisibleParameterAnnotations: 
      0:
        javax.annotation.Nonnull()
      1:
        javax.annotation.Nonnull()
    MethodParameters:
            Name  Flags
      dir         
      smaliFiles  

  private static boolean assembleSmaliFile(java.io.File, org.jf.dexlib2.writer.builder.DexBuilder, org.jf.smali.SmaliOptions);
    descriptor: (Ljava/io/File;Lorg/jf/dexlib2/writer/builder/DexBuilder;Lorg/jf/smali/SmaliOptions;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=14, args_size=3
        start local 0 // java.io.File smaliFile
        start local 1 // org.jf.dexlib2.writer.builder.DexBuilder dexBuilder
        start local 2 // org.jf.smali.SmaliOptions options
         0: .line 192
            aconst_null
            astore 3 /* fis */
        start local 3 // java.io.FileInputStream fis
         1: .line 194
            new java.io.FileInputStream
            dup
            aload 0 /* smaliFile */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 3 /* fis */
         2: .line 195
            new java.io.InputStreamReader
            dup
            aload 3 /* fis */
            ldc "UTF-8"
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            astore 4 /* reader */
        start local 4 // java.io.InputStreamReader reader
         3: .line 197
            new org.jf.smali.smaliFlexLexer
            dup
            aload 4 /* reader */
            aload 2 /* options */
            getfield org.jf.smali.SmaliOptions.apiLevel:I
            invokespecial org.jf.smali.smaliFlexLexer.<init>:(Ljava/io/Reader;I)V
            astore 5 /* lexer */
        start local 5 // org.jf.smali.LexerErrorInterface lexer
         4: .line 198
            aload 5 /* lexer */
            checkcast org.jf.smali.smaliFlexLexer
            aload 0 /* smaliFile */
            invokevirtual org.jf.smali.smaliFlexLexer.setSourceFile:(Ljava/io/File;)V
         5: .line 199
            new org.antlr.runtime.CommonTokenStream
            dup
            aload 5 /* lexer */
            checkcast org.antlr.runtime.TokenSource
            invokespecial org.antlr.runtime.CommonTokenStream.<init>:(Lorg/antlr/runtime/TokenSource;)V
            astore 6 /* tokens */
        start local 6 // org.antlr.runtime.CommonTokenStream tokens
         6: .line 201
            aload 2 /* options */
            getfield org.jf.smali.SmaliOptions.printTokens:Z
            ifeq 21
         7: .line 202
            aload 6 /* tokens */
            invokevirtual org.antlr.runtime.CommonTokenStream.getTokens:()Ljava/util/List;
            pop
         8: .line 204
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         9: goto 19
        10: .line 205
      StackMap locals: java.io.File org.jf.dexlib2.writer.builder.DexBuilder org.jf.smali.SmaliOptions java.io.FileInputStream java.io.InputStreamReader org.jf.smali.LexerErrorInterface org.antlr.runtime.CommonTokenStream int
      StackMap stack:
            aload 6 /* tokens */
            iload 7 /* i */
            invokevirtual org.antlr.runtime.CommonTokenStream.get:(I)Lorg/antlr/runtime/Token;
            astore 8 /* token */
        start local 8 // org.antlr.runtime.Token token
        11: .line 206
            aload 8 /* token */
            invokeinterface org.antlr.runtime.Token.getChannel:()I
            bipush 99
            if_icmpne 13
        12: .line 207
            goto 18
        13: .line 211
      StackMap locals: org.antlr.runtime.Token
      StackMap stack:
            aload 8 /* token */
            invokeinterface org.antlr.runtime.Token.getType:()I
            iconst_m1
            if_icmpne 16
        14: .line 212
            ldc "EOF"
            astore 9 /* tokenName */
        start local 9 // java.lang.String tokenName
        15: .line 213
            goto 17
        end local 9 // java.lang.String tokenName
        16: .line 214
      StackMap locals:
      StackMap stack:
            getstatic org.jf.smali.smaliParser.tokenNames:[Ljava/lang/String;
            aload 8 /* token */
            invokeinterface org.antlr.runtime.Token.getType:()I
            aaload
            astore 9 /* tokenName */
        start local 9 // java.lang.String tokenName
        17: .line 216
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            aload 9 /* tokenName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* token */
            invokeinterface org.antlr.runtime.Token.getText:()Ljava/lang/String;
            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
        end local 9 // java.lang.String tokenName
        end local 8 // org.antlr.runtime.Token token
        18: .line 204
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 7 /* i */
            aload 6 /* tokens */
            invokevirtual org.antlr.runtime.CommonTokenStream.size:()I
            if_icmplt 10
        end local 7 // int i
        20: .line 219
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
        21: .line 222
      StackMap locals:
      StackMap stack:
            new org.jf.smali.smaliParser
            dup
            aload 6 /* tokens */
            invokespecial org.jf.smali.smaliParser.<init>:(Lorg/antlr/runtime/TokenStream;)V
            astore 7 /* parser */
        start local 7 // org.jf.smali.smaliParser parser
        22: .line 223
            aload 7 /* parser */
            aload 2 /* options */
            getfield org.jf.smali.SmaliOptions.verboseErrors:Z
            invokevirtual org.jf.smali.smaliParser.setVerboseErrors:(Z)V
        23: .line 224
            aload 7 /* parser */
            aload 2 /* options */
            getfield org.jf.smali.SmaliOptions.allowOdexOpcodes:Z
            invokevirtual org.jf.smali.smaliParser.setAllowOdex:(Z)V
        24: .line 225
            aload 7 /* parser */
            aload 2 /* options */
            getfield org.jf.smali.SmaliOptions.apiLevel:I
            invokevirtual org.jf.smali.smaliParser.setApiLevel:(I)V
        25: .line 227
            aload 7 /* parser */
            invokevirtual org.jf.smali.smaliParser.smali_file:()Lorg/jf/smali/smaliParser$smali_file_return;
            astore 8 /* result */
        start local 8 // org.jf.smali.smaliParser$smali_file_return result
        26: .line 229
            aload 7 /* parser */
            invokevirtual org.jf.smali.smaliParser.getNumberOfSyntaxErrors:()I
            ifgt 27
            aload 5 /* lexer */
            invokeinterface org.jf.smali.LexerErrorInterface.getNumberOfSyntaxErrors:()I
            ifle 30
        27: .line 251
      StackMap locals: org.jf.smali.smaliParser org.jf.smali.smaliParser$smali_file_return
      StackMap stack:
            aload 3 /* fis */
            ifnull 29
        28: .line 252
            aload 3 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        29: .line 230
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        30: .line 233
      StackMap locals:
      StackMap stack:
            aload 8 /* result */
            invokevirtual org.jf.smali.smaliParser$smali_file_return.getTree:()Lorg/antlr/runtime/tree/CommonTree;
            astore 9 /* t */
        start local 9 // org.antlr.runtime.tree.CommonTree t
        31: .line 235
            new org.antlr.runtime.tree.CommonTreeNodeStream
            dup
            aload 9 /* t */
            invokespecial org.antlr.runtime.tree.CommonTreeNodeStream.<init>:(Ljava/lang/Object;)V
            astore 10 /* treeStream */
        start local 10 // org.antlr.runtime.tree.CommonTreeNodeStream treeStream
        32: .line 236
            aload 10 /* treeStream */
            aload 6 /* tokens */
            invokevirtual org.antlr.runtime.tree.CommonTreeNodeStream.setTokenStream:(Lorg/antlr/runtime/TokenStream;)V
        33: .line 238
            aload 2 /* options */
            getfield org.jf.smali.SmaliOptions.printTokens:Z
            ifeq 35
        34: .line 239
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 9 /* t */
            invokevirtual org.antlr.runtime.tree.CommonTree.toStringTree:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        35: .line 242
      StackMap locals: org.antlr.runtime.tree.CommonTree org.antlr.runtime.tree.CommonTreeNodeStream
      StackMap stack:
            new org.jf.smali.smaliTreeWalker
            dup
            aload 10 /* treeStream */
            invokespecial org.jf.smali.smaliTreeWalker.<init>:(Lorg/antlr/runtime/tree/TreeNodeStream;)V
            astore 11 /* dexGen */
        start local 11 // org.jf.smali.smaliTreeWalker dexGen
        36: .line 243
            aload 11 /* dexGen */
            aload 2 /* options */
            getfield org.jf.smali.SmaliOptions.apiLevel:I
            invokevirtual org.jf.smali.smaliTreeWalker.setApiLevel:(I)V
        37: .line 245
            aload 11 /* dexGen */
            aload 2 /* options */
            getfield org.jf.smali.SmaliOptions.verboseErrors:Z
            invokevirtual org.jf.smali.smaliTreeWalker.setVerboseErrors:(Z)V
        38: .line 246
            aload 11 /* dexGen */
            aload 1 /* dexBuilder */
            invokevirtual org.jf.smali.smaliTreeWalker.setDexBuilder:(Lorg/jf/dexlib2/writer/builder/DexBuilder;)V
        39: .line 247
            aload 11 /* dexGen */
            invokevirtual org.jf.smali.smaliTreeWalker.smali_file:()Lorg/jf/dexlib2/iface/ClassDef;
            pop
        40: .line 249
            aload 11 /* dexGen */
            invokevirtual org.jf.smali.smaliTreeWalker.getNumberOfSyntaxErrors:()I
            ifne 41
            iconst_1
            goto 42
      StackMap locals: org.jf.smali.smaliTreeWalker
      StackMap stack:
        41: iconst_0
      StackMap locals:
      StackMap stack: int
        42: istore 13
        43: .line 251
            aload 3 /* fis */
            ifnull 45
        44: .line 252
            aload 3 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        45: .line 249
      StackMap locals: java.io.File org.jf.dexlib2.writer.builder.DexBuilder org.jf.smali.SmaliOptions java.io.FileInputStream java.io.InputStreamReader org.jf.smali.LexerErrorInterface org.antlr.runtime.CommonTokenStream org.jf.smali.smaliParser org.jf.smali.smaliParser$smali_file_return org.antlr.runtime.tree.CommonTree org.antlr.runtime.tree.CommonTreeNodeStream org.jf.smali.smaliTreeWalker top int
      StackMap stack:
            iload 13
            ireturn
        end local 11 // org.jf.smali.smaliTreeWalker dexGen
        end local 10 // org.antlr.runtime.tree.CommonTreeNodeStream treeStream
        end local 9 // org.antlr.runtime.tree.CommonTree t
        end local 8 // org.jf.smali.smaliParser$smali_file_return result
        end local 7 // org.jf.smali.smaliParser parser
        end local 6 // org.antlr.runtime.CommonTokenStream tokens
        end local 5 // org.jf.smali.LexerErrorInterface lexer
        end local 4 // java.io.InputStreamReader reader
        46: .line 250
      StackMap locals: java.io.File org.jf.dexlib2.writer.builder.DexBuilder org.jf.smali.SmaliOptions java.io.FileInputStream
      StackMap stack: java.lang.Throwable
            astore 12
        47: .line 251
            aload 3 /* fis */
            ifnull 49
        48: .line 252
            aload 3 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        49: .line 254
      StackMap locals: java.io.File org.jf.dexlib2.writer.builder.DexBuilder org.jf.smali.SmaliOptions java.io.FileInputStream top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 12
            athrow
        end local 3 // java.io.FileInputStream fis
        end local 2 // org.jf.smali.SmaliOptions options
        end local 1 // org.jf.dexlib2.writer.builder.DexBuilder dexBuilder
        end local 0 // java.io.File smaliFile
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   50     0   smaliFile  Ljava/io/File;
            0   50     1  dexBuilder  Lorg/jf/dexlib2/writer/builder/DexBuilder;
            0   50     2     options  Lorg/jf/smali/SmaliOptions;
            1   50     3         fis  Ljava/io/FileInputStream;
            3   46     4      reader  Ljava/io/InputStreamReader;
            4   46     5       lexer  Lorg/jf/smali/LexerErrorInterface;
            6   46     6      tokens  Lorg/antlr/runtime/CommonTokenStream;
            9   20     7           i  I
           11   18     8       token  Lorg/antlr/runtime/Token;
           15   16     9   tokenName  Ljava/lang/String;
           17   18     9   tokenName  Ljava/lang/String;
           22   46     7      parser  Lorg/jf/smali/smaliParser;
           26   46     8      result  Lorg/jf/smali/smaliParser$smali_file_return;
           31   46     9           t  Lorg/antlr/runtime/tree/CommonTree;
           32   46    10  treeStream  Lorg/antlr/runtime/tree/CommonTreeNodeStream;
           36   46    11      dexGen  Lorg/jf/smali/smaliTreeWalker;
      Exception table:
        from    to  target  type
           1    27      46  any
          30    43      46  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
            Name  Flags
      smaliFile   
      dexBuilder  
      options     

  private static boolean printTokensForSingleFile(java.io.File, org.jf.smali.SmaliOptions);
    descriptor: (Ljava/io/File;Lorg/jf/smali/SmaliOptions;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // java.io.File smaliFile
        start local 1 // org.jf.smali.SmaliOptions options
         0: .line 259
            aconst_null
            astore 2 /* fis */
        start local 2 // java.io.FileInputStream fis
         1: .line 261
            new java.io.FileInputStream
            dup
            aload 0 /* smaliFile */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 2 /* fis */
         2: .line 262
            new java.io.InputStreamReader
            dup
            aload 2 /* fis */
            ldc "UTF-8"
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            astore 3 /* reader */
        start local 3 // java.io.InputStreamReader reader
         3: .line 264
            new org.jf.smali.smaliFlexLexer
            dup
            aload 3 /* reader */
            aload 1 /* options */
            getfield org.jf.smali.SmaliOptions.apiLevel:I
            invokespecial org.jf.smali.smaliFlexLexer.<init>:(Ljava/io/Reader;I)V
            astore 4 /* lexer */
        start local 4 // org.jf.smali.LexerErrorInterface lexer
         4: .line 265
            aload 4 /* lexer */
            checkcast org.jf.smali.smaliFlexLexer
            aload 0 /* smaliFile */
            invokevirtual org.jf.smali.smaliFlexLexer.setSourceFile:(Ljava/io/File;)V
         5: .line 266
            new org.antlr.runtime.CommonTokenStream
            dup
            aload 4 /* lexer */
            checkcast org.antlr.runtime.TokenSource
            invokespecial org.antlr.runtime.CommonTokenStream.<init>:(Lorg/antlr/runtime/TokenSource;)V
            astore 5 /* tokens */
        start local 5 // org.antlr.runtime.CommonTokenStream tokens
         6: .line 267
            aload 5 /* tokens */
            invokevirtual org.antlr.runtime.CommonTokenStream.fill:()V
         7: .line 269
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         8: goto 18
         9: .line 270
      StackMap locals: java.io.File org.jf.smali.SmaliOptions java.io.FileInputStream java.io.InputStreamReader org.jf.smali.LexerErrorInterface org.antlr.runtime.CommonTokenStream int
      StackMap stack:
            aload 5 /* tokens */
            iload 6 /* i */
            invokevirtual org.antlr.runtime.CommonTokenStream.get:(I)Lorg/antlr/runtime/Token;
            astore 7 /* token */
        start local 7 // org.antlr.runtime.Token token
        10: .line 271
            aload 7 /* token */
            invokeinterface org.antlr.runtime.Token.getChannel:()I
            bipush 99
            if_icmpne 12
        11: .line 272
            goto 17
        12: .line 276
      StackMap locals: org.antlr.runtime.Token
      StackMap stack:
            aload 7 /* token */
            invokeinterface org.antlr.runtime.Token.getType:()I
            iconst_m1
            if_icmpne 15
        13: .line 277
            ldc "EOF"
            astore 8 /* tokenName */
        start local 8 // java.lang.String tokenName
        14: .line 278
            goto 16
        end local 8 // java.lang.String tokenName
        15: .line 279
      StackMap locals:
      StackMap stack:
            getstatic org.jf.smali.smaliParser.tokenNames:[Ljava/lang/String;
            aload 7 /* token */
            invokeinterface org.antlr.runtime.Token.getType:()I
            aaload
            astore 8 /* tokenName */
        start local 8 // java.lang.String tokenName
        16: .line 281
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            aload 8 /* tokenName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "(\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* token */
            invokeinterface org.antlr.runtime.Token.getText:()Ljava/lang/String;
            invokestatic org.jf.util.StringUtils.escapeString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\")"
            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
        end local 8 // java.lang.String tokenName
        end local 7 // org.antlr.runtime.Token token
        17: .line 269
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 6 /* i */
            aload 5 /* tokens */
            invokevirtual org.antlr.runtime.CommonTokenStream.size:()I
            if_icmplt 9
        end local 6 // int i
        19: .line 283
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
        20: .line 285
            aload 4 /* lexer */
            invokeinterface org.jf.smali.LexerErrorInterface.getNumberOfSyntaxErrors:()I
            ifne 21
            iconst_1
            goto 22
      StackMap locals:
      StackMap stack:
        21: iconst_0
      StackMap locals:
      StackMap stack: int
        22: istore 10
        23: .line 287
            aload 2 /* fis */
            ifnull 25
        24: .line 288
            aload 2 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        25: .line 285
      StackMap locals: java.io.File org.jf.smali.SmaliOptions java.io.FileInputStream java.io.InputStreamReader org.jf.smali.LexerErrorInterface org.antlr.runtime.CommonTokenStream top top top top int
      StackMap stack:
            iload 10
            ireturn
        end local 5 // org.antlr.runtime.CommonTokenStream tokens
        end local 4 // org.jf.smali.LexerErrorInterface lexer
        end local 3 // java.io.InputStreamReader reader
        26: .line 286
      StackMap locals: java.io.File org.jf.smali.SmaliOptions java.io.FileInputStream
      StackMap stack: java.lang.Throwable
            astore 9
        27: .line 287
            aload 2 /* fis */
            ifnull 29
        28: .line 288
            aload 2 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        29: .line 290
      StackMap locals: java.io.File org.jf.smali.SmaliOptions java.io.FileInputStream top top top top top top java.lang.Throwable
      StackMap stack:
            aload 9
            athrow
        end local 2 // java.io.FileInputStream fis
        end local 1 // org.jf.smali.SmaliOptions options
        end local 0 // java.io.File smaliFile
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   30     0  smaliFile  Ljava/io/File;
            0   30     1    options  Lorg/jf/smali/SmaliOptions;
            1   30     2        fis  Ljava/io/FileInputStream;
            3   26     3     reader  Ljava/io/InputStreamReader;
            4   26     4      lexer  Lorg/jf/smali/LexerErrorInterface;
            6   26     5     tokens  Lorg/antlr/runtime/CommonTokenStream;
            8   19     6          i  I
           10   17     7      token  Lorg/antlr/runtime/Token;
           14   15     8  tokenName  Ljava/lang/String;
           16   17     8  tokenName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1    23      26  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
           Name  Flags
      smaliFile  
      options    
}
SourceFile: "Smali.java"
NestMembers:
  org.jf.smali.Smali$1
InnerClasses:
  org.jf.smali.Smali$1
  public smali_file_return = org.jf.smali.smaliParser$smali_file_return of org.jf.smali.smaliParser