public class io.vertx.codegen.CodeGenProcessor extends javax.annotation.processing.AbstractProcessor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.codegen.CodeGenProcessor
  super_class: javax.annotation.processing.AbstractProcessor
{
  private static final int JAVA;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int RESOURCE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int OTHER;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final java.util.logging.Logger log;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

  private java.util.List<? extends io.vertx.codegen.Generator<?>> codeGenerators;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<+Lio/vertx/codegen/Generator<*>;>;

  private java.util.Map<java.lang.String, io.vertx.codegen.CodeGenProcessor$GeneratedFile> generatedFiles;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lio/vertx/codegen/CodeGenProcessor$GeneratedFile;>;

  private java.util.Map<java.lang.String, io.vertx.codegen.CodeGenProcessor$GeneratedFile> generatedResources;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lio/vertx/codegen/CodeGenProcessor$GeneratedFile;>;

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

  private java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>> supportedAnnotation;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 38
            ldc Lio/vertx/codegen/CodeGenProcessor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
            putstatic io.vertx.codegen.CodeGenProcessor.log:Ljava/util/logging/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.codegen.CodeGenProcessor this
         0: .line 35
            aload 0 /* this */
            invokespecial javax.annotation.processing.AbstractProcessor.<init>:()V
         1: .line 41
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield io.vertx.codegen.CodeGenProcessor.generatedFiles:Ljava/util/Map;
         2: .line 42
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield io.vertx.codegen.CodeGenProcessor.generatedResources:Ljava/util/Map;
         3: .line 43
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield io.vertx.codegen.CodeGenProcessor.relocations:Ljava/util/Map;
         4: .line 44
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield io.vertx.codegen.CodeGenProcessor.supportedAnnotation:Ljava/util/Set;
         5: .line 35
            return
        end local 0 // io.vertx.codegen.CodeGenProcessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/vertx/codegen/CodeGenProcessor;

  public java.util.Set<java.lang.String> getSupportedAnnotationTypes();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.codegen.CodeGenProcessor this
         0: .line 48
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.supportedAnnotation:Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/lang/Class.getName()Ljava/lang/String; (5)
                  (Ljava/lang/Class;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Set
            areturn
        end local 0 // io.vertx.codegen.CodeGenProcessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/CodeGenProcessor;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public synchronized void init(javax.annotation.processing.ProcessingEnvironment);
    descriptor: (Ljavax/annotation/processing/ProcessingEnvironment;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.codegen.CodeGenProcessor this
        start local 1 // javax.annotation.processing.ProcessingEnvironment processingEnv
         0: .line 53
            aload 0 /* this */
            aload 1 /* processingEnv */
            invokespecial javax.annotation.processing.AbstractProcessor.init:(Ljavax/annotation/processing/ProcessingEnvironment;)V
         1: .line 54
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.generatedFiles:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         2: .line 55
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.generatedResources:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         3: .line 56
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.vertx.codegen.CodeGenProcessor.getCodeGenerators:()Ljava/util/Collection;
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/vertx/codegen/CodeGenProcessor.lambda$1(Lio/vertx/codegen/Generator;)Ljava/util/stream/Stream; (6)
                  (Lio/vertx/codegen/Generator;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Set
            putfield io.vertx.codegen.CodeGenProcessor.supportedAnnotation:Ljava/util/Set;
         4: .line 57
            return
        end local 1 // javax.annotation.processing.ProcessingEnvironment processingEnv
        end local 0 // io.vertx.codegen.CodeGenProcessor this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lio/vertx/codegen/CodeGenProcessor;
            0    5     1  processingEnv  Ljavax/annotation/processing/ProcessingEnvironment;
    MethodParameters:
               Name  Flags
      processingEnv  

  private java.util.function.Predicate<io.vertx.codegen.Generator> filterGenerators();
    descriptor: ()Ljava/util/function/Predicate;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // io.vertx.codegen.CodeGenProcessor this
         0: .line 60
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getOptions:()Ljava/util/Map;
            ldc "codegen.generators"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* generatorsOption */
        start local 1 // java.lang.String generatorsOption
         1: .line 61
            aload 1 /* generatorsOption */
            ifnonnull 5
         2: .line 62
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getOptions:()Ljava/util/Map;
            ldc "codeGenerators"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* generatorsOption */
         3: .line 63
            aload 1 /* generatorsOption */
            ifnull 5
         4: .line 64
            getstatic io.vertx.codegen.CodeGenProcessor.log:Ljava/util/logging/Logger;
            ldc "Please use 'codegen.generators' option instead of 'codeGenerators' option"
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
         5: .line 67
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* generatorsOption */
            ifnull 12
         6: .line 68
            aload 1 /* generatorsOption */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
         7: .line 69
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/lang/String.trim()Ljava/lang/String; (5)
                  (Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         8: .line 70
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/util/regex/Pattern.compile(Ljava/lang/String;)Ljava/util/regex/Pattern; (6)
                  (Ljava/lang/String;)Ljava/util/regex/Pattern;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         9: .line 71
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
        10: .line 68
            astore 2 /* wanted */
        start local 2 // java.util.List wanted
        11: .line 72
            aload 2 /* wanted */
            invokedynamic test(Ljava/util/List;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  io/vertx/codegen/CodeGenProcessor.lambda$4(Ljava/util/List;Lio/vertx/codegen/Generator;)Z (6)
                  (Lio/vertx/codegen/Generator;)Z
            areturn
        end local 2 // java.util.List wanted
        12: .line 75
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.String generatorsOption
        end local 0 // io.vertx.codegen.CodeGenProcessor this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   13     0              this  Lio/vertx/codegen/CodeGenProcessor;
            1   13     1  generatorsOption  Ljava/lang/String;
           11   12     2            wanted  Ljava/util/List<Ljava/util/regex/Pattern;>;
    Signature: ()Ljava/util/function/Predicate<Lio/vertx/codegen/Generator;>;

  private java.util.Collection<? extends io.vertx.codegen.Generator<?>> getCodeGenerators();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // io.vertx.codegen.CodeGenProcessor this
         0: .line 80
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.codeGenerators:Ljava/util/List;
            ifnonnull 29
         1: .line 81
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getOptions:()Ljava/util/Map;
            ldc "codegen.output"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* outputDirectoryOption */
        start local 1 // java.lang.String outputDirectoryOption
         2: .line 82
            aload 1 /* outputDirectoryOption */
            ifnonnull 6
         3: .line 83
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getOptions:()Ljava/util/Map;
            ldc "outputDirectory"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* outputDirectoryOption */
         4: .line 84
            aload 1 /* outputDirectoryOption */
            ifnull 6
         5: .line 85
            getstatic io.vertx.codegen.CodeGenProcessor.log:Ljava/util/logging/Logger;
            ldc "Please use 'codegen.output' option instead of 'outputDirectory' option"
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
         6: .line 88
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* outputDirectoryOption */
            ifnull 13
         7: .line 89
            aload 0 /* this */
            new java.io.File
            dup
            aload 1 /* outputDirectoryOption */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            putfield io.vertx.codegen.CodeGenProcessor.outputDirectory:Ljava/io/File;
         8: .line 90
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.outputDirectory:Ljava/io/File;
            invokevirtual java.io.File.exists:()Z
            ifne 11
         9: .line 91
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.outputDirectory:Ljava/io/File;
            invokevirtual java.io.File.mkdirs:()Z
            ifne 11
        10: .line 92
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            new java.lang.StringBuilder
            dup
            ldc "Output directory "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* outputDirectoryOption */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " does not exist"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;)V
        11: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.outputDirectory:Ljava/io/File;
            invokevirtual java.io.File.isDirectory:()Z
            ifne 13
        12: .line 96
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            new java.lang.StringBuilder
            dup
            ldc "Output directory "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* outputDirectoryOption */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is not a directory"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;)V
        13: .line 100
      StackMap locals:
      StackMap stack:
            ldc Lio/vertx/codegen/GeneratorLoader;
            ldc Lio/vertx/codegen/CodeGenProcessor;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;
            invokevirtual java.util.ServiceLoader.spliterator:()Ljava/util/Spliterator;
            iconst_0
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
            astore 2 /* serviceLoader */
        start local 2 // java.util.stream.Stream serviceLoader
        14: .line 101
            iconst_3
            anewarray io.vertx.codegen.GeneratorLoader
            dup
            iconst_0
            new io.vertx.codegen.generators.mvel.MvelCodeGeneratorLoader
            dup
            invokespecial io.vertx.codegen.generators.mvel.MvelCodeGeneratorLoader.<init>:()V
            aastore
            dup
            iconst_1
            new io.vertx.codegen.generators.cheatsheet.CheatsheetGenLoader
            dup
            invokespecial io.vertx.codegen.generators.cheatsheet.CheatsheetGenLoader.<init>:()V
            aastore
            dup
            iconst_2
            new io.vertx.codegen.generators.dataobjecthelper.DataObjectHelperGenLoader
            dup
            invokespecial io.vertx.codegen.generators.dataobjecthelper.DataObjectHelperGenLoader.<init>:()V
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            astore 3 /* loaders */
        start local 3 // java.util.stream.Stream loaders
        15: .line 102
            aload 2 /* serviceLoader */
            aload 3 /* loaders */
            invokestatic java.util.stream.Stream.concat:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
            aload 0 /* this */
            invokedynamic apply(Lio/vertx/codegen/CodeGenProcessor;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/vertx/codegen/CodeGenProcessor.lambda$6(Lio/vertx/codegen/GeneratorLoader;)Ljava/util/stream/Stream; (7)
                  (Lio/vertx/codegen/GeneratorLoader;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            astore 4 /* generators */
        start local 4 // java.util.stream.Stream generators
        16: .line 103
            aload 0 /* this */
            invokevirtual io.vertx.codegen.CodeGenProcessor.filterGenerators:()Ljava/util/function/Predicate;
            astore 5 /* filter */
        start local 5 // java.util.function.Predicate filter
        17: .line 104
            aload 5 /* filter */
            ifnull 19
        18: .line 105
            aload 4 /* generators */
            aload 5 /* filter */
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            astore 4 /* generators */
        19: .line 107
      StackMap locals: io.vertx.codegen.CodeGenProcessor java.lang.String java.util.stream.Stream java.util.stream.Stream java.util.stream.Stream java.util.function.Predicate
      StackMap stack:
            aload 4 /* generators */
            aload 0 /* this */
            invokedynamic accept(Lio/vertx/codegen/CodeGenProcessor;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/codegen/CodeGenProcessor.lambda$7(Lio/vertx/codegen/Generator;)V (7)
                  (Lio/vertx/codegen/Generator;)V
            invokeinterface java.util.stream.Stream.peek:(Ljava/util/function/Consumer;)Ljava/util/stream/Stream;
            astore 4 /* generators */
        20: .line 111
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getOptions:()Ljava/util/Map;
        21: .line 112
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
        22: .line 113
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
        23: .line 114
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  io/vertx/codegen/CodeGenProcessor.lambda$8(Ljava/util/Map$Entry;)Z (6)
                  (Ljava/util/Map$Entry;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        24: .line 116
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/vertx/codegen/CodeGenProcessor.lambda$9(Ljava/util/Map$Entry;)Ljava/lang/String; (6)
                  (Ljava/util/Map$Entry;)Ljava/lang/String;
        25: .line 117
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/util/Map$Entry.getValue()Ljava/lang/Object; (9 itf)
                  (Ljava/util/Map$Entry;)Ljava/lang/String;
        26: .line 115
            invokestatic java.util.stream.Collectors.toMap:(Ljava/util/function/Function;Ljava/util/function/Function;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Map
        27: .line 111
            putfield io.vertx.codegen.CodeGenProcessor.relocations:Ljava/util/Map;
        28: .line 120
            aload 0 /* this */
            aload 4 /* generators */
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
            putfield io.vertx.codegen.CodeGenProcessor.codeGenerators:Ljava/util/List;
        end local 5 // java.util.function.Predicate filter
        end local 4 // java.util.stream.Stream generators
        end local 3 // java.util.stream.Stream loaders
        end local 2 // java.util.stream.Stream serviceLoader
        end local 1 // java.lang.String outputDirectoryOption
        29: .line 122
      StackMap locals: io.vertx.codegen.CodeGenProcessor
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.codeGenerators:Ljava/util/List;
            areturn
        end local 0 // io.vertx.codegen.CodeGenProcessor this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   30     0                   this  Lio/vertx/codegen/CodeGenProcessor;
            2   29     1  outputDirectoryOption  Ljava/lang/String;
           14   29     2          serviceLoader  Ljava/util/stream/Stream<Lio/vertx/codegen/GeneratorLoader;>;
           15   29     3                loaders  Ljava/util/stream/Stream<Lio/vertx/codegen/GeneratorLoader;>;
           16   29     4             generators  Ljava/util/stream/Stream<Lio/vertx/codegen/Generator<*>;>;
           17   29     5                 filter  Ljava/util/function/Predicate<Lio/vertx/codegen/Generator;>;
    Signature: ()Ljava/util/Collection<+Lio/vertx/codegen/Generator<*>;>;

  public boolean process(java.util.Set<? extends javax.lang.model.element.TypeElement>, javax.annotation.processing.RoundEnvironment);
    descriptor: (Ljava/util/Set;Ljavax/annotation/processing/RoundEnvironment;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // io.vertx.codegen.CodeGenProcessor this
        start local 1 // java.util.Set annotations
        start local 2 // javax.annotation.processing.RoundEnvironment roundEnv
         0: .line 129
            aload 2 /* roundEnv */
            invokeinterface javax.annotation.processing.RoundEnvironment.processingOver:()Z
            ifne 8
         1: .line 130
            aload 0 /* this */
            invokevirtual io.vertx.codegen.CodeGenProcessor.getCodeGenerators:()Ljava/util/Collection;
            astore 3 /* codeGenerators */
        start local 3 // java.util.Collection codeGenerators
         2: .line 132
            aload 2 /* roundEnv */
            invokeinterface javax.annotation.processing.RoundEnvironment.errorRaised:()Z
            ifne 45
         3: .line 133
            new io.vertx.codegen.CodeGen
            dup
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            aload 2 /* roundEnv */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            invokespecial io.vertx.codegen.CodeGen.<init>:(Ljavax/annotation/processing/ProcessingEnvironment;Ljavax/annotation/processing/RoundEnvironment;Ljava/lang/ClassLoader;)V
            astore 4 /* codegen */
        start local 4 // io.vertx.codegen.CodeGen codegen
         4: .line 134
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 5 /* generatedClasses */
        start local 5 // java.util.Map generatedClasses
         5: .line 137
            aload 4 /* codegen */
            invokevirtual io.vertx.codegen.CodeGen.getModels:()Ljava/util/stream/Stream;
            aload 0 /* this */
            aload 3 /* codeGenerators */
            aload 5 /* generatedClasses */
            invokedynamic accept(Lio/vertx/codegen/CodeGenProcessor;Ljava/util/Collection;Ljava/util/Map;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/codegen/CodeGenProcessor.lambda$11(Ljava/util/Collection;Ljava/util/Map;Ljava/util/Map$Entry;)V (7)
                  (Ljava/util/Map$Entry;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         6: .line 187
            aload 5 /* generatedClasses */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aload 0 /* this */
            invokedynamic accept(Lio/vertx/codegen/CodeGenProcessor;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/codegen/CodeGenProcessor.lambda$15(Lio/vertx/codegen/CodeGenProcessor$GeneratedFile;)V (7)
                  (Lio/vertx/codegen/CodeGenProcessor$GeneratedFile;)V
            invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
        end local 5 // java.util.Map generatedClasses
        end local 4 // io.vertx.codegen.CodeGen codegen
        end local 3 // java.util.Collection codeGenerators
         7: .line 205
            goto 45
         8: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.generatedResources:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 43
      StackMap locals: io.vertx.codegen.CodeGenProcessor java.util.Set javax.annotation.processing.RoundEnvironment top java.util.Iterator
      StackMap stack:
         9: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.codegen.CodeGenProcessor$GeneratedFile
            astore 3 /* generated */
        start local 3 // io.vertx.codegen.CodeGenProcessor$GeneratedFile generated
        10: .line 211
            aload 3 /* generated */
            invokevirtual io.vertx.codegen.CodeGenProcessor$GeneratedFile.generate:()Ljava/lang/String;
            astore 5 /* content */
        start local 5 // java.lang.String content
        11: .line 212
            aload 5 /* content */
            invokevirtual java.lang.String.length:()I
            ifle 43
        12: .line 213
            aconst_null
            astore 6
            aconst_null
            astore 7
        13: aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getFiler:()Ljavax/annotation/processing/Filer;
            getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
            ldc ""
            aload 3 /* generated */
            getfield io.vertx.codegen.CodeGenProcessor$GeneratedFile.uri:Ljava/lang/String;
            iconst_0
            anewarray javax.lang.model.element.Element
            invokeinterface javax.annotation.processing.Filer.createResource:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/CharSequence;Ljava/lang/CharSequence;[Ljavax/lang/model/element/Element;)Ljavax/tools/FileObject;
            invokeinterface javax.tools.FileObject.openWriter:()Ljava/io/Writer;
            astore 8 /* w */
        start local 8 // java.io.Writer w
        14: .line 214
            aload 8 /* w */
            aload 5 /* content */
            invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
        15: .line 215
            aload 8 /* w */
            ifnull 21
            aload 8 /* w */
            invokevirtual java.io.Writer.close:()V
            goto 21
      StackMap locals: io.vertx.codegen.CodeGenProcessor java.util.Set javax.annotation.processing.RoundEnvironment io.vertx.codegen.CodeGenProcessor$GeneratedFile java.util.Iterator java.lang.String java.lang.Throwable java.lang.Throwable java.io.Writer
      StackMap stack: java.lang.Throwable
        16: astore 6
            aload 8 /* w */
            ifnull 17
            aload 8 /* w */
            invokevirtual java.io.Writer.close:()V
        end local 8 // java.io.Writer w
      StackMap locals:
      StackMap stack:
        17: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: astore 7
            aload 6
            ifnonnull 19
            aload 7
            astore 6
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 6
            aload 7
            if_acmpeq 20
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        20: aload 6
            athrow
        21: .line 218
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getFiler:()Ljavax/annotation/processing/Filer;
            getstatic javax.tools.StandardLocation.SOURCE_OUTPUT:Ljavax/tools/StandardLocation;
            ldc ""
            aload 3 /* generated */
            getfield io.vertx.codegen.CodeGenProcessor$GeneratedFile.uri:Ljava/lang/String;
            invokeinterface javax.annotation.processing.Filer.getResource:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljavax/tools/FileObject;
            pop
        22: .line 219
            iconst_1
            istore 6 /* createSource */
        start local 6 // boolean createSource
        23: .line 220
            goto 26
        end local 6 // boolean createSource
      StackMap locals:
      StackMap stack: javax.annotation.processing.FilerException
        24: pop
        25: .line 222
            iconst_0
            istore 6 /* createSource */
        start local 6 // boolean createSource
        26: .line 224
      StackMap locals: int
      StackMap stack:
            iload 6 /* createSource */
            ifeq 36
        27: .line 225
            aconst_null
            astore 7
            aconst_null
            astore 8
        28: aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getFiler:()Ljavax/annotation/processing/Filer;
            getstatic javax.tools.StandardLocation.SOURCE_OUTPUT:Ljavax/tools/StandardLocation;
            ldc ""
            aload 3 /* generated */
            getfield io.vertx.codegen.CodeGenProcessor$GeneratedFile.uri:Ljava/lang/String;
            iconst_0
            anewarray javax.lang.model.element.Element
            invokeinterface javax.annotation.processing.Filer.createResource:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/CharSequence;Ljava/lang/CharSequence;[Ljavax/lang/model/element/Element;)Ljavax/tools/FileObject;
            invokeinterface javax.tools.FileObject.openWriter:()Ljava/io/Writer;
            astore 9 /* w */
        start local 9 // java.io.Writer w
        29: .line 226
            aload 9 /* w */
            aload 5 /* content */
            invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
        30: .line 227
            aload 9 /* w */
            ifnull 36
            aload 9 /* w */
            invokevirtual java.io.Writer.close:()V
            goto 36
      StackMap locals: io.vertx.codegen.CodeGenProcessor java.util.Set javax.annotation.processing.RoundEnvironment io.vertx.codegen.CodeGenProcessor$GeneratedFile java.util.Iterator java.lang.String int java.lang.Throwable java.lang.Throwable java.io.Writer
      StackMap stack: java.lang.Throwable
        31: astore 7
            aload 9 /* w */
            ifnull 32
            aload 9 /* w */
            invokevirtual java.io.Writer.close:()V
        end local 9 // java.io.Writer w
      StackMap locals:
      StackMap stack:
        32: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        33: astore 8
            aload 7
            ifnonnull 34
            aload 8
            astore 7
            goto 35
      StackMap locals:
      StackMap stack:
        34: aload 7
            aload 8
            if_acmpeq 35
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        35: aload 7
            athrow
        36: .line 229
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.codegen.CodeGenProcessor.log:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Generated model "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* generated */
            iconst_0
            invokevirtual io.vertx.codegen.CodeGenProcessor$GeneratedFile.get:(I)Ljava/lang/Object;
            checkcast io.vertx.codegen.CodeGenProcessor$ModelProcessing
            getfield io.vertx.codegen.CodeGenProcessor$ModelProcessing.model:Lio/vertx/codegen/Model;
            invokeinterface io.vertx.codegen.Model.getFqn:()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;
            aload 3 /* generated */
            getfield io.vertx.codegen.CodeGenProcessor$GeneratedFile.uri:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.info:(Ljava/lang/String;)V
        end local 6 // boolean createSource
        end local 5 // java.lang.String content
        37: .line 231
            goto 43
      StackMap locals: io.vertx.codegen.CodeGenProcessor java.util.Set javax.annotation.processing.RoundEnvironment io.vertx.codegen.CodeGenProcessor$GeneratedFile java.util.Iterator
      StackMap stack: io.vertx.codegen.GenException
        38: astore 5 /* e */
        start local 5 // io.vertx.codegen.GenException e
        39: .line 232
            aload 0 /* this */
            aload 5 /* e */
            invokevirtual io.vertx.codegen.CodeGenProcessor.reportGenException:(Lio/vertx/codegen/GenException;)V
        end local 5 // io.vertx.codegen.GenException e
        40: goto 43
        41: .line 233
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
        42: .line 234
            aload 0 /* this */
            aload 5 /* e */
            aload 3 /* generated */
            iconst_0
            invokevirtual io.vertx.codegen.CodeGenProcessor$GeneratedFile.get:(I)Ljava/lang/Object;
            checkcast io.vertx.codegen.CodeGenProcessor$ModelProcessing
            getfield io.vertx.codegen.CodeGenProcessor$ModelProcessing.model:Lio/vertx/codegen/Model;
            invokeinterface io.vertx.codegen.Model.getElement:()Ljavax/lang/model/element/Element;
            invokevirtual io.vertx.codegen.CodeGenProcessor.reportException:(Ljava/lang/Exception;Ljavax/lang/model/element/Element;)V
        end local 5 // java.lang.Exception e
        end local 3 // io.vertx.codegen.CodeGenProcessor$GeneratedFile generated
        43: .line 208
      StackMap locals: io.vertx.codegen.CodeGenProcessor java.util.Set javax.annotation.processing.RoundEnvironment top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        44: .line 238
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.generatedFiles:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aload 0 /* this */
            invokedynamic accept(Lio/vertx/codegen/CodeGenProcessor;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/codegen/CodeGenProcessor.lambda$16(Lio/vertx/codegen/CodeGenProcessor$GeneratedFile;)V (7)
                  (Lio/vertx/codegen/CodeGenProcessor$GeneratedFile;)V
            invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
        45: .line 263
      StackMap locals: io.vertx.codegen.CodeGenProcessor java.util.Set javax.annotation.processing.RoundEnvironment
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // javax.annotation.processing.RoundEnvironment roundEnv
        end local 1 // java.util.Set annotations
        end local 0 // io.vertx.codegen.CodeGenProcessor this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   46     0              this  Lio/vertx/codegen/CodeGenProcessor;
            0   46     1       annotations  Ljava/util/Set<+Ljavax/lang/model/element/TypeElement;>;
            0   46     2          roundEnv  Ljavax/annotation/processing/RoundEnvironment;
            2    7     3    codeGenerators  Ljava/util/Collection<+Lio/vertx/codegen/Generator;>;
            4    7     4           codegen  Lio/vertx/codegen/CodeGen;
            5    7     5  generatedClasses  Ljava/util/Map<Ljava/lang/String;Lio/vertx/codegen/CodeGenProcessor$GeneratedFile;>;
           10   43     3         generated  Lio/vertx/codegen/CodeGenProcessor$GeneratedFile;
           11   37     5           content  Ljava/lang/String;
           14   17     8                 w  Ljava/io/Writer;
           23   24     6      createSource  Z
           26   37     6      createSource  Z
           29   32     9                 w  Ljava/io/Writer;
           39   40     5                 e  Lio/vertx/codegen/GenException;
           42   43     5                 e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          14    15      16  any
          13    18      18  any
          21    23      24  Class javax.annotation.processing.FilerException
          29    30      31  any
          28    33      33  any
          10    37      38  Class io.vertx.codegen.GenException
          10    37      41  Class java.lang.Exception
    Signature: (Ljava/util/Set<+Ljavax/lang/model/element/TypeElement;>;Ljavax/annotation/processing/RoundEnvironment;)Z
    MethodParameters:
             Name  Flags
      annotations  
      roundEnv     

  private void reportGenException(io.vertx.codegen.GenException);
    descriptor: (Lio/vertx/codegen/GenException;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // io.vertx.codegen.CodeGenProcessor this
        start local 1 // io.vertx.codegen.GenException e
         0: .line 267
            aload 1 /* e */
            getfield io.vertx.codegen.GenException.element:Ljavax/lang/model/element/Element;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         1: .line 268
            aload 1 /* e */
            getfield io.vertx.codegen.GenException.element:Ljavax/lang/model/element/Element;
            invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
            getstatic javax.lang.model.element.ElementKind.METHOD:Ljavax/lang/model/element/ElementKind;
            if_acmpne 3
         2: .line 269
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* e */
            getfield io.vertx.codegen.GenException.element:Ljavax/lang/model/element/Element;
            invokeinterface javax.lang.model.element.Element.getEnclosingElement:()Ljavax/lang/model/element/Element;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "#"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* name */
         3: .line 271
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Could not generate model for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* e */
            getfield io.vertx.codegen.GenException.msg:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* msg */
        start local 3 // java.lang.String msg
         4: .line 272
            getstatic io.vertx.codegen.CodeGenProcessor.log:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            aload 3 /* msg */
            aload 1 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
         5: .line 273
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            aload 3 /* msg */
            aload 1 /* e */
            getfield io.vertx.codegen.GenException.element:Ljavax/lang/model/element/Element;
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
         6: .line 274
            return
        end local 3 // java.lang.String msg
        end local 2 // java.lang.String name
        end local 1 // io.vertx.codegen.GenException e
        end local 0 // io.vertx.codegen.CodeGenProcessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/vertx/codegen/CodeGenProcessor;
            0    7     1     e  Lio/vertx/codegen/GenException;
            1    7     2  name  Ljava/lang/String;
            4    7     3   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      e     

  private void reportException(java.lang.Exception, javax.lang.model.element.Element);
    descriptor: (Ljava/lang/Exception;Ljavax/lang/model/element/Element;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.vertx.codegen.CodeGenProcessor this
        start local 1 // java.lang.Exception e
        start local 2 // javax.lang.model.element.Element elt
         0: .line 277
            new java.lang.StringBuilder
            dup
            ldc "Could not generate element for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* elt */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* msg */
        start local 3 // java.lang.String msg
         1: .line 278
            getstatic io.vertx.codegen.CodeGenProcessor.log:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            aload 3 /* msg */
            aload 1 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
         2: .line 279
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            aload 3 /* msg */
            aload 2 /* elt */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
         3: .line 280
            return
        end local 3 // java.lang.String msg
        end local 2 // javax.lang.model.element.Element elt
        end local 1 // java.lang.Exception e
        end local 0 // io.vertx.codegen.CodeGenProcessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/vertx/codegen/CodeGenProcessor;
            0    4     1     e  Ljava/lang/Exception;
            0    4     2   elt  Ljavax/lang/model/element/Element;
            1    4     3   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      e     
      elt   

  private static java.util.stream.Stream lambda$1(io.vertx.codegen.Generator);
    descriptor: (Lio/vertx/codegen/Generator;)Ljava/util/stream/Stream;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.Generator gen
         0: .line 56
            aload 0 /* gen */
            invokevirtual io.vertx.codegen.Generator.annotations:()Ljava/util/Collection;
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            areturn
        end local 0 // io.vertx.codegen.Generator gen
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   gen  Lio/vertx/codegen/Generator<TM;>;

  private static boolean lambda$4(java.util.List, io.vertx.codegen.Generator);
    descriptor: (Ljava/util/List;Lio/vertx/codegen/Generator;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // io.vertx.codegen.Generator cg
         0: .line 72
            aload 0
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
         1: .line 73
            aload 1 /* cg */
            invokedynamic test(Lio/vertx/codegen/Generator;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  io/vertx/codegen/CodeGenProcessor.lambda$5(Lio/vertx/codegen/Generator;Ljava/util/regex/Pattern;)Z (6)
                  (Ljava/util/regex/Pattern;)Z
            invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
            ireturn
        end local 1 // io.vertx.codegen.Generator cg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     1    cg  Lio/vertx/codegen/Generator;

  private java.util.stream.Stream lambda$6(io.vertx.codegen.GeneratorLoader);
    descriptor: (Lio/vertx/codegen/GeneratorLoader;)Ljava/util/stream/Stream;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.codegen.CodeGenProcessor this
        start local 1 // io.vertx.codegen.GeneratorLoader l
         0: .line 102
            aload 1 /* l */
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface io.vertx.codegen.GeneratorLoader.loadGenerators:(Ljavax/annotation/processing/ProcessingEnvironment;)Ljava/util/stream/Stream;
            areturn
        end local 1 // io.vertx.codegen.GeneratorLoader l
        end local 0 // io.vertx.codegen.CodeGenProcessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/CodeGenProcessor;
            0    1     1     l  Lio/vertx/codegen/GeneratorLoader;

  private void lambda$7(io.vertx.codegen.Generator);
    descriptor: (Lio/vertx/codegen/Generator;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.codegen.CodeGenProcessor this
        start local 1 // io.vertx.codegen.Generator gen
         0: .line 108
            aload 1 /* gen */
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokevirtual io.vertx.codegen.Generator.load:(Ljavax/annotation/processing/ProcessingEnvironment;)V
         1: .line 109
            getstatic io.vertx.codegen.CodeGenProcessor.log:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Loaded "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* gen */
            getfield io.vertx.codegen.Generator.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " code generator"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.info:(Ljava/lang/String;)V
         2: .line 110
            return
        end local 1 // io.vertx.codegen.Generator gen
        end local 0 // io.vertx.codegen.CodeGenProcessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/codegen/CodeGenProcessor;
            0    3     1   gen  Lio/vertx/codegen/Generator<*>;

  private static boolean lambda$8(java.util.Map$Entry);
    descriptor: (Ljava/util/Map$Entry;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.Map$Entry e
         0: .line 114
            aload 0 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            ldc "codegen.output."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ireturn
        end local 0 // java.util.Map$Entry e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;

  private static java.lang.String lambda$9(java.util.Map$Entry);
    descriptor: (Ljava/util/Map$Entry;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.Map$Entry e
         0: .line 116
            aload 0 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            ldc "codegen.output."
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 0 // java.util.Map$Entry e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;

  private void lambda$11(java.util.Collection, java.util.Map, java.util.Map$Entry);
    descriptor: (Ljava/util/Collection;Ljava/util/Map;Ljava/util/Map$Entry;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=11, args_size=4
        start local 0 // io.vertx.codegen.CodeGenProcessor this
        start local 3 // java.util.Map$Entry entry
         0: .line 139
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.vertx.codegen.Model
            astore 4 /* model */
        start local 4 // io.vertx.codegen.Model model
         1: .line 140
            aload 1
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 34
      StackMap locals: io.vertx.codegen.CodeGenProcessor java.util.Collection java.util.Map java.util.Map$Entry io.vertx.codegen.Model top java.util.Iterator
      StackMap stack:
         2: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.codegen.Generator
            astore 5 /* codeGenerator */
        start local 5 // io.vertx.codegen.Generator codeGenerator
         3: .line 141
            aload 5 /* codeGenerator */
            getfield io.vertx.codegen.Generator.kinds:Ljava/util/Set;
            aload 4 /* model */
            invokeinterface io.vertx.codegen.Model.getKind:()Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 34
         4: .line 142
            aload 5 /* codeGenerator */
            aload 4 /* model */
            invokevirtual io.vertx.codegen.Generator.filename:(Lio/vertx/codegen/Model;)Ljava/lang/String;
            astore 7 /* relativeName */
        start local 7 // java.lang.String relativeName
         5: .line 143
            aload 7 /* relativeName */
            ifnull 34
         6: .line 145
            aload 7 /* relativeName */
            ldc ".java"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 16
            aload 7 /* relativeName */
            ldc "/"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 16
         7: .line 146
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.relocations:Ljava/util/Map;
            aload 5 /* codeGenerator */
            getfield io.vertx.codegen.Generator.name:Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* relocation */
        start local 9 // java.lang.String relocation
         8: .line 147
            aload 9 /* relocation */
            ifnull 14
         9: .line 148
            iconst_2
            istore 8 /* kind */
        start local 8 // int kind
        10: .line 149
            new java.lang.StringBuilder
            dup
            aload 9 /* relocation */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        11: .line 150
            aload 7 /* relativeName */
            iconst_0
            aload 7 /* relativeName */
            invokevirtual java.lang.String.length:()I
            ldc ".java"
            invokevirtual java.lang.String.length:()I
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".java"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 149
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* relativeName */
        13: .line 151
            goto 20
        end local 8 // int kind
        14: .line 152
      StackMap locals: io.vertx.codegen.CodeGenProcessor java.util.Collection java.util.Map java.util.Map$Entry io.vertx.codegen.Model io.vertx.codegen.Generator java.util.Iterator java.lang.String top java.lang.String
      StackMap stack:
            iconst_0
            istore 8 /* kind */
        end local 9 // java.lang.String relocation
        start local 8 // int kind
        15: .line 154
            goto 20
        end local 8 // int kind
      StackMap locals: io.vertx.codegen.CodeGenProcessor java.util.Collection java.util.Map java.util.Map$Entry io.vertx.codegen.Model io.vertx.codegen.Generator java.util.Iterator java.lang.String
      StackMap stack:
        16: aload 7 /* relativeName */
            ldc "resources/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 19
        17: .line 155
            iconst_1
            istore 8 /* kind */
        start local 8 // int kind
        18: .line 156
            goto 20
        end local 8 // int kind
        19: .line 157
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 8 /* kind */
        start local 8 // int kind
        20: .line 159
      StackMap locals: int
      StackMap stack:
            iload 8 /* kind */
            ifne 27
        21: .line 161
            aload 7 /* relativeName */
            iconst_0
            aload 7 /* relativeName */
            invokevirtual java.lang.String.length:()I
            ldc ".java"
            invokevirtual java.lang.String.length:()I
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* fqn */
        start local 9 // java.lang.String fqn
        22: .line 163
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getElementUtils:()Ljavax/lang/model/util/Elements;
            aload 9 /* fqn */
            invokeinterface javax.lang.model.util.Elements.getTypeElement:(Ljava/lang/CharSequence;)Ljavax/lang/model/element/TypeElement;
            ifnull 24
        23: .line 164
            goto 34
        24: .line 166
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2
            aload 9 /* fqn */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/vertx/codegen/CodeGenProcessor$GeneratedFile.<init>(Ljava/lang/String;)V (8)
                  (Ljava/lang/String;)Lio/vertx/codegen/CodeGenProcessor$GeneratedFile;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.List
            astore 10 /* processings */
        start local 10 // java.util.List processings
        25: .line 167
            aload 10 /* processings */
            new io.vertx.codegen.CodeGenProcessor$ModelProcessing
            dup
            aload 4 /* model */
            aload 5 /* codeGenerator */
            invokespecial io.vertx.codegen.CodeGenProcessor$ModelProcessing.<init>:(Lio/vertx/codegen/Model;Lio/vertx/codegen/Generator;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // java.util.List processings
        end local 9 // java.lang.String fqn
        26: .line 168
            goto 34
      StackMap locals:
      StackMap stack:
        27: iload 8 /* kind */
            iconst_1
            if_icmpne 32
        28: .line 169
            aload 7 /* relativeName */
            ldc "resources/"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 7 /* relativeName */
        29: .line 170
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.generatedResources:Ljava/util/Map;
            aload 7 /* relativeName */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/vertx/codegen/CodeGenProcessor$GeneratedFile.<init>(Ljava/lang/String;)V (8)
                  (Ljava/lang/String;)Lio/vertx/codegen/CodeGenProcessor$GeneratedFile;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.List
            astore 9 /* processings */
        start local 9 // java.util.List processings
        30: .line 171
            aload 9 /* processings */
            new io.vertx.codegen.CodeGenProcessor$ModelProcessing
            dup
            aload 4 /* model */
            aload 5 /* codeGenerator */
            invokespecial io.vertx.codegen.CodeGenProcessor$ModelProcessing.<init>:(Lio/vertx/codegen/Model;Lio/vertx/codegen/Generator;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // java.util.List processings
        31: .line 172
            goto 34
        32: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.generatedFiles:Ljava/util/Map;
            aload 7 /* relativeName */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/vertx/codegen/CodeGenProcessor$GeneratedFile.<init>(Ljava/lang/String;)V (8)
                  (Ljava/lang/String;)Lio/vertx/codegen/CodeGenProcessor$GeneratedFile;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.List
            astore 9 /* processings */
        start local 9 // java.util.List processings
        33: .line 174
            aload 9 /* processings */
            new io.vertx.codegen.CodeGenProcessor$ModelProcessing
            dup
            aload 4 /* model */
            aload 5 /* codeGenerator */
            invokespecial io.vertx.codegen.CodeGenProcessor$ModelProcessing.<init>:(Lio/vertx/codegen/Model;Lio/vertx/codegen/Generator;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // java.util.List processings
        end local 8 // int kind
        end local 7 // java.lang.String relativeName
        end local 5 // io.vertx.codegen.Generator codeGenerator
        34: .line 140
      StackMap locals: io.vertx.codegen.CodeGenProcessor java.util.Collection java.util.Map java.util.Map$Entry io.vertx.codegen.Model top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        end local 4 // io.vertx.codegen.Model model
        35: .line 179
            goto 41
      StackMap locals: io.vertx.codegen.CodeGenProcessor java.util.Collection java.util.Map java.util.Map$Entry
      StackMap stack: io.vertx.codegen.GenException
        36: astore 4 /* e */
        start local 4 // io.vertx.codegen.GenException e
        37: .line 180
            aload 0 /* this */
            aload 4 /* e */
            invokevirtual io.vertx.codegen.CodeGenProcessor.reportGenException:(Lio/vertx/codegen/GenException;)V
        end local 4 // io.vertx.codegen.GenException e
        38: goto 41
        39: .line 181
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
        40: .line 182
            aload 0 /* this */
            aload 4 /* e */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast javax.lang.model.element.Element
            invokevirtual io.vertx.codegen.CodeGenProcessor.reportException:(Ljava/lang/Exception;Ljavax/lang/model/element/Element;)V
        end local 4 // java.lang.Exception e
        41: .line 184
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.Map$Entry entry
        end local 0 // io.vertx.codegen.CodeGenProcessor this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   42     0           this  Lio/vertx/codegen/CodeGenProcessor;
            0   42     3          entry  Ljava/util/Map$Entry<+Ljavax/lang/model/element/Element;+Lio/vertx/codegen/Model;>;
            1   35     4          model  Lio/vertx/codegen/Model;
            3   34     5  codeGenerator  Lio/vertx/codegen/Generator;
            5   34     7   relativeName  Ljava/lang/String;
           10   14     8           kind  I
           15   16     8           kind  I
           18   19     8           kind  I
           20   34     8           kind  I
            8   15     9     relocation  Ljava/lang/String;
           22   26     9            fqn  Ljava/lang/String;
           25   26    10    processings  Ljava/util/List<Lio/vertx/codegen/CodeGenProcessor$ModelProcessing;>;
           30   31     9    processings  Ljava/util/List<Lio/vertx/codegen/CodeGenProcessor$ModelProcessing;>;
           33   34     9    processings  Ljava/util/List<Lio/vertx/codegen/CodeGenProcessor$ModelProcessing;>;
           37   38     4              e  Lio/vertx/codegen/GenException;
           40   41     4              e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0    35      36  Class io.vertx.codegen.GenException
           0    35      39  Class java.lang.Exception

  private void lambda$15(io.vertx.codegen.CodeGenProcessor$GeneratedFile);
    descriptor: (Lio/vertx/codegen/CodeGenProcessor$GeneratedFile;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // io.vertx.codegen.CodeGenProcessor this
        start local 1 // io.vertx.codegen.CodeGenProcessor$GeneratedFile generated
         0: .line 190
            aload 1 /* generated */
            invokevirtual io.vertx.codegen.CodeGenProcessor$GeneratedFile.generate:()Ljava/lang/String;
            astore 2 /* content */
        start local 2 // java.lang.String content
         1: .line 191
            aload 2 /* content */
            invokevirtual java.lang.String.length:()I
            ifle 19
         2: .line 192
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getFiler:()Ljavax/annotation/processing/Filer;
            aload 1 /* generated */
            getfield io.vertx.codegen.CodeGenProcessor$GeneratedFile.uri:Ljava/lang/String;
            iconst_0
            anewarray javax.lang.model.element.Element
            invokeinterface javax.annotation.processing.Filer.createSourceFile:(Ljava/lang/CharSequence;[Ljavax/lang/model/element/Element;)Ljavax/tools/JavaFileObject;
            astore 3 /* target */
        start local 3 // javax.tools.JavaFileObject target
         3: .line 193
            aconst_null
            astore 4
            aconst_null
            astore 5
         4: aload 3 /* target */
            invokeinterface javax.tools.JavaFileObject.openWriter:()Ljava/io/Writer;
            astore 6 /* writer */
        start local 6 // java.io.Writer writer
         5: .line 194
            aload 6 /* writer */
            aload 2 /* content */
            invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
         6: .line 195
            aload 6 /* writer */
            ifnull 12
            aload 6 /* writer */
            invokevirtual java.io.Writer.close:()V
            goto 12
      StackMap locals: io.vertx.codegen.CodeGenProcessor io.vertx.codegen.CodeGenProcessor$GeneratedFile java.lang.String javax.tools.JavaFileObject java.lang.Throwable java.lang.Throwable java.io.Writer
      StackMap stack: java.lang.Throwable
         7: astore 4
            aload 6 /* writer */
            ifnull 8
            aload 6 /* writer */
            invokevirtual java.io.Writer.close:()V
        end local 6 // java.io.Writer writer
      StackMap locals:
      StackMap stack:
         8: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 5
            aload 4
            ifnonnull 10
            aload 5
            astore 4
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 4
            aload 5
            if_acmpeq 11
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        11: aload 4
            athrow
        12: .line 196
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.codegen.CodeGenProcessor.log:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Generated model "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* generated */
            iconst_0
            invokevirtual io.vertx.codegen.CodeGenProcessor$GeneratedFile.get:(I)Ljava/lang/Object;
            checkcast io.vertx.codegen.CodeGenProcessor$ModelProcessing
            getfield io.vertx.codegen.CodeGenProcessor$ModelProcessing.model:Lio/vertx/codegen/Model;
            invokeinterface io.vertx.codegen.Model.getFqn:()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;
            aload 1 /* generated */
            getfield io.vertx.codegen.CodeGenProcessor$GeneratedFile.uri:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.info:(Ljava/lang/String;)V
        end local 3 // javax.tools.JavaFileObject target
        end local 2 // java.lang.String content
        13: .line 198
            goto 19
      StackMap locals: io.vertx.codegen.CodeGenProcessor io.vertx.codegen.CodeGenProcessor$GeneratedFile
      StackMap stack: io.vertx.codegen.GenException
        14: astore 2 /* e */
        start local 2 // io.vertx.codegen.GenException e
        15: .line 199
            aload 0 /* this */
            aload 2 /* e */
            invokevirtual io.vertx.codegen.CodeGenProcessor.reportGenException:(Lio/vertx/codegen/GenException;)V
        end local 2 // io.vertx.codegen.GenException e
        16: goto 19
        17: .line 200
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
        18: .line 201
            aload 0 /* this */
            aload 2 /* e */
            aload 1 /* generated */
            iconst_0
            invokevirtual io.vertx.codegen.CodeGenProcessor$GeneratedFile.get:(I)Ljava/lang/Object;
            checkcast io.vertx.codegen.CodeGenProcessor$ModelProcessing
            getfield io.vertx.codegen.CodeGenProcessor$ModelProcessing.model:Lio/vertx/codegen/Model;
            invokeinterface io.vertx.codegen.Model.getElement:()Ljavax/lang/model/element/Element;
            invokevirtual io.vertx.codegen.CodeGenProcessor.reportException:(Ljava/lang/Exception;Ljavax/lang/model/element/Element;)V
        end local 2 // java.lang.Exception e
        19: .line 203
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.codegen.CodeGenProcessor$GeneratedFile generated
        end local 0 // io.vertx.codegen.CodeGenProcessor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0       this  Lio/vertx/codegen/CodeGenProcessor;
            0   20     1  generated  Lio/vertx/codegen/CodeGenProcessor$GeneratedFile;
            1   13     2    content  Ljava/lang/String;
            3   13     3     target  Ljavax/tools/JavaFileObject;
            5    8     6     writer  Ljava/io/Writer;
           15   16     2          e  Lio/vertx/codegen/GenException;
           18   19     2          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           5     6       7  any
           4     9       9  any
           0    13      14  Class io.vertx.codegen.GenException
           0    13      17  Class java.lang.Exception

  private void lambda$16(io.vertx.codegen.CodeGenProcessor$GeneratedFile);
    descriptor: (Lio/vertx/codegen/CodeGenProcessor$GeneratedFile;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // io.vertx.codegen.CodeGenProcessor this
        start local 1 // io.vertx.codegen.CodeGenProcessor$GeneratedFile generated
         0: .line 242
            aload 1 /* generated */
            getfield io.vertx.codegen.CodeGenProcessor$GeneratedFile.uri:Ljava/lang/String;
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
         1: .line 243
            new java.io.File
            dup
            aload 1 /* generated */
            getfield io.vertx.codegen.CodeGenProcessor$GeneratedFile.uri:Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 2 /* file */
        start local 2 // java.io.File file
         2: .line 244
            goto 7
        end local 2 // java.io.File file
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.outputDirectory:Ljava/io/File;
            ifnull 6
         4: .line 245
            new java.io.File
            dup
            aload 0 /* this */
            getfield io.vertx.codegen.CodeGenProcessor.outputDirectory:Ljava/io/File;
            aload 1 /* generated */
            getfield io.vertx.codegen.CodeGenProcessor$GeneratedFile.uri:Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 2 /* file */
        start local 2 // java.io.File file
         5: .line 246
            goto 7
        end local 2 // java.io.File file
         6: .line 247
      StackMap locals:
      StackMap stack:
            return
        start local 2 // java.io.File file
         7: .line 249
      StackMap locals: java.io.File
      StackMap stack:
            aload 2 /* file */
            invokestatic io.vertx.codegen.Helper.ensureParentDir:(Ljava/io/File;)V
         8: .line 250
            aload 1 /* generated */
            invokevirtual io.vertx.codegen.CodeGenProcessor$GeneratedFile.generate:()Ljava/lang/String;
            astore 3 /* content */
        start local 3 // java.lang.String content
         9: .line 251
            aload 3 /* content */
            invokevirtual java.lang.String.length:()I
            ifle 25
        10: .line 252
            aconst_null
            astore 4
            aconst_null
            astore 5
        11: new java.io.FileWriter
            dup
            aload 2 /* file */
            invokespecial java.io.FileWriter.<init>:(Ljava/io/File;)V
            astore 6 /* fileWriter */
        start local 6 // java.io.FileWriter fileWriter
        12: .line 253
            aload 6 /* fileWriter */
            aload 3 /* content */
            invokevirtual java.io.FileWriter.write:(Ljava/lang/String;)V
        13: .line 254
            aload 6 /* fileWriter */
            ifnull 24
            aload 6 /* fileWriter */
            invokevirtual java.io.FileWriter.close:()V
            goto 24
      StackMap locals: io.vertx.codegen.CodeGenProcessor io.vertx.codegen.CodeGenProcessor$GeneratedFile java.io.File java.lang.String java.lang.Throwable java.lang.Throwable java.io.FileWriter
      StackMap stack: java.lang.Throwable
        14: astore 4
            aload 6 /* fileWriter */
            ifnull 15
            aload 6 /* fileWriter */
            invokevirtual java.io.FileWriter.close:()V
        end local 6 // java.io.FileWriter fileWriter
      StackMap locals:
      StackMap stack:
        15: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: astore 5
            aload 4
            ifnonnull 17
            aload 5
            astore 4
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 4
            aload 5
            if_acmpeq 18
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        18: aload 4
            athrow
      StackMap locals: io.vertx.codegen.CodeGenProcessor io.vertx.codegen.CodeGenProcessor$GeneratedFile java.io.File java.lang.String
      StackMap stack: io.vertx.codegen.GenException
        19: astore 4 /* e */
        start local 4 // io.vertx.codegen.GenException e
        20: .line 255
            aload 0 /* this */
            aload 4 /* e */
            invokevirtual io.vertx.codegen.CodeGenProcessor.reportGenException:(Lio/vertx/codegen/GenException;)V
        end local 4 // io.vertx.codegen.GenException e
        21: goto 24
        22: .line 256
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
        23: .line 257
            aload 0 /* this */
            aload 4 /* e */
            aload 1 /* generated */
            iconst_0
            invokevirtual io.vertx.codegen.CodeGenProcessor$GeneratedFile.get:(I)Ljava/lang/Object;
            checkcast io.vertx.codegen.CodeGenProcessor$ModelProcessing
            getfield io.vertx.codegen.CodeGenProcessor$ModelProcessing.model:Lio/vertx/codegen/Model;
            invokeinterface io.vertx.codegen.Model.getElement:()Ljavax/lang/model/element/Element;
            invokevirtual io.vertx.codegen.CodeGenProcessor.reportException:(Ljava/lang/Exception;Ljavax/lang/model/element/Element;)V
        end local 4 // java.lang.Exception e
        24: .line 259
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.codegen.CodeGenProcessor.log:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Generated model "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* generated */
            iconst_0
            invokevirtual io.vertx.codegen.CodeGenProcessor$GeneratedFile.get:(I)Ljava/lang/Object;
            checkcast io.vertx.codegen.CodeGenProcessor$ModelProcessing
            getfield io.vertx.codegen.CodeGenProcessor$ModelProcessing.model:Lio/vertx/codegen/Model;
            invokeinterface io.vertx.codegen.Model.getFqn:()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;
            aload 1 /* generated */
            getfield io.vertx.codegen.CodeGenProcessor$GeneratedFile.uri:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.info:(Ljava/lang/String;)V
        end local 3 // java.lang.String content
        end local 2 // java.io.File file
        25: .line 261
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.codegen.CodeGenProcessor$GeneratedFile generated
        end local 0 // io.vertx.codegen.CodeGenProcessor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   26     0        this  Lio/vertx/codegen/CodeGenProcessor;
            0   26     1   generated  Lio/vertx/codegen/CodeGenProcessor$GeneratedFile;
            2    3     2        file  Ljava/io/File;
            5    6     2        file  Ljava/io/File;
            7   25     2        file  Ljava/io/File;
            9   25     3     content  Ljava/lang/String;
           12   15     6  fileWriter  Ljava/io/FileWriter;
           20   21     4           e  Lio/vertx/codegen/GenException;
           23   24     4           e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          12    13      14  any
          11    16      16  any
          10    19      19  Class io.vertx.codegen.GenException
          10    19      22  Class java.lang.Exception

  private static boolean lambda$5(io.vertx.codegen.Generator, java.util.regex.Pattern);
    descriptor: (Lio/vertx/codegen/Generator;Ljava/util/regex/Pattern;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.util.regex.Pattern p
         0: .line 73
            aload 1 /* p */
            aload 0
            getfield io.vertx.codegen.Generator.name:Ljava/lang/String;
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            invokevirtual java.util.regex.Matcher.matches:()Z
            ireturn
        end local 1 // java.util.regex.Pattern p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     p  Ljava/util/regex/Pattern;
}
SourceFile: "CodeGenProcessor.java"
NestMembers:
  io.vertx.codegen.CodeGenProcessor$GeneratedFile  io.vertx.codegen.CodeGenProcessor$ModelProcessing
InnerClasses:
  private GeneratedFile = io.vertx.codegen.CodeGenProcessor$GeneratedFile of io.vertx.codegen.CodeGenProcessor
  private ModelProcessing = io.vertx.codegen.CodeGenProcessor$ModelProcessing of io.vertx.codegen.CodeGenProcessor
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public final Kind = javax.tools.Diagnostic$Kind of javax.tools.Diagnostic
  public abstract Location = javax.tools.JavaFileManager$Location of javax.tools.JavaFileManager
    RuntimeVisibleAnnotations: 
      javax.annotation.processing.SupportedOptions(value = {"codegen.output", "codegen.generators"})
      javax.annotation.processing.SupportedSourceVersion(value = javax.lang.model.SourceVersion.RELEASE_8:Ljavax/lang/model/SourceVersion;)