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: 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 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 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 start local 1 0: aload 0
aload 1
putfield io.vertx.lang.groovy.GroovyVerticleFactory.vertx:Lio/vertx/core/Vertx;
1: return
end local 1 end local 0 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 0: ldc "groovy"
areturn
end local 0 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 start local 1 start local 2 start local 3 0: aload 1
invokestatic io.vertx.core.spi.VerticleFactory.removePrefix:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 1: aload 0
getfield io.vertx.lang.groovy.GroovyVerticleFactory.vertx:Lio/vertx/core/Vertx;
aload 0
aload 2
aload 4
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
start local 5 2: aload 5
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: aload 3
invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
pop
4: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
aconst_null
putfield io.vertx.lang.groovy.GroovyVerticleFactory.vertx:Lio/vertx/core/Vertx;
1: return
end local 0 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 start local 1 0: aconst_null
astore 2
start local 2 1: new java.util.Properties
dup
invokespecial java.util.Properties.<init>:()V
astore 3
start local 3 2: aload 0
aload 1
invokevirtual io.vertx.lang.groovy.GroovyVerticleFactory.findConfigurationResource:(Ljava/lang/ClassLoader;)Ljava/net/URL;
astore 4
start local 4 3: aload 4
ifnull 20
4: 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: aload 4
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: new groovy.util.ConfigSlurper
dup
invokespecial groovy.util.ConfigSlurper.<init>:()V
astore 5
start local 5 7: aload 5
new groovy.lang.GroovyClassLoader
dup
aload 1
invokespecial groovy.lang.GroovyClassLoader.<init>:(Ljava/lang/ClassLoader;)V
invokevirtual groovy.util.ConfigSlurper.setClassLoader:(Lgroovy/lang/GroovyClassLoader;)V
8: aload 5
aload 4
invokevirtual groovy.util.ConfigSlurper.parse:(Ljava/net/URL;)Lgroovy/util/ConfigObject;
astore 6
start local 6 9: aload 6
ldc "customizer"
invokevirtual groovy.util.ConfigObject.remove:(Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 10: aload 7
instanceof groovy.lang.Closure
ifeq 12
11: aload 7
checkcast groovy.lang.Closure
astore 2
12: 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
aload 6
invokevirtual groovy.util.ConfigObject.toProperties:()Ljava/util/Properties;
invokevirtual java.util.Properties.putAll:(Ljava/util/Map;)V
end local 7 end local 6 end local 5 13: goto 21
14: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
astore 5
start local 5 15: aload 3
aload 5
invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
end local 5 16: goto 21
StackMap locals:
StackMap stack: java.lang.Exception
17: astore 5
start local 5 18: getstatic io.vertx.lang.groovy.GroovyVerticleFactory.log:Lio/vertx/core/impl/logging/Logger;
ldc "Error loading Groovy CompilerConfiguration properties from $url"
aload 5
invokeinterface io.vertx.core.impl.logging.Logger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 5 19: goto 21
20: 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: 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
start local 5 22: aload 3
invokevirtual java.util.Properties.size:()I
ifeq 24
23: aload 5
aload 3
invokevirtual org.codehaus.groovy.control.CompilerConfiguration.configure:(Ljava/util/Properties;)V
24: StackMap locals: org.codehaus.groovy.control.CompilerConfiguration
StackMap stack:
aload 2
ifnull 28
25: aload 2
aload 5
invokevirtual groovy.lang.Closure.call:(Ljava/lang/Object;)Ljava/lang/Object;
astore 6
start local 6 26: aload 6
instanceof org.codehaus.groovy.control.CompilerConfiguration
ifeq 28
27: aload 6
checkcast org.codehaus.groovy.control.CompilerConfiguration
astore 5
end local 6 28: StackMap locals:
StackMap stack:
aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: ldc "vertx.groovy.compilerConfiguration"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnull 5
2: aload 1
aload 2
invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
3: areturn
end local 2 4: StackMap locals:
StackMap stack: java.lang.SecurityException
pop
5: StackMap locals:
StackMap stack:
aload 1
ldc "compilerConfiguration.groovy"
invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
astore 2
start local 2 6: aload 2
ifnonnull 8
7: aload 1
ldc "compilerConfiguration.properties"
invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
astore 2
8: StackMap locals: java.net.URL
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 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 start local 3 0: aload 0
aload 1
invokevirtual io.vertx.lang.groovy.GroovyVerticleFactory.createCompilerConfiguration:(Ljava/lang/ClassLoader;)Lorg/codehaus/groovy/control/CompilerConfiguration;
astore 5
start local 5 1: aload 2
ldc ".groovy"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 15
2: aload 1
aload 2
invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
astore 6
start local 6 3: aload 6
ifnonnull 9
4: new java.io.File
dup
aload 2
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 7
start local 7 5: aload 7
invokevirtual java.io.File.isAbsolute:()Z
ifne 7
6: 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
7: 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
invokevirtual java.io.File.exists:()Z
ifeq 9
aload 7
invokevirtual java.io.File.isFile:()Z
ifeq 9
8: aload 7
invokevirtual java.io.File.toURI:()Ljava/net/URI;
invokevirtual java.net.URI.toURL:()Ljava/net/URL;
astore 6
end local 7 9: StackMap locals:
StackMap stack:
aload 6
ifnonnull 11
10: 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: StackMap locals:
StackMap stack:
new groovy.lang.GroovyClassLoader
dup
aload 1
aload 5
invokespecial groovy.lang.GroovyClassLoader.<init>:(Ljava/lang/ClassLoader;Lorg/codehaus/groovy/control/CompilerConfiguration;)V
astore 7
start local 7 12: new groovy.lang.GroovyCodeSource
dup
aload 6
invokespecial groovy.lang.GroovyCodeSource.<init>:(Ljava/net/URL;)V
astore 8
start local 8 13: aload 7
aload 8
invokevirtual groovy.lang.GroovyClassLoader.parseClass:(Lgroovy/lang/GroovyCodeSource;)Ljava/lang/Class;
astore 4
end local 8 end local 7 end local 6 start local 4 14: goto 20
end local 4 15: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 4
end local 5 start local 4 16: goto 20
end local 4 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
start local 5 18: aload 3
aload 5
invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
19: return
end local 5 start local 4 20: StackMap locals: java.lang.Class
StackMap stack:
aload 3
aload 4
invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
end local 4 21: return
end local 3 end local 0 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 0: aload 0
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: areturn
end local 0 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: 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
start local 1 1: aload 1
instanceof groovy.lang.Script
ifeq 3
2: new io.vertx.lang.groovy.ScriptVerticle
dup
aload 1
checkcast groovy.lang.Script
invokespecial io.vertx.lang.groovy.ScriptVerticle.<init>:(Lgroovy/lang/Script;)V
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
aload 1
instanceof io.vertx.core.Verticle
ifeq 5
4: aload 1
checkcast io.vertx.core.Verticle
areturn
5: 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
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 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