final class io.vertx.ext.sql.HandlerUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: io.vertx.ext.sql.HandlerUtil
  super_class: java.lang.Object
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.sql.HandlerUtil this
         0: .line 32
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.vertx.ext.sql.HandlerUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/sql/HandlerUtil;

  static io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.sql.ResultSet>> handleResultSetSingleRow(io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.json.JsonArray>>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.Handler handler
         0: .line 41
            aload 0 /* handler */
            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/sql/HandlerUtil.lambda$0(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            areturn
        end local 0 // io.vertx.core.Handler handler
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonArray;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonArray;>;>;)Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/sql/ResultSet;>;>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER, location=[TYPE_ARGUMENT(0), TYPE_ARGUMENT(0)]
        io.vertx.codegen.annotations.Nullable()
    MethodParameters:
         Name  Flags
      handler  

  static <T> io.vertx.core.Handler<io.vertx.core.AsyncResult<T>> closeAndHandleResult(io.vertx.ext.sql.SQLConnection, io.vertx.core.Handler<io.vertx.core.AsyncResult<T>>);
    descriptor: (Lio/vertx/ext/sql/SQLConnection;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.sql.SQLConnection conn
        start local 1 // io.vertx.core.Handler handler
         0: .line 74
            aload 0 /* conn */
            aload 1 /* handler */
            invokedynamic handle(Lio/vertx/ext/sql/SQLConnection;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/sql/HandlerUtil.lambda$1(Lio/vertx/ext/sql/SQLConnection;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            areturn
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.ext.sql.SQLConnection conn
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     conn  Lio/vertx/ext/sql/SQLConnection;
            0    1     1  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Lio/vertx/ext/sql/SQLConnection;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;)Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;
    MethodParameters:
         Name  Flags
      conn     
      handler  

  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=3, locals=4, args_size=2
        start local 1 // io.vertx.core.AsyncResult ar
         0: .line 42
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.failed:()Z
            ifeq 3
         1: .line 43
            aload 0
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 44
            goto 15
         3: .line 45
      StackMap locals:
      StackMap stack:
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.ext.sql.ResultSet
            astore 2 /* rs */
        start local 2 // io.vertx.ext.sql.ResultSet rs
         4: .line 46
            aload 2 /* rs */
            ifnonnull 7
         5: .line 47
            aload 0
            invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         6: .line 48
            goto 15
         7: .line 49
      StackMap locals: io.vertx.ext.sql.ResultSet
      StackMap stack:
            aload 2 /* rs */
            invokevirtual io.vertx.ext.sql.ResultSet.getResults:()Ljava/util/List;
            astore 3 /* results */
        start local 3 // java.util.List results
         8: .line 50
            aload 3 /* results */
            ifnonnull 11
         9: .line 51
            aload 0
            invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        10: .line 52
            goto 15
        11: .line 53
      StackMap locals: java.util.List
      StackMap stack:
            aload 3 /* results */
            invokeinterface java.util.List.size:()I
            ifle 14
        12: .line 54
            aload 0
            aload 3 /* results */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast io.vertx.core.json.JsonArray
            invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        13: .line 55
            goto 15
        14: .line 56
      StackMap locals:
      StackMap stack:
            aload 0
            invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        end local 3 // java.util.List results
        end local 2 // io.vertx.ext.sql.ResultSet rs
        15: .line 61
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.AsyncResult ar
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     1       ar  Lio/vertx/core/AsyncResult<Lio/vertx/ext/sql/ResultSet;>;
            4   15     2       rs  Lio/vertx/ext/sql/ResultSet;
            8   15     3  results  Ljava/util/List<Lio/vertx/core/json/JsonArray;>;

  private static void lambda$1(io.vertx.ext.sql.SQLConnection, io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/ext/sql/SQLConnection;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 2 // io.vertx.core.AsyncResult ar
         0: .line 75
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.failed:()Z
            ifeq 3
         1: .line 76
            aload 0
            aload 1
            aload 2 /* ar */
            invokedynamic handle(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)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/sql/HandlerUtil.lambda$2(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.ext.sql.SQLConnection.close:(Lio/vertx/core/Handler;)V
         2: .line 83
            goto 4
         3: .line 84
      StackMap locals:
      StackMap stack:
            aload 0
            aload 1
            aload 2 /* ar */
            invokedynamic handle(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)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/sql/HandlerUtil.lambda$3(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.ext.sql.SQLConnection.close:(Lio/vertx/core/Handler;)V
         4: .line 92
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult ar
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     2    ar  Lio/vertx/core/AsyncResult<TT;>;

  private static void lambda$2(io.vertx.core.Handler, io.vertx.core.AsyncResult, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 2 // io.vertx.core.AsyncResult close
         0: .line 77
            aload 2 /* close */
            invokeinterface io.vertx.core.AsyncResult.failed:()Z
            ifeq 3
         1: .line 78
            aload 0
            aload 2 /* close */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 79
            goto 4
         3: .line 80
      StackMap locals:
      StackMap stack:
            aload 0
            aload 1
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         4: .line 82
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult close
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     2  close  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private static void lambda$3(io.vertx.core.Handler, io.vertx.core.AsyncResult, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 2 // io.vertx.core.AsyncResult close
         0: .line 85
            aload 2 /* close */
            invokeinterface io.vertx.core.AsyncResult.failed:()Z
            ifeq 3
         1: .line 86
            aload 0
            aload 2 /* close */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 87
            goto 4
         3: .line 88
      StackMap locals:
      StackMap stack:
            aload 0
            aload 1
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         4: .line 90
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult close
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     2  close  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
}
SourceFile: "HandlerUtil.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles