public class io.vertx.codegen.Compiler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.codegen.Compiler
  super_class: java.lang.Object
{
  private javax.annotation.processing.Processor processor;
    descriptor: Ljavax/annotation/processing/Processor;
    flags: (0x0002) ACC_PRIVATE

  private javax.tools.DiagnosticListener<javax.tools.JavaFileObject> diagnosticListener;
    descriptor: Ljavax/tools/DiagnosticListener;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljavax/tools/DiagnosticListener<Ljavax/tools/JavaFileObject;>;

  private java.util.List<java.lang.String> options;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private java.io.File classOutput;
    descriptor: Ljava/io/File;
    flags: (0x0002) ACC_PRIVATE

  private java.io.File sourceOutput;
    descriptor: Ljava/io/File;
    flags: (0x0002) ACC_PRIVATE

  private static java.io.File createTempDir();
    descriptor: ()Ljava/io/File;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 31
            ldc "codegen"
            iconst_0
            anewarray java.nio.file.attribute.FileAttribute
            invokestatic java.nio.file.Files.createTempDirectory:(Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            astore 0 /* dir */
        start local 0 // java.io.File dir
         1: .line 32
            aload 0 /* dir */
            invokevirtual java.io.File.deleteOnExit:()V
         2: .line 33
            aload 0 /* dir */
            areturn
        end local 0 // java.io.File dir
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    3     0   dir  Ljava/io/File;
    Exceptions:
      throws java.io.IOException

  public void <init>(javax.annotation.processing.Processor);
    descriptor: (Ljavax/annotation/processing/Processor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.codegen.Compiler this
        start local 1 // javax.annotation.processing.Processor processor
         0: .line 43
            aload 0 /* this */
            aload 1 /* processor */
            new javax.tools.DiagnosticCollector
            dup
            invokespecial javax.tools.DiagnosticCollector.<init>:()V
            invokespecial io.vertx.codegen.Compiler.<init>:(Ljavax/annotation/processing/Processor;Ljavax/tools/DiagnosticListener;)V
         1: .line 44
            return
        end local 1 // javax.annotation.processing.Processor processor
        end local 0 // io.vertx.codegen.Compiler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lio/vertx/codegen/Compiler;
            0    2     1  processor  Ljavax/annotation/processing/Processor;
    MethodParameters:
           Name  Flags
      processor  

  public void <init>(javax.annotation.processing.Processor, javax.tools.DiagnosticListener<javax.tools.JavaFileObject>);
    descriptor: (Ljavax/annotation/processing/Processor;Ljavax/tools/DiagnosticListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.codegen.Compiler this
        start local 1 // javax.annotation.processing.Processor processor
        start local 2 // javax.tools.DiagnosticListener diagnosticListener
         0: .line 46
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 38
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield io.vertx.codegen.Compiler.options:Ljava/util/List;
         2: .line 47
            aload 0 /* this */
            aload 1 /* processor */
            putfield io.vertx.codegen.Compiler.processor:Ljavax/annotation/processing/Processor;
         3: .line 48
            aload 0 /* this */
            aload 2 /* diagnosticListener */
            putfield io.vertx.codegen.Compiler.diagnosticListener:Ljavax/tools/DiagnosticListener;
         4: .line 49
            return
        end local 2 // javax.tools.DiagnosticListener diagnosticListener
        end local 1 // javax.annotation.processing.Processor processor
        end local 0 // io.vertx.codegen.Compiler this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Lio/vertx/codegen/Compiler;
            0    5     1           processor  Ljavax/annotation/processing/Processor;
            0    5     2  diagnosticListener  Ljavax/tools/DiagnosticListener<Ljavax/tools/JavaFileObject;>;
    Signature: (Ljavax/annotation/processing/Processor;Ljavax/tools/DiagnosticListener<Ljavax/tools/JavaFileObject;>;)V
    MethodParameters:
                    Name  Flags
      processor           
      diagnosticListener  

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.codegen.Compiler this
         0: .line 52
            aload 0 /* this */
            aconst_null
            invokespecial io.vertx.codegen.Compiler.<init>:(Ljavax/annotation/processing/Processor;)V
         1: .line 53
            return
        end local 0 // io.vertx.codegen.Compiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/codegen/Compiler;

  public javax.annotation.processing.Processor getProcessor();
    descriptor: ()Ljavax/annotation/processing/Processor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.Compiler this
         0: .line 56
            aload 0 /* this */
            getfield io.vertx.codegen.Compiler.processor:Ljavax/annotation/processing/Processor;
            areturn
        end local 0 // io.vertx.codegen.Compiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/Compiler;

  public io.vertx.codegen.Compiler addOption(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/codegen/Compiler;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.codegen.Compiler this
        start local 1 // java.lang.String option
         0: .line 60
            aload 0 /* this */
            getfield io.vertx.codegen.Compiler.options:Ljava/util/List;
            aload 1 /* option */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 61
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String option
        end local 0 // io.vertx.codegen.Compiler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/vertx/codegen/Compiler;
            0    2     1  option  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      option  

  public java.io.File getClassOutput();
    descriptor: ()Ljava/io/File;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.Compiler this
         0: .line 65
            aload 0 /* this */
            getfield io.vertx.codegen.Compiler.classOutput:Ljava/io/File;
            areturn
        end local 0 // io.vertx.codegen.Compiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/Compiler;

  public void setClassOutput(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.codegen.Compiler this
        start local 1 // java.io.File classOutput
         0: .line 69
            aload 0 /* this */
            aload 1 /* classOutput */
            putfield io.vertx.codegen.Compiler.classOutput:Ljava/io/File;
         1: .line 70
            return
        end local 1 // java.io.File classOutput
        end local 0 // io.vertx.codegen.Compiler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lio/vertx/codegen/Compiler;
            0    2     1  classOutput  Ljava/io/File;
    MethodParameters:
             Name  Flags
      classOutput  

  public java.io.File getSourceOutput();
    descriptor: ()Ljava/io/File;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.Compiler this
         0: .line 73
            aload 0 /* this */
            getfield io.vertx.codegen.Compiler.sourceOutput:Ljava/io/File;
            areturn
        end local 0 // io.vertx.codegen.Compiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/Compiler;

  public void setSourceOutput(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.codegen.Compiler this
        start local 1 // java.io.File sourceOutput
         0: .line 77
            aload 0 /* this */
            aload 1 /* sourceOutput */
            putfield io.vertx.codegen.Compiler.sourceOutput:Ljava/io/File;
         1: .line 78
            return
        end local 1 // java.io.File sourceOutput
        end local 0 // io.vertx.codegen.Compiler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lio/vertx/codegen/Compiler;
            0    2     1  sourceOutput  Ljava/io/File;
    MethodParameters:
              Name  Flags
      sourceOutput  

  public boolean compile(java.lang.Class[]);
    descriptor: ([Ljava/lang/Class;)Z
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.codegen.Compiler this
        start local 1 // java.lang.Class[] types
         0: .line 81
            aload 0 /* this */
            aload 1 /* types */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual io.vertx.codegen.Compiler.compile:(Ljava/util/List;)Z
            ireturn
        end local 1 // java.lang.Class[] types
        end local 0 // io.vertx.codegen.Compiler this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lio/vertx/codegen/Compiler;
            0    1     1  types  [Ljava/lang/Class;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
       Name  Flags
      types  

  public boolean compile(java.util.List<java.lang.Class>);
    descriptor: (Ljava/util/List;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=16, args_size=2
        start local 0 // io.vertx.codegen.Compiler this
        start local 1 // java.util.List types
         0: .line 85
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* tmpFiles */
        start local 2 // java.util.ArrayList tmpFiles
         1: .line 86
            aload 1 /* types */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 32
      StackMap locals: io.vertx.codegen.Compiler java.util.List java.util.ArrayList top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 3 /* type */
        start local 3 // java.lang.Class type
         3: .line 87
            aload 3 /* type */
            invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
            astore 5 /* className */
        start local 5 // java.lang.String className
         4: .line 88
            new java.lang.StringBuilder
            dup
            aload 5 /* className */
            ldc "."
            ldc "/"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".java"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* fileName */
        start local 6 // java.lang.String fileName
         5: .line 89
            aload 3 /* type */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 7 /* loader */
        start local 7 // java.lang.ClassLoader loader
         6: .line 90
            aload 7 /* loader */
            aload 6 /* fileName */
            invokevirtual java.lang.ClassLoader.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 8 /* is */
        start local 8 // java.io.InputStream is
         7: .line 91
            aload 8 /* is */
            ifnonnull 9
         8: .line 92
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can't find source on classpath: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* fileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 96
      StackMap locals: io.vertx.codegen.Compiler java.util.List java.util.ArrayList java.lang.Class java.util.Iterator java.lang.String java.lang.String java.lang.ClassLoader java.io.InputStream
      StackMap stack:
            aconst_null
            astore 10
            aconst_null
            astore 11
        10: new java.util.Scanner
            dup
            aload 8 /* is */
            ldc "UTF-8"
            invokespecial java.util.Scanner.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            ldc "\\A"
            invokevirtual java.util.Scanner.useDelimiter:(Ljava/lang/String;)Ljava/util/Scanner;
            astore 12 /* scanner */
        start local 12 // java.util.Scanner scanner
        11: .line 97
            aload 12 /* scanner */
            invokevirtual java.util.Scanner.next:()Ljava/lang/String;
            astore 9 /* source */
        start local 9 // java.lang.String source
        12: .line 98
            aload 12 /* scanner */
            ifnull 18
            aload 12 /* scanner */
            invokevirtual java.util.Scanner.close:()V
            goto 18
        end local 9 // java.lang.String source
      StackMap locals: io.vertx.codegen.Compiler java.util.List java.util.ArrayList java.lang.Class java.util.Iterator java.lang.String java.lang.String java.lang.ClassLoader java.io.InputStream top java.lang.Throwable java.lang.Throwable java.util.Scanner
      StackMap stack: java.lang.Throwable
        13: astore 10
            aload 12 /* scanner */
            ifnull 14
            aload 12 /* scanner */
            invokevirtual java.util.Scanner.close:()V
        end local 12 // java.util.Scanner scanner
      StackMap locals:
      StackMap stack:
        14: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 11
            aload 10
            ifnonnull 16
            aload 11
            astore 10
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 10
            aload 11
            if_acmpeq 17
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        17: aload 10
            athrow
        start local 9 // java.lang.String source
        18: .line 100
      StackMap locals: io.vertx.codegen.Compiler java.util.List java.util.ArrayList java.lang.Class java.util.Iterator java.lang.String java.lang.String java.lang.ClassLoader java.io.InputStream java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "java.io.tmpdir"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            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 6 /* fileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* tmpFileName */
        start local 10 // java.lang.String tmpFileName
        19: .line 101
            new java.io.File
            dup
            aload 10 /* tmpFileName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 11 /* f */
        start local 11 // java.io.File f
        20: .line 102
            aload 11 /* f */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            astore 12 /* parent */
        start local 12 // java.io.File parent
        21: .line 103
            aload 12 /* parent */
            invokevirtual java.io.File.mkdirs:()Z
            pop
        22: .line 104
            aconst_null
            astore 13
            aconst_null
            astore 14
        23: new java.io.PrintStream
            dup
            new java.io.FileOutputStream
            dup
            aload 10 /* tmpFileName */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
            invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
            astore 15 /* out */
        start local 15 // java.io.PrintStream out
        24: .line 105
            aload 15 /* out */
            aload 9 /* source */
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        25: .line 106
            aload 15 /* out */
            ifnull 31
            aload 15 /* out */
            invokevirtual java.io.PrintStream.close:()V
            goto 31
      StackMap locals: io.vertx.codegen.Compiler java.util.List java.util.ArrayList java.lang.Class java.util.Iterator java.lang.String java.lang.String java.lang.ClassLoader java.io.InputStream java.lang.String java.lang.String java.io.File java.io.File java.lang.Throwable java.lang.Throwable java.io.PrintStream
      StackMap stack: java.lang.Throwable
        26: astore 13
            aload 15 /* out */
            ifnull 27
            aload 15 /* out */
            invokevirtual java.io.PrintStream.close:()V
        end local 15 // java.io.PrintStream out
      StackMap locals:
      StackMap stack:
        27: aload 13
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        28: astore 14
            aload 13
            ifnonnull 29
            aload 14
            astore 13
            goto 30
      StackMap locals:
      StackMap stack:
        29: aload 13
            aload 14
            if_acmpeq 30
            aload 13
            aload 14
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        30: aload 13
            athrow
        31: .line 107
      StackMap locals:
      StackMap stack:
            aload 2 /* tmpFiles */
            aload 11 /* f */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // java.io.File parent
        end local 11 // java.io.File f
        end local 10 // java.lang.String tmpFileName
        end local 9 // java.lang.String source
        end local 8 // java.io.InputStream is
        end local 7 // java.lang.ClassLoader loader
        end local 6 // java.lang.String fileName
        end local 5 // java.lang.String className
        end local 3 // java.lang.Class type
        32: .line 86
      StackMap locals: io.vertx.codegen.Compiler java.util.List java.util.ArrayList top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        33: .line 109
            aload 0 /* this */
            aload 2 /* tmpFiles */
            aload 2 /* tmpFiles */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.io.File
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.io.File[]
            invokevirtual io.vertx.codegen.Compiler.compile:([Ljava/io/File;)Z
            ireturn
        end local 2 // java.util.ArrayList tmpFiles
        end local 1 // java.util.List types
        end local 0 // io.vertx.codegen.Compiler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   34     0         this  Lio/vertx/codegen/Compiler;
            0   34     1        types  Ljava/util/List<Ljava/lang/Class;>;
            1   34     2     tmpFiles  Ljava/util/ArrayList<Ljava/io/File;>;
            3   32     3         type  Ljava/lang/Class;
            4   32     5    className  Ljava/lang/String;
            5   32     6     fileName  Ljava/lang/String;
            6   32     7       loader  Ljava/lang/ClassLoader;
            7   32     8           is  Ljava/io/InputStream;
           12   13     9       source  Ljava/lang/String;
           18   32     9       source  Ljava/lang/String;
           11   14    12      scanner  Ljava/util/Scanner;
           19   32    10  tmpFileName  Ljava/lang/String;
           20   32    11            f  Ljava/io/File;
           21   32    12       parent  Ljava/io/File;
           24   27    15          out  Ljava/io/PrintStream;
      Exception table:
        from    to  target  type
          11    12      13  any
          10    15      15  any
          24    25      26  any
          23    28      28  any
    Exceptions:
      throws java.lang.Exception
    Signature: (Ljava/util/List<Ljava/lang/Class;>;)Z
    MethodParameters:
       Name  Flags
      types  

  public boolean compile(java.io.File[]);
    descriptor: ([Ljava/io/File;)Z
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=7, locals=9, args_size=2
        start local 0 // io.vertx.codegen.Compiler this
        start local 1 // java.io.File[] sourceFiles
         0: .line 113
            invokestatic javax.tools.ToolProvider.getSystemJavaCompiler:()Ljavax/tools/JavaCompiler;
            astore 2 /* compiler */
        start local 2 // javax.tools.JavaCompiler compiler
         1: .line 114
            aload 2 /* compiler */
            aload 0 /* this */
            getfield io.vertx.codegen.Compiler.diagnosticListener:Ljavax/tools/DiagnosticListener;
            aconst_null
            aconst_null
            invokeinterface javax.tools.JavaCompiler.getStandardFileManager:(Ljavax/tools/DiagnosticListener;Ljava/util/Locale;Ljava/nio/charset/Charset;)Ljavax/tools/StandardJavaFileManager;
            astore 3 /* fm */
        start local 3 // javax.tools.StandardJavaFileManager fm
         2: .line 115
            aload 0 /* this */
            getfield io.vertx.codegen.Compiler.classOutput:Ljava/io/File;
            ifnonnull 4
         3: .line 116
            aload 0 /* this */
            invokestatic io.vertx.codegen.Compiler.createTempDir:()Ljava/io/File;
            putfield io.vertx.codegen.Compiler.classOutput:Ljava/io/File;
         4: .line 118
      StackMap locals: javax.tools.JavaCompiler javax.tools.StandardJavaFileManager
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.codegen.Compiler.sourceOutput:Ljava/io/File;
            ifnonnull 6
         5: .line 119
            aload 0 /* this */
            invokestatic io.vertx.codegen.Compiler.createTempDir:()Ljava/io/File;
            putfield io.vertx.codegen.Compiler.sourceOutput:Ljava/io/File;
         6: .line 121
      StackMap locals:
      StackMap stack:
            aload 3 /* fm */
            getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
            aload 0 /* this */
            getfield io.vertx.codegen.Compiler.classOutput:Ljava/io/File;
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokeinterface javax.tools.StandardJavaFileManager.setLocation:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/Iterable;)V
         7: .line 122
            aload 3 /* fm */
            getstatic javax.tools.StandardLocation.SOURCE_OUTPUT:Ljavax/tools/StandardLocation;
            aload 0 /* this */
            getfield io.vertx.codegen.Compiler.sourceOutput:Ljava/io/File;
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokeinterface javax.tools.StandardJavaFileManager.setLocation:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/Iterable;)V
         8: .line 123
            aload 3 /* fm */
            aload 1 /* sourceFiles */
            invokeinterface javax.tools.StandardJavaFileManager.getJavaFileObjects:([Ljava/io/File;)Ljava/lang/Iterable;
            astore 4 /* fileObjects */
        start local 4 // java.lang.Iterable fileObjects
         9: .line 124
            new io.vertx.codegen.Compiler$NullWriter
            dup
            invokespecial io.vertx.codegen.Compiler$NullWriter.<init>:()V
            astore 5 /* out */
        start local 5 // java.io.Writer out
        10: .line 125
            aload 2 /* compiler */
            aload 5 /* out */
            aload 3 /* fm */
            aload 0 /* this */
            getfield io.vertx.codegen.Compiler.diagnosticListener:Ljavax/tools/DiagnosticListener;
            aload 0 /* this */
            getfield io.vertx.codegen.Compiler.options:Ljava/util/List;
            aconst_null
            aload 4 /* fileObjects */
            invokeinterface javax.tools.JavaCompiler.getTask:(Ljava/io/Writer;Ljavax/tools/JavaFileManager;Ljavax/tools/DiagnosticListener;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;)Ljavax/tools/JavaCompiler$CompilationTask;
            astore 6 /* task */
        start local 6 // javax.tools.JavaCompiler$CompilationTask task
        11: .line 126
            aload 0 /* this */
            getfield io.vertx.codegen.Compiler.processor:Ljavax/annotation/processing/Processor;
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            astore 7 /* processors */
        start local 7 // java.util.List processors
        12: .line 127
            aload 6 /* task */
            aload 7 /* processors */
            invokeinterface javax.tools.JavaCompiler$CompilationTask.setProcessors:(Ljava/lang/Iterable;)V
        13: .line 129
            aload 6 /* task */
            invokeinterface javax.tools.JavaCompiler$CompilationTask.call:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
        14: ireturn
        15: .line 130
      StackMap locals: io.vertx.codegen.Compiler java.io.File[] javax.tools.JavaCompiler javax.tools.StandardJavaFileManager java.lang.Iterable java.io.Writer javax.tools.JavaCompiler$CompilationTask java.util.List
      StackMap stack: java.lang.RuntimeException
            astore 8 /* e */
        start local 8 // java.lang.RuntimeException e
        16: .line 131
            aload 8 /* e */
            invokevirtual java.lang.RuntimeException.getCause:()Ljava/lang/Throwable;
            ifnull 18
            aload 8 /* e */
            invokevirtual java.lang.RuntimeException.getCause:()Ljava/lang/Throwable;
            instanceof java.lang.RuntimeException
            ifeq 18
        17: .line 132
            aload 8 /* e */
            invokevirtual java.lang.RuntimeException.getCause:()Ljava/lang/Throwable;
            checkcast java.lang.RuntimeException
            athrow
        18: .line 134
      StackMap locals: java.lang.RuntimeException
      StackMap stack:
            aload 8 /* e */
            athrow
        end local 8 // java.lang.RuntimeException e
        end local 7 // java.util.List processors
        end local 6 // javax.tools.JavaCompiler$CompilationTask task
        end local 5 // java.io.Writer out
        end local 4 // java.lang.Iterable fileObjects
        end local 3 // javax.tools.StandardJavaFileManager fm
        end local 2 // javax.tools.JavaCompiler compiler
        end local 1 // java.io.File[] sourceFiles
        end local 0 // io.vertx.codegen.Compiler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0         this  Lio/vertx/codegen/Compiler;
            0   19     1  sourceFiles  [Ljava/io/File;
            1   19     2     compiler  Ljavax/tools/JavaCompiler;
            2   19     3           fm  Ljavax/tools/StandardJavaFileManager;
            9   19     4  fileObjects  Ljava/lang/Iterable<+Ljavax/tools/JavaFileObject;>;
           10   19     5          out  Ljava/io/Writer;
           11   19     6         task  Ljavax/tools/JavaCompiler$CompilationTask;
           12   19     7   processors  Ljava/util/List<Ljavax/annotation/processing/Processor;>;
           16   19     8            e  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
          13    14      15  Class java.lang.RuntimeException
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
             Name  Flags
      sourceFiles  
}
SourceFile: "Compiler.java"
NestMembers:
  io.vertx.codegen.Compiler$NullWriter
InnerClasses:
  private NullWriter = io.vertx.codegen.Compiler$NullWriter of io.vertx.codegen.Compiler
  public abstract CompilationTask = javax.tools.JavaCompiler$CompilationTask of javax.tools.JavaCompiler
  public abstract Location = javax.tools.JavaFileManager$Location of javax.tools.JavaFileManager