public class io.vertx.lang.groovy.GroovyVerticleFactory implements io.vertx.core.spi.VerticleFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.lang.groovy.GroovyVerticleFactory
  super_class: java.lang.Object
{
  private static final java.lang.String CONFIGURATION_PROPERTY;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "vertx.groovy.compilerConfiguration"

  private static io.vertx.core.impl.logging.Logger log;
    descriptor: Lio/vertx/core/impl/logging/Logger;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private io.vertx.core.Vertx vertx;
    descriptor: Lio/vertx/core/Vertx;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 48
            ldc Lio/vertx/lang/groovy/GroovyVerticleFactory;
            invokestatic io.vertx.core.impl.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/impl/logging/Logger;
            putstatic io.vertx.lang.groovy.GroovyVerticleFactory.log:Lio/vertx/core/impl/logging/Logger;
            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.lang.groovy.GroovyVerticleFactory this
         0: .line 52
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 53
            return
        end local 0 // io.vertx.lang.groovy.GroovyVerticleFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/lang/groovy/GroovyVerticleFactory;

  public void init(io.vertx.core.Vertx);
    descriptor: (Lio/vertx/core/Vertx;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.lang.groovy.GroovyVerticleFactory this
        start local 1 // io.vertx.core.Vertx vertx
         0: .line 57
            aload 0 /* this */
            aload 1 /* vertx */
            putfield io.vertx.lang.groovy.GroovyVerticleFactory.vertx:Lio/vertx/core/Vertx;
         1: .line 58
            return
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // io.vertx.lang.groovy.GroovyVerticleFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lio/vertx/lang/groovy/GroovyVerticleFactory;
            0    2     1  vertx  Lio/vertx/core/Vertx;
    MethodParameters:
       Name  Flags
      vertx  

  public java.lang.String prefix();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.lang.groovy.GroovyVerticleFactory this
         0: .line 62
            ldc "groovy"
            areturn
        end local 0 // io.vertx.lang.groovy.GroovyVerticleFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/lang/groovy/GroovyVerticleFactory;

  public void createVerticle(java.lang.String, java.lang.ClassLoader, io.vertx.core.Promise<java.util.concurrent.Callable<io.vertx.core.Verticle>>);
    descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;Lio/vertx/core/Promise;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // io.vertx.lang.groovy.GroovyVerticleFactory this
        start local 1 // java.lang.String verticleName
        start local 2 // java.lang.ClassLoader classLoader
        start local 3 // io.vertx.core.Promise promise
         0: .line 67
            aload 1 /* verticleName */
            invokestatic io.vertx.core.spi.VerticleFactory.removePrefix:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         1: .line 68
            aload 0 /* this */
            getfield io.vertx.lang.groovy.GroovyVerticleFactory.vertx:Lio/vertx/core/Vertx;
            aload 0 /* this */
            aload 2 /* classLoader */
            aload 4 /* name */
            invokedynamic handle(Lio/vertx/lang/groovy/GroovyVerticleFactory;Ljava/lang/ClassLoader;Ljava/lang/String;)Lio/vertx/core/Handler;
              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/lang/groovy/GroovyVerticleFactory.lambda$0(Ljava/lang/ClassLoader;Ljava/lang/String;Lio/vertx/core/Promise;)V (7)
                  (Lio/vertx/core/Promise;)V
            invokeinterface io.vertx.core.Vertx.executeBlocking:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            astore 5 /* fut */
        start local 5 // io.vertx.core.Future fut
         2: .line 98
            aload 5 /* fut */
            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/lang/groovy/GroovyVerticleFactory.lambda$1(Ljava/lang/Class;)Ljava/util/concurrent/Callable; (6)
                  (Ljava/lang/Class;)Ljava/util/concurrent/Callable;
            invokeinterface io.vertx.core.Future.map:(Ljava/util/function/Function;)Lio/vertx/core/Future;
         3: .line 107
            aload 3 /* promise */
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         4: .line 108
            return
        end local 5 // io.vertx.core.Future fut
        end local 4 // java.lang.String name
        end local 3 // io.vertx.core.Promise promise
        end local 2 // java.lang.ClassLoader classLoader
        end local 1 // java.lang.String verticleName
        end local 0 // io.vertx.lang.groovy.GroovyVerticleFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lio/vertx/lang/groovy/GroovyVerticleFactory;
            0    5     1  verticleName  Ljava/lang/String;
            0    5     2   classLoader  Ljava/lang/ClassLoader;
            0    5     3       promise  Lio/vertx/core/Promise<Ljava/util/concurrent/Callable<Lio/vertx/core/Verticle;>;>;
            1    5     4          name  Ljava/lang/String;
            2    5     5           fut  Lio/vertx/core/Future<Ljava/lang/Class<*>;>;
    Signature: (Ljava/lang/String;Ljava/lang/ClassLoader;Lio/vertx/core/Promise<Ljava/util/concurrent/Callable<Lio/vertx/core/Verticle;>;>;)V
    MethodParameters:
              Name  Flags
      verticleName  
      classLoader   
      promise       

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.lang.groovy.GroovyVerticleFactory this
         0: .line 112
            aload 0 /* this */
            aconst_null
            putfield io.vertx.lang.groovy.GroovyVerticleFactory.vertx:Lio/vertx/core/Vertx;
         1: .line 113
            return
        end local 0 // io.vertx.lang.groovy.GroovyVerticleFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/lang/groovy/GroovyVerticleFactory;

  private org.codehaus.groovy.control.CompilerConfiguration createCompilerConfiguration(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)Lorg/codehaus/groovy/control/CompilerConfiguration;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // io.vertx.lang.groovy.GroovyVerticleFactory this
        start local 1 // java.lang.ClassLoader cl
         0: .line 116
            aconst_null
            astore 2 /* customizer */
        start local 2 // groovy.lang.Closure customizer
         1: .line 117
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 3 /* properties */
        start local 3 // java.util.Properties properties
         2: .line 118
            aload 0 /* this */
            aload 1 /* cl */
            invokevirtual io.vertx.lang.groovy.GroovyVerticleFactory.findConfigurationResource:(Ljava/lang/ClassLoader;)Ljava/net/URL;
            astore 4 /* url */
        start local 4 // java.net.URL url
         3: .line 119
            aload 4 /* url */
            ifnull 20
         4: .line 120
            getstatic io.vertx.lang.groovy.GroovyVerticleFactory.log:Lio/vertx/core/impl/logging/Logger;
            ldc "Configuring groovy compiler with ${url}"
            invokeinterface io.vertx.core.impl.logging.Logger.trace:(Ljava/lang/Object;)V
         5: .line 122
            aload 4 /* url */
            invokevirtual java.net.URL.getFile:()Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            ldc ".groovy"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 14
         6: .line 123
            new groovy.util.ConfigSlurper
            dup
            invokespecial groovy.util.ConfigSlurper.<init>:()V
            astore 5 /* slurper */
        start local 5 // groovy.util.ConfigSlurper slurper
         7: .line 124
            aload 5 /* slurper */
            new groovy.lang.GroovyClassLoader
            dup
            aload 1 /* cl */
            invokespecial groovy.lang.GroovyClassLoader.<init>:(Ljava/lang/ClassLoader;)V
            invokevirtual groovy.util.ConfigSlurper.setClassLoader:(Lgroovy/lang/GroovyClassLoader;)V
         8: .line 125
            aload 5 /* slurper */
            aload 4 /* url */
            invokevirtual groovy.util.ConfigSlurper.parse:(Ljava/net/URL;)Lgroovy/util/ConfigObject;
            astore 6 /* cObject */
        start local 6 // groovy.util.ConfigObject cObject
         9: .line 126
            aload 6 /* cObject */
            ldc "customizer"
            invokevirtual groovy.util.ConfigObject.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* c */
        start local 7 // java.lang.Object c
        10: .line 127
            aload 7 /* c */
            instanceof groovy.lang.Closure
            ifeq 12
        11: .line 128
            aload 7 /* c */
            checkcast groovy.lang.Closure
            astore 2 /* customizer */
        12: .line 130
      StackMap locals: io.vertx.lang.groovy.GroovyVerticleFactory java.lang.ClassLoader groovy.lang.Closure java.util.Properties java.net.URL groovy.util.ConfigSlurper groovy.util.ConfigObject java.lang.Object
      StackMap stack:
            aload 3 /* properties */
            aload 6 /* cObject */
            invokevirtual groovy.util.ConfigObject.toProperties:()Ljava/util/Properties;
            invokevirtual java.util.Properties.putAll:(Ljava/util/Map;)V
        end local 7 // java.lang.Object c
        end local 6 // groovy.util.ConfigObject cObject
        end local 5 // groovy.util.ConfigSlurper slurper
        13: .line 131
            goto 21
        14: .line 132
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            astore 5 /* stream */
        start local 5 // java.io.InputStream stream
        15: .line 133
            aload 3 /* properties */
            aload 5 /* stream */
            invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
        end local 5 // java.io.InputStream stream
        16: .line 135
            goto 21
      StackMap locals:
      StackMap stack: java.lang.Exception
        17: astore 5 /* e */
        start local 5 // java.lang.Exception e
        18: .line 136
            getstatic io.vertx.lang.groovy.GroovyVerticleFactory.log:Lio/vertx/core/impl/logging/Logger;
            ldc "Error loading Groovy CompilerConfiguration properties from $url"
            aload 5 /* e */
            invokeinterface io.vertx.core.impl.logging.Logger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 5 // java.lang.Exception e
        19: .line 138
            goto 21
        20: .line 139
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.lang.groovy.GroovyVerticleFactory.log:Lio/vertx/core/impl/logging/Logger;
            ldc "No groovy configuration file found."
            invokeinterface io.vertx.core.impl.logging.Logger.trace:(Ljava/lang/Object;)V
        21: .line 142
      StackMap locals:
      StackMap stack:
            new org.codehaus.groovy.control.CompilerConfiguration
            dup
            getstatic org.codehaus.groovy.control.CompilerConfiguration.DEFAULT:Lorg/codehaus/groovy/control/CompilerConfiguration;
            invokespecial org.codehaus.groovy.control.CompilerConfiguration.<init>:(Lorg/codehaus/groovy/control/CompilerConfiguration;)V
            astore 5 /* compilerCfg */
        start local 5 // org.codehaus.groovy.control.CompilerConfiguration compilerCfg
        22: .line 143
            aload 3 /* properties */
            invokevirtual java.util.Properties.size:()I
            ifeq 24
        23: .line 144
            aload 5 /* compilerCfg */
            aload 3 /* properties */
            invokevirtual org.codehaus.groovy.control.CompilerConfiguration.configure:(Ljava/util/Properties;)V
        24: .line 147
      StackMap locals: org.codehaus.groovy.control.CompilerConfiguration
      StackMap stack:
            aload 2 /* customizer */
            ifnull 28
        25: .line 148
            aload 2 /* customizer */
            aload 5 /* compilerCfg */
            invokevirtual groovy.lang.Closure.call:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* result */
        start local 6 // java.lang.Object result
        26: .line 150
            aload 6 /* result */
            instanceof org.codehaus.groovy.control.CompilerConfiguration
            ifeq 28
        27: .line 151
            aload 6 /* result */
            checkcast org.codehaus.groovy.control.CompilerConfiguration
            astore 5 /* compilerCfg */
        end local 6 // java.lang.Object result
        28: .line 153
      StackMap locals:
      StackMap stack:
            aload 5 /* compilerCfg */
            areturn
        end local 5 // org.codehaus.groovy.control.CompilerConfiguration compilerCfg
        end local 4 // java.net.URL url
        end local 3 // java.util.Properties properties
        end local 2 // groovy.lang.Closure customizer
        end local 1 // java.lang.ClassLoader cl
        end local 0 // io.vertx.lang.groovy.GroovyVerticleFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   29     0         this  Lio/vertx/lang/groovy/GroovyVerticleFactory;
            0   29     1           cl  Ljava/lang/ClassLoader;
            1   29     2   customizer  Lgroovy/lang/Closure;
            2   29     3   properties  Ljava/util/Properties;
            3   29     4          url  Ljava/net/URL;
            7   13     5      slurper  Lgroovy/util/ConfigSlurper;
            9   13     6      cObject  Lgroovy/util/ConfigObject;
           10   13     7            c  Ljava/lang/Object;
           15   16     5       stream  Ljava/io/InputStream;
           18   19     5            e  Ljava/lang/Exception;
           22   29     5  compilerCfg  Lorg/codehaus/groovy/control/CompilerConfiguration;
           26   28     6       result  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           5    16      17  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      cl    

  private java.net.URL findConfigurationResource(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)Ljava/net/URL;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.lang.groovy.GroovyVerticleFactory this
        start local 1 // java.lang.ClassLoader cl
         0: .line 158
            ldc "vertx.groovy.compilerConfiguration"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* prop */
        start local 2 // java.lang.String prop
         1: .line 159
            aload 2 /* prop */
            ifnull 5
         2: .line 160
            aload 1 /* cl */
            aload 2 /* prop */
            invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
         3: areturn
        end local 2 // java.lang.String prop
         4: .line 162
      StackMap locals:
      StackMap stack: java.lang.SecurityException
            pop
         5: .line 164
      StackMap locals:
      StackMap stack:
            aload 1 /* cl */
            ldc "compilerConfiguration.groovy"
            invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 2 /* url */
        start local 2 // java.net.URL url
         6: .line 165
            aload 2 /* url */
            ifnonnull 8
         7: .line 166
            aload 1 /* cl */
            ldc "compilerConfiguration.properties"
            invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 2 /* url */
         8: .line 168
      StackMap locals: java.net.URL
      StackMap stack:
            aload 2 /* url */
            areturn
        end local 2 // java.net.URL url
        end local 1 // java.lang.ClassLoader cl
        end local 0 // io.vertx.lang.groovy.GroovyVerticleFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lio/vertx/lang/groovy/GroovyVerticleFactory;
            0    9     1    cl  Ljava/lang/ClassLoader;
            1    4     2  prop  Ljava/lang/String;
            6    9     2   url  Ljava/net/URL;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.SecurityException
    MethodParameters:
      Name  Flags
      cl    

  private void lambda$0(java.lang.ClassLoader, java.lang.String, io.vertx.core.Promise);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;Lio/vertx/core/Promise;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // io.vertx.lang.groovy.GroovyVerticleFactory this
        start local 3 // io.vertx.core.Promise p
         0: .line 71
            aload 0 /* this */
            aload 1
            invokevirtual io.vertx.lang.groovy.GroovyVerticleFactory.createCompilerConfiguration:(Ljava/lang/ClassLoader;)Lorg/codehaus/groovy/control/CompilerConfiguration;
            astore 5 /* compilerConfig */
        start local 5 // org.codehaus.groovy.control.CompilerConfiguration compilerConfig
         1: .line 72
            aload 2
            ldc ".groovy"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 15
         2: .line 73
            aload 1
            aload 2
            invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 6 /* url */
        start local 6 // java.net.URL url
         3: .line 74
            aload 6 /* url */
            ifnonnull 9
         4: .line 75
            new java.io.File
            dup
            aload 2
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 7 /* f */
        start local 7 // java.io.File f
         5: .line 76
            aload 7 /* f */
            invokevirtual java.io.File.isAbsolute:()Z
            ifne 7
         6: .line 77
            new java.io.File
            dup
            ldc "user.dir"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            aload 2
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 7 /* f */
         7: .line 79
      StackMap locals: io.vertx.lang.groovy.GroovyVerticleFactory java.lang.ClassLoader java.lang.String io.vertx.core.Promise top org.codehaus.groovy.control.CompilerConfiguration java.net.URL java.io.File
      StackMap stack:
            aload 7 /* f */
            invokevirtual java.io.File.exists:()Z
            ifeq 9
            aload 7 /* f */
            invokevirtual java.io.File.isFile:()Z
            ifeq 9
         8: .line 80
            aload 7 /* f */
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            invokevirtual java.net.URI.toURL:()Ljava/net/URL;
            astore 6 /* url */
        end local 7 // java.io.File f
         9: .line 83
      StackMap locals:
      StackMap stack:
            aload 6 /* url */
            ifnonnull 11
        10: .line 84
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot find verticle script: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " on classpath"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 86
      StackMap locals:
      StackMap stack:
            new groovy.lang.GroovyClassLoader
            dup
            aload 1
            aload 5 /* compilerConfig */
            invokespecial groovy.lang.GroovyClassLoader.<init>:(Ljava/lang/ClassLoader;Lorg/codehaus/groovy/control/CompilerConfiguration;)V
            astore 7 /* gcl */
        start local 7 // groovy.lang.GroovyClassLoader gcl
        12: .line 87
            new groovy.lang.GroovyCodeSource
            dup
            aload 6 /* url */
            invokespecial groovy.lang.GroovyCodeSource.<init>:(Ljava/net/URL;)V
            astore 8 /* gcs */
        start local 8 // groovy.lang.GroovyCodeSource gcs
        13: .line 88
            aload 7 /* gcl */
            aload 8 /* gcs */
            invokevirtual groovy.lang.GroovyClassLoader.parseClass:(Lgroovy/lang/GroovyCodeSource;)Ljava/lang/Class;
            astore 4 /* clazz */
        end local 8 // groovy.lang.GroovyCodeSource gcs
        end local 7 // groovy.lang.GroovyClassLoader gcl
        end local 6 // java.net.URL url
        start local 4 // java.lang.Class clazz
        14: .line 89
            goto 20
        end local 4 // java.lang.Class clazz
        15: .line 90
      StackMap locals:
      StackMap stack:
            aload 1
            aload 2
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 4 /* clazz */
        end local 5 // org.codehaus.groovy.control.CompilerConfiguration compilerConfig
        start local 4 // java.lang.Class clazz
        16: .line 92
            goto 20
        end local 4 // java.lang.Class clazz
      StackMap locals: io.vertx.lang.groovy.GroovyVerticleFactory java.lang.ClassLoader java.lang.String io.vertx.core.Promise
      StackMap stack: java.lang.Exception
        17: astore 5 /* e */
        start local 5 // java.lang.Exception e
        18: .line 93
            aload 3 /* p */
            aload 5 /* e */
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
        19: .line 94
            return
        end local 5 // java.lang.Exception e
        start local 4 // java.lang.Class clazz
        20: .line 96
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 3 /* p */
            aload 4 /* clazz */
            invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
        end local 4 // java.lang.Class clazz
        21: .line 97
            return
        end local 3 // io.vertx.core.Promise p
        end local 0 // io.vertx.lang.groovy.GroovyVerticleFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   22     0            this  Lio/vertx/lang/groovy/GroovyVerticleFactory;
            0   22     3               p  Lio/vertx/core/Promise<Ljava/lang/Class<*>;>;
           14   15     4           clazz  Ljava/lang/Class;
           16   17     4           clazz  Ljava/lang/Class;
           20   21     4           clazz  Ljava/lang/Class;
            1   16     5  compilerConfig  Lorg/codehaus/groovy/control/CompilerConfiguration;
            3   14     6             url  Ljava/net/URL;
            5    9     7               f  Ljava/io/File;
           12   14     7             gcl  Lgroovy/lang/GroovyClassLoader;
           13   14     8             gcs  Lgroovy/lang/GroovyCodeSource;
           18   20     5               e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0    16      17  Class java.lang.Exception

  private static java.util.concurrent.Callable lambda$1(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/util/concurrent/Callable;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 98
            aload 0 /* clazz */
            invokedynamic call(Ljava/lang/Class;)Ljava/util/concurrent/Callable;
              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;
                  io/vertx/lang/groovy/GroovyVerticleFactory.lambda$2(Ljava/lang/Class;)Lio/vertx/core/Verticle; (6)
                  ()Lio/vertx/core/Verticle;
         1: .line 107
            areturn
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  clazz  Ljava/lang/Class<*>;

  private static io.vertx.core.Verticle lambda$2(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lio/vertx/core/Verticle;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=2, args_size=1
         0: .line 99
            aload 0
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* instance */
        start local 1 // java.lang.Object instance
         1: .line 100
            aload 1 /* instance */
            instanceof groovy.lang.Script
            ifeq 3
         2: .line 101
            new io.vertx.lang.groovy.ScriptVerticle
            dup
            aload 1 /* instance */
            checkcast groovy.lang.Script
            invokespecial io.vertx.lang.groovy.ScriptVerticle.<init>:(Lgroovy/lang/Script;)V
            areturn
         3: .line 102
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* instance */
            instanceof io.vertx.core.Verticle
            ifeq 5
         4: .line 103
            aload 1 /* instance */
            checkcast io.vertx.core.Verticle
            areturn
         5: .line 105
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            ldc "Class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* instance */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is not a Verticle"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.Object instance
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            1    6     1  instance  Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
}
SourceFile: "GroovyVerticleFactory.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles