public class io.vertx.codegen.generators.mvel.MvelCodeGeneratorLoader implements io.vertx.codegen.GeneratorLoader
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.codegen.generators.mvel.MvelCodeGeneratorLoader
  super_class: java.lang.Object
{
  private static final com.fasterxml.jackson.databind.ObjectMapper mapper;
    descriptor: Lcom/fasterxml/jackson/databind/ObjectMapper;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 19
            new com.fasterxml.jackson.databind.ObjectMapper
            dup
            invokespecial com.fasterxml.jackson.databind.ObjectMapper.<init>:()V
            putstatic io.vertx.codegen.generators.mvel.MvelCodeGeneratorLoader.mapper:Lcom/fasterxml/jackson/databind/ObjectMapper;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.codegen.generators.mvel.MvelCodeGeneratorLoader this
         0: .line 17
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.vertx.codegen.generators.mvel.MvelCodeGeneratorLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/codegen/generators/mvel/MvelCodeGeneratorLoader;

  public java.util.stream.Stream<io.vertx.codegen.Generator<?>> loadGenerators(javax.annotation.processing.ProcessingEnvironment);
    descriptor: (Ljavax/annotation/processing/ProcessingEnvironment;)Ljava/util/stream/Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=22, args_size=2
        start local 0 // io.vertx.codegen.generators.mvel.MvelCodeGeneratorLoader this
        start local 1 // javax.annotation.processing.ProcessingEnvironment processingEnv
         0: .line 23
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* generators */
        start local 2 // java.util.List generators
         1: .line 24
            invokestatic java.util.Collections.emptyEnumeration:()Ljava/util/Enumeration;
            astore 3 /* descriptors */
        start local 3 // java.util.Enumeration descriptors
         2: .line 26
            ldc Lio/vertx/codegen/CodeGenProcessor;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            ldc "codegen.json"
            invokevirtual java.lang.ClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
            astore 3 /* descriptors */
         3: .line 27
            goto 6
      StackMap locals: io.vertx.codegen.generators.mvel.MvelCodeGeneratorLoader javax.annotation.processing.ProcessingEnvironment java.util.List java.util.Enumeration
      StackMap stack: java.io.IOException
         4: pop
         5: .line 28
            aload 1 /* processingEnv */
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.WARNING:Ljavax/tools/Diagnostic$Kind;
            ldc "Could not load code generator descriptors"
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;)V
         6: .line 30
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* templates */
        start local 4 // java.util.Set templates
         7: .line 31
            goto 53
         8: .line 32
      StackMap locals: java.util.Set
      StackMap stack:
            aload 3 /* descriptors */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.net.URL
            astore 5 /* descriptor */
        start local 5 // java.net.URL descriptor
         9: .line 33
            aconst_null
            astore 6
            aconst_null
            astore 7
        10: new java.util.Scanner
            dup
            aload 5 /* descriptor */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            ldc "UTF-8"
            invokespecial java.util.Scanner.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            ldc "\\A"
            invokevirtual java.util.Scanner.useDelimiter:(Ljava/lang/String;)Ljava/util/Scanner;
            astore 8 /* scanner */
        start local 8 // java.util.Scanner scanner
        11: .line 34
            aload 8 /* scanner */
            invokevirtual java.util.Scanner.next:()Ljava/lang/String;
            astore 9 /* s */
        start local 9 // java.lang.String s
        12: .line 35
            getstatic io.vertx.codegen.generators.mvel.MvelCodeGeneratorLoader.mapper:Lcom/fasterxml/jackson/databind/ObjectMapper;
            aload 9 /* s */
            invokevirtual com.fasterxml.jackson.databind.ObjectMapper.readTree:(Ljava/lang/String;)Lcom/fasterxml/jackson/databind/JsonNode;
            checkcast com.fasterxml.jackson.databind.node.ObjectNode
            astore 10 /* obj */
        start local 10 // com.fasterxml.jackson.databind.node.ObjectNode obj
        13: .line 36
            aload 10 /* obj */
            ldc "name"
            invokevirtual com.fasterxml.jackson.databind.node.ObjectNode.get:(Ljava/lang/String;)Lcom/fasterxml/jackson/databind/JsonNode;
            invokevirtual com.fasterxml.jackson.databind.JsonNode.asText:()Ljava/lang/String;
            astore 11 /* name */
        start local 11 // java.lang.String name
        14: .line 37
            aload 10 /* obj */
            ldc "generators"
            invokevirtual com.fasterxml.jackson.databind.node.ObjectNode.get:(Ljava/lang/String;)Lcom/fasterxml/jackson/databind/JsonNode;
            checkcast com.fasterxml.jackson.databind.node.ArrayNode
            astore 12 /* generatorsCfg */
        start local 12 // com.fasterxml.jackson.databind.node.ArrayNode generatorsCfg
        15: .line 38
            aload 12 /* generatorsCfg */
            invokevirtual com.fasterxml.jackson.databind.node.ArrayNode.iterator:()Ljava/util/Iterator;
            astore 14
            goto 42
      StackMap locals: io.vertx.codegen.generators.mvel.MvelCodeGeneratorLoader javax.annotation.processing.ProcessingEnvironment java.util.List java.util.Enumeration java.util.Set java.net.URL java.lang.Throwable java.lang.Throwable java.util.Scanner java.lang.String com.fasterxml.jackson.databind.node.ObjectNode java.lang.String com.fasterxml.jackson.databind.node.ArrayNode top java.util.Iterator
      StackMap stack:
        16: aload 14
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.fasterxml.jackson.databind.JsonNode
            astore 13 /* generator */
        start local 13 // com.fasterxml.jackson.databind.JsonNode generator
        17: .line 39
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 15 /* kinds */
        start local 15 // java.util.Set kinds
        18: .line 40
            aload 13 /* generator */
            ldc "kind"
            invokevirtual com.fasterxml.jackson.databind.JsonNode.get:(Ljava/lang/String;)Lcom/fasterxml/jackson/databind/JsonNode;
            invokevirtual com.fasterxml.jackson.databind.JsonNode.isArray:()Z
            ifeq 21
        19: .line 41
            aload 13 /* generator */
            ldc "kind"
            invokevirtual com.fasterxml.jackson.databind.JsonNode.get:(Ljava/lang/String;)Lcom/fasterxml/jackson/databind/JsonNode;
            aload 15 /* kinds */
            invokedynamic accept(Ljava/util/Set;)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/generators/mvel/MvelCodeGeneratorLoader.lambda$0(Ljava/util/Set;Lcom/fasterxml/jackson/databind/JsonNode;)V (6)
                  (Lcom/fasterxml/jackson/databind/JsonNode;)V
            invokevirtual com.fasterxml.jackson.databind.JsonNode.forEach:(Ljava/util/function/Consumer;)V
        20: .line 42
            goto 22
        21: .line 44
      StackMap locals: io.vertx.codegen.generators.mvel.MvelCodeGeneratorLoader javax.annotation.processing.ProcessingEnvironment java.util.List java.util.Enumeration java.util.Set java.net.URL java.lang.Throwable java.lang.Throwable java.util.Scanner java.lang.String com.fasterxml.jackson.databind.node.ObjectNode java.lang.String com.fasterxml.jackson.databind.node.ArrayNode com.fasterxml.jackson.databind.JsonNode java.util.Iterator java.util.Set
      StackMap stack:
            aload 15 /* kinds */
            aload 13 /* generator */
            ldc "kind"
            invokevirtual com.fasterxml.jackson.databind.JsonNode.get:(Ljava/lang/String;)Lcom/fasterxml/jackson/databind/JsonNode;
            invokevirtual com.fasterxml.jackson.databind.JsonNode.asText:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        22: .line 46
      StackMap locals:
      StackMap stack:
            aload 13 /* generator */
            ldc "templateFilename"
            invokevirtual com.fasterxml.jackson.databind.JsonNode.get:(Ljava/lang/String;)Lcom/fasterxml/jackson/databind/JsonNode;
            astore 16 /* templateFilenameNode */
        start local 16 // com.fasterxml.jackson.databind.JsonNode templateFilenameNode
        23: .line 47
            aload 16 /* templateFilenameNode */
            ifnonnull 25
        24: .line 48
            aload 13 /* generator */
            ldc "templateFileName"
            invokevirtual com.fasterxml.jackson.databind.JsonNode.get:(Ljava/lang/String;)Lcom/fasterxml/jackson/databind/JsonNode;
            astore 16 /* templateFilenameNode */
        25: .line 50
      StackMap locals: com.fasterxml.jackson.databind.JsonNode
      StackMap stack:
            aload 16 /* templateFilenameNode */
            invokevirtual com.fasterxml.jackson.databind.JsonNode.asText:()Ljava/lang/String;
            astore 17 /* templateFilename */
        start local 17 // java.lang.String templateFilename
        26: .line 51
            aload 13 /* generator */
            ldc "filename"
            invokevirtual com.fasterxml.jackson.databind.JsonNode.get:(Ljava/lang/String;)Lcom/fasterxml/jackson/databind/JsonNode;
            astore 18 /* filenameNode */
        start local 18 // com.fasterxml.jackson.databind.JsonNode filenameNode
        27: .line 52
            aload 18 /* filenameNode */
            ifnonnull 29
        28: .line 53
            aload 13 /* generator */
            ldc "fileName"
            invokevirtual com.fasterxml.jackson.databind.JsonNode.get:(Ljava/lang/String;)Lcom/fasterxml/jackson/databind/JsonNode;
            astore 18 /* filenameNode */
        29: .line 55
      StackMap locals: java.lang.String com.fasterxml.jackson.databind.JsonNode
      StackMap stack:
            aload 18 /* filenameNode */
            invokevirtual com.fasterxml.jackson.databind.JsonNode.asText:()Ljava/lang/String;
            astore 19 /* filename */
        start local 19 // java.lang.String filename
        30: .line 56
            aload 13 /* generator */
            ldc "incremental"
            invokevirtual com.fasterxml.jackson.databind.JsonNode.has:(Ljava/lang/String;)Z
            ifeq 31
            aload 13 /* generator */
            ldc "incremental"
            invokevirtual com.fasterxml.jackson.databind.JsonNode.get:(Ljava/lang/String;)Lcom/fasterxml/jackson/databind/JsonNode;
            invokevirtual com.fasterxml.jackson.databind.JsonNode.asBoolean:()Z
            ifeq 31
            iconst_1
            goto 32
      StackMap locals: java.lang.String
      StackMap stack:
        31: iconst_0
      StackMap locals:
      StackMap stack: int
        32: istore 20 /* incremental */
        start local 20 // boolean incremental
        33: .line 57
            aload 4 /* templates */
            aload 17 /* templateFilename */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 42
        34: .line 58
            aload 4 /* templates */
            aload 17 /* templateFilename */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        35: .line 59
            new io.vertx.codegen.generators.mvel.MvelCodeGenerator
            dup
            invokespecial io.vertx.codegen.generators.mvel.MvelCodeGenerator.<init>:()V
            astore 21 /* gen */
        start local 21 // io.vertx.codegen.generators.mvel.MvelCodeGenerator gen
        36: .line 60
            aload 21 /* gen */
            aload 11 /* name */
            putfield io.vertx.codegen.generators.mvel.MvelCodeGenerator.name:Ljava/lang/String;
        37: .line 61
            aload 21 /* gen */
            aload 15 /* kinds */
            putfield io.vertx.codegen.generators.mvel.MvelCodeGenerator.kinds:Ljava/util/Set;
        38: .line 62
            aload 21 /* gen */
            iload 20 /* incremental */
            putfield io.vertx.codegen.generators.mvel.MvelCodeGenerator.incremental:Z
        39: .line 63
            aload 21 /* gen */
            aload 19 /* filename */
            putfield io.vertx.codegen.generators.mvel.MvelCodeGenerator.filename:Ljava/lang/String;
        40: .line 64
            aload 21 /* gen */
            aload 17 /* templateFilename */
            putfield io.vertx.codegen.generators.mvel.MvelCodeGenerator.templateFilename:Ljava/lang/String;
        41: .line 65
            aload 2 /* generators */
            aload 21 /* gen */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 21 // io.vertx.codegen.generators.mvel.MvelCodeGenerator gen
        end local 20 // boolean incremental
        end local 19 // java.lang.String filename
        end local 18 // com.fasterxml.jackson.databind.JsonNode filenameNode
        end local 17 // java.lang.String templateFilename
        end local 16 // com.fasterxml.jackson.databind.JsonNode templateFilenameNode
        end local 15 // java.util.Set kinds
        end local 13 // com.fasterxml.jackson.databind.JsonNode generator
        42: .line 38
      StackMap locals: io.vertx.codegen.generators.mvel.MvelCodeGeneratorLoader javax.annotation.processing.ProcessingEnvironment java.util.List java.util.Enumeration java.util.Set java.net.URL java.lang.Throwable java.lang.Throwable java.util.Scanner java.lang.String com.fasterxml.jackson.databind.node.ObjectNode java.lang.String com.fasterxml.jackson.databind.node.ArrayNode top java.util.Iterator
      StackMap stack:
            aload 14
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        end local 12 // com.fasterxml.jackson.databind.node.ArrayNode generatorsCfg
        end local 11 // java.lang.String name
        end local 10 // com.fasterxml.jackson.databind.node.ObjectNode obj
        end local 9 // java.lang.String s
        43: .line 68
            aload 8 /* scanner */
            ifnull 53
            aload 8 /* scanner */
            invokevirtual java.util.Scanner.close:()V
            goto 53
      StackMap locals: io.vertx.codegen.generators.mvel.MvelCodeGeneratorLoader javax.annotation.processing.ProcessingEnvironment java.util.List java.util.Enumeration java.util.Set java.net.URL java.lang.Throwable java.lang.Throwable java.util.Scanner
      StackMap stack: java.lang.Throwable
        44: astore 6
            aload 8 /* scanner */
            ifnull 45
            aload 8 /* scanner */
            invokevirtual java.util.Scanner.close:()V
        end local 8 // java.util.Scanner scanner
      StackMap locals:
      StackMap stack:
        45: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        46: astore 7
            aload 6
            ifnonnull 47
            aload 7
            astore 6
            goto 48
      StackMap locals:
      StackMap stack:
        47: aload 6
            aload 7
            if_acmpeq 48
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        48: aload 6
            athrow
      StackMap locals: io.vertx.codegen.generators.mvel.MvelCodeGeneratorLoader javax.annotation.processing.ProcessingEnvironment java.util.List java.util.Enumeration java.util.Set java.net.URL
      StackMap stack: java.lang.Exception
        49: astore 6 /* e */
        start local 6 // java.lang.Exception e
        50: .line 69
            new java.lang.StringBuilder
            dup
            ldc "Could not load code generator "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* descriptor */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* msg */
        start local 7 // java.lang.String msg
        51: .line 70
            getstatic io.vertx.codegen.CodeGenProcessor.log:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            aload 7 /* msg */
            aload 6 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        52: .line 71
            aload 1 /* processingEnv */
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            aload 7 /* msg */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;)V
        end local 7 // java.lang.String msg
        end local 6 // java.lang.Exception e
        end local 5 // java.net.URL descriptor
        53: .line 31
      StackMap locals:
      StackMap stack:
            aload 3 /* descriptors */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 8
        54: .line 74
            aload 2 /* generators */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            areturn
        end local 4 // java.util.Set templates
        end local 3 // java.util.Enumeration descriptors
        end local 2 // java.util.List generators
        end local 1 // javax.annotation.processing.ProcessingEnvironment processingEnv
        end local 0 // io.vertx.codegen.generators.mvel.MvelCodeGeneratorLoader this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   55     0                  this  Lio/vertx/codegen/generators/mvel/MvelCodeGeneratorLoader;
            0   55     1         processingEnv  Ljavax/annotation/processing/ProcessingEnvironment;
            1   55     2            generators  Ljava/util/List<Lio/vertx/codegen/Generator<*>;>;
            2   55     3           descriptors  Ljava/util/Enumeration<Ljava/net/URL;>;
            7   55     4             templates  Ljava/util/Set<Ljava/lang/String;>;
            9   53     5            descriptor  Ljava/net/URL;
           11   45     8               scanner  Ljava/util/Scanner;
           12   43     9                     s  Ljava/lang/String;
           13   43    10                   obj  Lcom/fasterxml/jackson/databind/node/ObjectNode;
           14   43    11                  name  Ljava/lang/String;
           15   43    12         generatorsCfg  Lcom/fasterxml/jackson/databind/node/ArrayNode;
           17   42    13             generator  Lcom/fasterxml/jackson/databind/JsonNode;
           18   42    15                 kinds  Ljava/util/Set<Ljava/lang/String;>;
           23   42    16  templateFilenameNode  Lcom/fasterxml/jackson/databind/JsonNode;
           26   42    17      templateFilename  Ljava/lang/String;
           27   42    18          filenameNode  Lcom/fasterxml/jackson/databind/JsonNode;
           30   42    19              filename  Ljava/lang/String;
           33   42    20           incremental  Z
           36   42    21                   gen  Lio/vertx/codegen/generators/mvel/MvelCodeGenerator;
           50   53     6                     e  Ljava/lang/Exception;
           51   53     7                   msg  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     3       4  Class java.io.IOException
          11    43      44  any
          10    46      46  any
           9    49      49  Class java.lang.Exception
    Signature: (Ljavax/annotation/processing/ProcessingEnvironment;)Ljava/util/stream/Stream<Lio/vertx/codegen/Generator<*>;>;
    MethodParameters:
               Name  Flags
      processingEnv  

  private static void lambda$0(java.util.Set, com.fasterxml.jackson.databind.JsonNode);
    descriptor: (Ljava/util/Set;Lcom/fasterxml/jackson/databind/JsonNode;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.fasterxml.jackson.databind.JsonNode v
         0: .line 41
            aload 0
            aload 1 /* v */
            invokevirtual com.fasterxml.jackson.databind.JsonNode.asText:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            return
        end local 1 // com.fasterxml.jackson.databind.JsonNode v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     v  Lcom/fasterxml/jackson/databind/JsonNode;
}
SourceFile: "MvelCodeGeneratorLoader.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final Kind = javax.tools.Diagnostic$Kind of javax.tools.Diagnostic