public class io.vertx.ext.healthchecks.impl.HealthChecksImpl implements io.vertx.ext.healthchecks.HealthChecks
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.ext.healthchecks.impl.HealthChecksImpl
super_class: java.lang.Object
{
private final io.vertx.core.Vertx vertx;
descriptor: Lio/vertx/core/Vertx;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private io.vertx.ext.healthchecks.impl.CompositeProcedure root;
descriptor: Lio/vertx/ext/healthchecks/impl/CompositeProcedure;
flags: (0x0002) ACC_PRIVATE
public void <init>(io.vertx.core.Vertx);
descriptor: (Lio/vertx/core/Vertx;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new io.vertx.ext.healthchecks.impl.DefaultCompositeProcedure
dup
invokespecial io.vertx.ext.healthchecks.impl.DefaultCompositeProcedure.<init>:()V
putfield io.vertx.ext.healthchecks.impl.HealthChecksImpl.root:Lio/vertx/ext/healthchecks/impl/CompositeProcedure;
2: aload 0
aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.vertx.core.Vertx
putfield io.vertx.ext.healthchecks.impl.HealthChecksImpl.vertx:Lio/vertx/core/Vertx;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/ext/healthchecks/impl/HealthChecksImpl;
0 4 1 vertx Lio/vertx/core/Vertx;
MethodParameters:
Name Flags
vertx
public io.vertx.ext.healthchecks.HealthChecks register(java.lang.String, io.vertx.core.Handler<io.vertx.core.Promise<io.vertx.ext.healthchecks.Status>>);
descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/healthchecks/HealthChecks;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
ldc 1000
aload 2
invokevirtual io.vertx.ext.healthchecks.impl.HealthChecksImpl.register:(Ljava/lang/String;JLio/vertx/core/Handler;)Lio/vertx/ext/healthchecks/HealthChecks;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/healthchecks/impl/HealthChecksImpl;
0 1 1 name Ljava/lang/String;
0 1 2 procedure Lio/vertx/core/Handler<Lio/vertx/core/Promise<Lio/vertx/ext/healthchecks/Status;>;>;
Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/Promise<Lio/vertx/ext/healthchecks/Status;>;>;)Lio/vertx/ext/healthchecks/HealthChecks;
MethodParameters:
Name Flags
name
procedure
public io.vertx.ext.healthchecks.HealthChecks register(java.lang.String, long, io.vertx.core.Handler<io.vertx.core.Promise<io.vertx.ext.healthchecks.Status>>);
descriptor: (Ljava/lang/String;JLio/vertx/core/Handler;)Lio/vertx/ext/healthchecks/HealthChecks;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: lload 2
lconst_0
lcmp
ifgt 3
2: new java.lang.IllegalArgumentException
dup
ldc "The timeout must be strictly positive"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.isEmpty:()Z
ifeq 5
4: new java.lang.IllegalArgumentException
dup
ldc "The name must not be empty"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 4
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
6: aload 1
ldc "/"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 5
start local 5 7: aload 0
aload 5
invokevirtual io.vertx.ext.healthchecks.impl.HealthChecksImpl.traverseAndCreate:([Ljava/lang/String;)Lio/vertx/ext/healthchecks/impl/CompositeProcedure;
astore 6
start local 6 8: aload 5
aload 5
arraylength
iconst_1
isub
aaload
astore 7
start local 7 9: aload 6
aload 7
10: new io.vertx.ext.healthchecks.impl.DefaultProcedure
dup
aload 0
getfield io.vertx.ext.healthchecks.impl.HealthChecksImpl.vertx:Lio/vertx/core/Vertx;
aload 7
lload 2
aload 4
invokespecial io.vertx.ext.healthchecks.impl.DefaultProcedure.<init>:(Lio/vertx/core/Vertx;Ljava/lang/String;JLio/vertx/core/Handler;)V
11: invokeinterface io.vertx.ext.healthchecks.impl.CompositeProcedure.add:(Ljava/lang/String;Lio/vertx/ext/healthchecks/impl/Procedure;)Lio/vertx/ext/healthchecks/impl/CompositeProcedure;
pop
12: aload 0
areturn
end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/vertx/ext/healthchecks/impl/HealthChecksImpl;
0 13 1 name Ljava/lang/String;
0 13 2 timeout J
0 13 4 procedure Lio/vertx/core/Handler<Lio/vertx/core/Promise<Lio/vertx/ext/healthchecks/Status;>;>;
7 13 5 segments [Ljava/lang/String;
8 13 6 parent Lio/vertx/ext/healthchecks/impl/CompositeProcedure;
9 13 7 lastSegment Ljava/lang/String;
Signature: (Ljava/lang/String;JLio/vertx/core/Handler<Lio/vertx/core/Promise<Lio/vertx/ext/healthchecks/Status;>;>;)Lio/vertx/ext/healthchecks/HealthChecks;
MethodParameters:
Name Flags
name
timeout
procedure
private io.vertx.ext.healthchecks.impl.CompositeProcedure traverseAndCreate(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Lio/vertx/ext/healthchecks/impl/CompositeProcedure;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.ext.healthchecks.impl.HealthChecksImpl.root:Lio/vertx/ext/healthchecks/impl/CompositeProcedure;
astore 3
start local 3 1: iconst_0
istore 2
start local 2 2: goto 16
3: StackMap locals: int io.vertx.ext.healthchecks.impl.CompositeProcedure
StackMap stack:
aload 3
aload 1
iload 2
aaload
invokeinterface io.vertx.ext.healthchecks.impl.CompositeProcedure.get:(Ljava/lang/String;)Lio/vertx/ext/healthchecks/impl/Procedure;
astore 4
start local 4 4: aload 4
ifnonnull 9
5: new io.vertx.ext.healthchecks.impl.DefaultCompositeProcedure
dup
invokespecial io.vertx.ext.healthchecks.impl.DefaultCompositeProcedure.<init>:()V
astore 5
start local 5 6: aload 3
aload 1
iload 2
aaload
aload 5
invokeinterface io.vertx.ext.healthchecks.impl.CompositeProcedure.add:(Ljava/lang/String;Lio/vertx/ext/healthchecks/impl/Procedure;)Lio/vertx/ext/healthchecks/impl/CompositeProcedure;
pop
7: aload 5
astore 3
end local 5 8: goto 15
StackMap locals: io.vertx.ext.healthchecks.impl.Procedure
StackMap stack:
9: aload 4
instanceof io.vertx.ext.healthchecks.impl.CompositeProcedure
ifeq 12
10: aload 4
checkcast io.vertx.ext.healthchecks.impl.CompositeProcedure
astore 3
11: goto 15
12: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unable to find the procedure `"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
iload 2
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "`, `"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: aload 1
iload 2
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "` is not a composite."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 4 15: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
16: iload 2
aload 1
arraylength
iconst_1
isub
if_icmplt 3
17: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lio/vertx/ext/healthchecks/impl/HealthChecksImpl;
0 18 1 segments [Ljava/lang/String;
2 18 2 i I
1 18 3 parent Lio/vertx/ext/healthchecks/impl/CompositeProcedure;
4 15 4 c Lio/vertx/ext/healthchecks/impl/Procedure;
6 8 5 composite Lio/vertx/ext/healthchecks/impl/DefaultCompositeProcedure;
MethodParameters:
Name Flags
segments
public io.vertx.ext.healthchecks.HealthChecks unregister(java.lang.String);
descriptor: (Ljava/lang/String;)Lio/vertx/ext/healthchecks/HealthChecks;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 1
invokevirtual java.lang.String.isEmpty:()Z
ifeq 3
2: new java.lang.IllegalArgumentException
dup
ldc "The name must not be empty"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 1
ldc "/"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 2
start local 2 4: aload 0
aload 2
invokevirtual io.vertx.ext.healthchecks.impl.HealthChecksImpl.findLastParent:([Ljava/lang/String;)Lio/vertx/ext/healthchecks/impl/CompositeProcedure;
astore 3
start local 3 5: aload 3
ifnull 8
6: aload 2
aload 2
arraylength
iconst_1
isub
aaload
astore 4
start local 4 7: aload 3
aload 4
invokeinterface io.vertx.ext.healthchecks.impl.CompositeProcedure.remove:(Ljava/lang/String;)Z
pop
end local 4 8: StackMap locals: java.lang.String[] io.vertx.ext.healthchecks.impl.CompositeProcedure
StackMap stack:
aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/vertx/ext/healthchecks/impl/HealthChecksImpl;
0 9 1 name Ljava/lang/String;
4 9 2 segments [Ljava/lang/String;
5 9 3 parent Lio/vertx/ext/healthchecks/impl/CompositeProcedure;
7 8 4 lastSegment Ljava/lang/String;
MethodParameters:
Name Flags
name
public io.vertx.ext.healthchecks.HealthChecks invoke(io.vertx.core.Handler<io.vertx.core.json.JsonObject>);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/healthchecks/HealthChecks;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokedynamic handle(Lio/vertx/core/Handler;)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/ext/healthchecks/impl/HealthChecksImpl.lambda$0(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
(Lio/vertx/core/AsyncResult;)V
invokevirtual io.vertx.ext.healthchecks.impl.HealthChecksImpl.checkStatus:(Lio/vertx/core/Handler;)V
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/healthchecks/impl/HealthChecksImpl;
0 2 1 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/json/JsonObject;>;
Signature: (Lio/vertx/core/Handler<Lio/vertx/core/json/JsonObject;>;)Lio/vertx/ext/healthchecks/HealthChecks;
MethodParameters:
Name Flags
resultHandler
public io.vertx.ext.healthchecks.HealthChecks invoke(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.json.JsonObject>>);
descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/healthchecks/HealthChecks;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokedynamic handle(Lio/vertx/core/Handler;)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/ext/healthchecks/impl/HealthChecksImpl.lambda$1(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
(Lio/vertx/core/AsyncResult;)V
invokevirtual io.vertx.ext.healthchecks.impl.HealthChecksImpl.checkStatus:(Ljava/lang/String;Lio/vertx/core/Handler;)V
1: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/healthchecks/impl/HealthChecksImpl;
0 2 1 name Ljava/lang/String;
0 2 2 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;
Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;)Lio/vertx/ext/healthchecks/HealthChecks;
MethodParameters:
Name Flags
name
resultHandler
public io.vertx.core.Future<io.vertx.core.json.JsonObject> invoke(java.lang.String);
descriptor: (Ljava/lang/String;)Lio/vertx/core/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual io.vertx.ext.healthchecks.impl.HealthChecksImpl.checkStatus:(Ljava/lang/String;)Lio/vertx/core/Future;
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/ext/healthchecks/CheckResult.toJson()Lio/vertx/core/json/JsonObject; (5)
(Lio/vertx/ext/healthchecks/CheckResult;)Lio/vertx/core/json/JsonObject;
invokeinterface io.vertx.core.Future.map:(Ljava/util/function/Function;)Lio/vertx/core/Future;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/healthchecks/impl/HealthChecksImpl;
0 1 1 name Ljava/lang/String;
Signature: (Ljava/lang/String;)Lio/vertx/core/Future<Lio/vertx/core/json/JsonObject;>;
MethodParameters:
Name Flags
name
public io.vertx.core.Future<io.vertx.ext.healthchecks.CheckResult> checkStatus();
descriptor: ()Lio/vertx/core/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.healthchecks.impl.HealthChecksImpl.vertx:Lio/vertx/core/Vertx;
invokeinterface io.vertx.core.Vertx.getOrCreateContext:()Lio/vertx/core/Context;
checkcast io.vertx.core.impl.ContextInternal
invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
astore 1
start local 1 1: aload 0
aload 1
invokevirtual io.vertx.ext.healthchecks.impl.HealthChecksImpl.checkStatus:(Lio/vertx/core/Handler;)V
2: aload 1
invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/ext/healthchecks/impl/HealthChecksImpl;
1 3 1 promise Lio/vertx/core/Promise<Lio/vertx/ext/healthchecks/CheckResult;>;
Signature: ()Lio/vertx/core/Future<Lio/vertx/ext/healthchecks/CheckResult;>;
public void checkStatus(io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.healthchecks.CheckResult>>);
descriptor: (Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.ext.healthchecks.impl.HealthChecksImpl.vertx:Lio/vertx/core/Vertx;
invokeinterface io.vertx.core.Vertx.getOrCreateContext:()Lio/vertx/core/Context;
checkcast io.vertx.core.impl.ContextInternal
aload 1
invokeinterface io.vertx.core.impl.ContextInternal.promise:(Lio/vertx/core/Handler;)Lio/vertx/core/impl/future/PromiseInternal;
astore 2
start local 2 1: aload 0
aload 0
getfield io.vertx.ext.healthchecks.impl.HealthChecksImpl.root:Lio/vertx/ext/healthchecks/impl/CompositeProcedure;
aload 2
invokevirtual io.vertx.ext.healthchecks.impl.HealthChecksImpl.compute:(Lio/vertx/ext/healthchecks/impl/Procedure;Lio/vertx/core/Promise;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/ext/healthchecks/impl/HealthChecksImpl;
0 3 1 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/healthchecks/CheckResult;>;>;
1 3 2 promise Lio/vertx/core/Promise<Lio/vertx/ext/healthchecks/CheckResult;>;
Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/healthchecks/CheckResult;>;>;)V
MethodParameters:
Name Flags
resultHandler
public io.vertx.core.Future<io.vertx.ext.healthchecks.CheckResult> checkStatus(java.lang.String);
descriptor: (Ljava/lang/String;)Lio/vertx/core/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.ext.healthchecks.impl.HealthChecksImpl.vertx:Lio/vertx/core/Vertx;
invokeinterface io.vertx.core.Vertx.getOrCreateContext:()Lio/vertx/core/Context;
checkcast io.vertx.core.impl.ContextInternal
invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
astore 2
start local 2 1: aload 0
aload 1
aload 2
invokevirtual io.vertx.ext.healthchecks.impl.HealthChecksImpl.checkStatus:(Ljava/lang/String;Lio/vertx/core/Handler;)V
2: aload 2
invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/ext/healthchecks/impl/HealthChecksImpl;
0 3 1 name Ljava/lang/String;
1 3 2 promise Lio/vertx/core/Promise<Lio/vertx/ext/healthchecks/CheckResult;>;
Signature: (Ljava/lang/String;)Lio/vertx/core/Future<Lio/vertx/ext/healthchecks/CheckResult;>;
MethodParameters:
Name Flags
name
public void checkStatus(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.healthchecks.CheckResult>>);
descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.vertx.ext.healthchecks.impl.HealthChecksImpl.vertx:Lio/vertx/core/Vertx;
invokeinterface io.vertx.core.Vertx.getOrCreateContext:()Lio/vertx/core/Context;
checkcast io.vertx.core.impl.ContextInternal
aload 2
invokeinterface io.vertx.core.impl.ContextInternal.promise:(Lio/vertx/core/Handler;)Lio/vertx/core/impl/future/PromiseInternal;
astore 3
start local 3 1: aload 1
ifnull 2
aload 1
invokevirtual java.lang.String.isEmpty:()Z
ifne 2
aload 1
ldc "/"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
2: StackMap locals: io.vertx.core.Promise
StackMap stack:
aload 0
aload 3
invokevirtual io.vertx.ext.healthchecks.impl.HealthChecksImpl.checkStatus:(Lio/vertx/core/Handler;)V
3: goto 23
4: StackMap locals:
StackMap stack:
aload 1
ldc "/"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 4
start local 4 5: aload 0
getfield io.vertx.ext.healthchecks.impl.HealthChecksImpl.root:Lio/vertx/ext/healthchecks/impl/CompositeProcedure;
astore 5
start local 5 6: aload 4
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 18
StackMap locals: io.vertx.ext.healthchecks.impl.HealthChecksImpl java.lang.String io.vertx.core.Handler io.vertx.core.Promise java.lang.String[] io.vertx.ext.healthchecks.impl.Procedure top int int java.lang.String[]
StackMap stack:
7: aload 9
iload 7
aaload
astore 6
start local 6 8: aload 6
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 10
9: goto 17
10: StackMap locals: io.vertx.ext.healthchecks.impl.HealthChecksImpl java.lang.String io.vertx.core.Handler io.vertx.core.Promise java.lang.String[] io.vertx.ext.healthchecks.impl.Procedure java.lang.String int int java.lang.String[]
StackMap stack:
aload 5
instanceof io.vertx.ext.healthchecks.impl.CompositeProcedure
ifeq 15
11: aload 5
checkcast io.vertx.ext.healthchecks.impl.CompositeProcedure
aload 6
invokeinterface io.vertx.ext.healthchecks.impl.CompositeProcedure.get:(Ljava/lang/String;)Lio/vertx/ext/healthchecks/impl/Procedure;
astore 5
12: aload 5
ifnonnull 17
13: aload 3
ldc "Not found"
invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/String;)V
14: return
15: StackMap locals:
StackMap stack:
aload 3
new java.lang.StringBuilder
dup
ldc "'"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' is not a composite"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/String;)V
16: return
end local 6 17: StackMap locals: io.vertx.ext.healthchecks.impl.HealthChecksImpl java.lang.String io.vertx.core.Handler io.vertx.core.Promise java.lang.String[] io.vertx.ext.healthchecks.impl.Procedure top int int java.lang.String[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
18: iload 7
iload 8
if_icmplt 7
19: aload 5
ifnonnull 22
20: aload 3
aconst_null
invokeinterface io.vertx.core.Promise.handle:(Lio/vertx/core/AsyncResult;)V
21: return
22: StackMap locals: io.vertx.ext.healthchecks.impl.HealthChecksImpl java.lang.String io.vertx.core.Handler io.vertx.core.Promise java.lang.String[] io.vertx.ext.healthchecks.impl.Procedure
StackMap stack:
aload 0
aload 5
aload 3
invokevirtual io.vertx.ext.healthchecks.impl.HealthChecksImpl.compute:(Lio/vertx/ext/healthchecks/impl/Procedure;Lio/vertx/core/Promise;)V
end local 5 end local 4 23: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lio/vertx/ext/healthchecks/impl/HealthChecksImpl;
0 24 1 name Ljava/lang/String;
0 24 2 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/healthchecks/CheckResult;>;>;
1 24 3 promise Lio/vertx/core/Promise<Lio/vertx/ext/healthchecks/CheckResult;>;
5 23 4 segments [Ljava/lang/String;
6 23 5 check Lio/vertx/ext/healthchecks/impl/Procedure;
8 17 6 segment Ljava/lang/String;
Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/healthchecks/CheckResult;>;>;)V
MethodParameters:
Name Flags
name
resultHandler
private io.vertx.ext.healthchecks.impl.CompositeProcedure findLastParent(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Lio/vertx/ext/healthchecks/impl/CompositeProcedure;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.ext.healthchecks.impl.HealthChecksImpl.root:Lio/vertx/ext/healthchecks/impl/CompositeProcedure;
astore 3
start local 3 1: iconst_0
istore 2
start local 2 2: goto 9
3: StackMap locals: int io.vertx.ext.healthchecks.impl.CompositeProcedure
StackMap stack:
aload 3
aload 1
iload 2
aaload
invokeinterface io.vertx.ext.healthchecks.impl.CompositeProcedure.get:(Ljava/lang/String;)Lio/vertx/ext/healthchecks/impl/Procedure;
astore 4
start local 4 4: aload 4
instanceof io.vertx.ext.healthchecks.impl.CompositeProcedure
ifeq 7
5: aload 4
checkcast io.vertx.ext.healthchecks.impl.CompositeProcedure
astore 3
6: goto 8
7: StackMap locals: io.vertx.ext.healthchecks.impl.Procedure
StackMap stack:
aconst_null
areturn
end local 4 8: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
aload 1
arraylength
iconst_1
isub
if_icmplt 3
10: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/vertx/ext/healthchecks/impl/HealthChecksImpl;
0 11 1 segments [Ljava/lang/String;
2 11 2 i I
1 11 3 parent Lio/vertx/ext/healthchecks/impl/CompositeProcedure;
4 8 4 c Lio/vertx/ext/healthchecks/impl/Procedure;
MethodParameters:
Name Flags
segments
private void compute(io.vertx.ext.healthchecks.impl.Procedure, io.vertx.core.Promise<io.vertx.ext.healthchecks.CheckResult>);
descriptor: (Lio/vertx/ext/healthchecks/impl/Procedure;Lio/vertx/core/Promise;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic handle(Lio/vertx/core/Promise;)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/core/Promise.complete(Ljava/lang/Object;)V (9 itf)
(Lio/vertx/ext/healthchecks/CheckResult;)V
invokeinterface io.vertx.ext.healthchecks.impl.Procedure.check:(Lio/vertx/core/Handler;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/healthchecks/impl/HealthChecksImpl;
0 2 1 procedure Lio/vertx/ext/healthchecks/impl/Procedure;
0 2 2 resultHandler Lio/vertx/core/Promise<Lio/vertx/ext/healthchecks/CheckResult;>;
Signature: (Lio/vertx/ext/healthchecks/impl/Procedure;Lio/vertx/core/Promise<Lio/vertx/ext/healthchecks/CheckResult;>;)V
MethodParameters:
Name Flags
procedure
resultHandler
private static void lambda$0(io.vertx.core.Handler, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
checkcast io.vertx.ext.healthchecks.CheckResult
invokevirtual io.vertx.ext.healthchecks.CheckResult.toJson:()Lio/vertx/core/json/JsonObject;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 ar Lio/vertx/core/AsyncResult<Lio/vertx/ext/healthchecks/CheckResult;>;
private static void lambda$1(io.vertx.core.Handler, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 1 0: aload 0
aload 1
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/ext/healthchecks/CheckResult.toJson()Lio/vertx/core/json/JsonObject; (5)
(Lio/vertx/ext/healthchecks/CheckResult;)Lio/vertx/core/json/JsonObject;
invokeinterface io.vertx.core.AsyncResult.map:(Ljava/util/function/Function;)Lio/vertx/core/AsyncResult;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 ar Lio/vertx/core/AsyncResult<Lio/vertx/ext/healthchecks/CheckResult;>;
}
SourceFile: "HealthChecksImpl.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles