public class io.vertx.pgclient.impl.PgPoolImpl extends io.vertx.sqlclient.impl.PoolBase<io.vertx.pgclient.impl.PgPoolImpl> implements io.vertx.pgclient.PgPool
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.pgclient.impl.PgPoolImpl
  super_class: io.vertx.sqlclient.impl.PoolBase
{
  private final io.vertx.pgclient.impl.PgConnectionFactory factory;
    descriptor: Lio/vertx/pgclient/impl/PgConnectionFactory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public static io.vertx.pgclient.impl.PgPoolImpl create(io.vertx.core.impl.ContextInternal, boolean, io.vertx.pgclient.PgConnectOptions, io.vertx.sqlclient.PoolOptions);
    descriptor: (Lio/vertx/core/impl/ContextInternal;ZLio/vertx/pgclient/PgConnectOptions;Lio/vertx/sqlclient/PoolOptions;)Lio/vertx/pgclient/impl/PgPoolImpl;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=9, args_size=4
        start local 0 // io.vertx.core.impl.ContextInternal context
        start local 1 // boolean closeVertx
        start local 2 // io.vertx.pgclient.PgConnectOptions connectOptions
        start local 3 // io.vertx.sqlclient.PoolOptions poolOptions
         0: .line 44
            aload 0 /* context */
            invokeinterface io.vertx.core.impl.ContextInternal.tracer:()Lio/vertx/core/spi/tracing/VertxTracer;
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: new io.vertx.sqlclient.impl.tracing.QueryTracer
            dup
            aload 0 /* context */
            invokeinterface io.vertx.core.impl.ContextInternal.tracer:()Lio/vertx/core/spi/tracing/VertxTracer;
            aload 2 /* connectOptions */
            invokespecial io.vertx.sqlclient.impl.tracing.QueryTracer.<init>:(Lio/vertx/core/spi/tracing/VertxTracer;Lio/vertx/sqlclient/SqlConnectOptions;)V
      StackMap locals:
      StackMap stack: io.vertx.sqlclient.impl.tracing.QueryTracer
         2: astore 4 /* tracer */
        start local 4 // io.vertx.sqlclient.impl.tracing.QueryTracer tracer
         3: .line 45
            aload 0 /* context */
            invokeinterface io.vertx.core.impl.ContextInternal.owner:()Lio/vertx/core/impl/VertxInternal;
            invokeinterface io.vertx.core.impl.VertxInternal.metricsSPI:()Lio/vertx/core/spi/metrics/VertxMetrics;
            astore 5 /* vertxMetrics */
        start local 5 // io.vertx.core.spi.metrics.VertxMetrics vertxMetrics
         4: .line 46
            aload 5 /* vertxMetrics */
            ifnull 5
            aload 5 /* vertxMetrics */
            aload 2 /* connectOptions */
            invokevirtual io.vertx.pgclient.PgConnectOptions.getSocketAddress:()Lio/vertx/core/net/SocketAddress;
            ldc "sql"
            aload 2 /* connectOptions */
            invokevirtual io.vertx.pgclient.PgConnectOptions.getMetricsName:()Ljava/lang/String;
            invokeinterface io.vertx.core.spi.metrics.VertxMetrics.createClientMetrics:(Lio/vertx/core/net/SocketAddress;Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/spi/metrics/ClientMetrics;
            goto 6
      StackMap locals: io.vertx.sqlclient.impl.tracing.QueryTracer io.vertx.core.spi.metrics.VertxMetrics
      StackMap stack:
         5: aconst_null
      StackMap locals:
      StackMap stack: io.vertx.core.spi.metrics.ClientMetrics
         6: astore 6 /* metrics */
        start local 6 // io.vertx.core.spi.metrics.ClientMetrics metrics
         7: .line 47
            new io.vertx.pgclient.impl.PgPoolImpl
            dup
            aload 0 /* context */
            new io.vertx.pgclient.impl.PgConnectionFactory
            dup
            aload 0 /* context */
            aload 2 /* connectOptions */
            invokespecial io.vertx.pgclient.impl.PgConnectionFactory.<init>:(Lio/vertx/core/impl/ContextInternal;Lio/vertx/pgclient/PgConnectOptions;)V
            aload 4 /* tracer */
            aload 6 /* metrics */
            aload 3 /* poolOptions */
            invokespecial io.vertx.pgclient.impl.PgPoolImpl.<init>:(Lio/vertx/core/impl/ContextInternal;Lio/vertx/pgclient/impl/PgConnectionFactory;Lio/vertx/sqlclient/impl/tracing/QueryTracer;Lio/vertx/core/spi/metrics/ClientMetrics;Lio/vertx/sqlclient/PoolOptions;)V
            astore 7 /* pool */
        start local 7 // io.vertx.pgclient.impl.PgPoolImpl pool
         8: .line 48
            aload 7 /* pool */
            invokevirtual io.vertx.pgclient.impl.PgPoolImpl.closeFuture:()Lio/vertx/core/impl/CloseFuture;
            astore 8 /* closeFuture */
        start local 8 // io.vertx.core.impl.CloseFuture closeFuture
         9: .line 49
            iload 1 /* closeVertx */
            ifeq 12
        10: .line 50
            aload 8 /* closeFuture */
            aload 0 /* context */
            invokedynamic handle(Lio/vertx/core/impl/ContextInternal;)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/pgclient/impl/PgPoolImpl.lambda$0(Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokevirtual io.vertx.core.impl.CloseFuture.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
        11: .line 51
            goto 13
        12: .line 52
      StackMap locals: io.vertx.core.spi.metrics.ClientMetrics io.vertx.pgclient.impl.PgPoolImpl io.vertx.core.impl.CloseFuture
      StackMap stack:
            aload 0 /* context */
            aload 8 /* closeFuture */
            invokeinterface io.vertx.core.impl.ContextInternal.addCloseHook:(Lio/vertx/core/Closeable;)V
        13: .line 54
      StackMap locals:
      StackMap stack:
            aload 7 /* pool */
            areturn
        end local 8 // io.vertx.core.impl.CloseFuture closeFuture
        end local 7 // io.vertx.pgclient.impl.PgPoolImpl pool
        end local 6 // io.vertx.core.spi.metrics.ClientMetrics metrics
        end local 5 // io.vertx.core.spi.metrics.VertxMetrics vertxMetrics
        end local 4 // io.vertx.sqlclient.impl.tracing.QueryTracer tracer
        end local 3 // io.vertx.sqlclient.PoolOptions poolOptions
        end local 2 // io.vertx.pgclient.PgConnectOptions connectOptions
        end local 1 // boolean closeVertx
        end local 0 // io.vertx.core.impl.ContextInternal context
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0         context  Lio/vertx/core/impl/ContextInternal;
            0   14     1      closeVertx  Z
            0   14     2  connectOptions  Lio/vertx/pgclient/PgConnectOptions;
            0   14     3     poolOptions  Lio/vertx/sqlclient/PoolOptions;
            3   14     4          tracer  Lio/vertx/sqlclient/impl/tracing/QueryTracer;
            4   14     5    vertxMetrics  Lio/vertx/core/spi/metrics/VertxMetrics;
            7   14     6         metrics  Lio/vertx/core/spi/metrics/ClientMetrics;
            8   14     7            pool  Lio/vertx/pgclient/impl/PgPoolImpl;
            9   14     8     closeFuture  Lio/vertx/core/impl/CloseFuture;
    MethodParameters:
                Name  Flags
      context         
      closeVertx      
      connectOptions  
      poolOptions     

  private void <init>(io.vertx.core.impl.ContextInternal, io.vertx.pgclient.impl.PgConnectionFactory, io.vertx.sqlclient.impl.tracing.QueryTracer, io.vertx.core.spi.metrics.ClientMetrics, io.vertx.sqlclient.PoolOptions);
    descriptor: (Lio/vertx/core/impl/ContextInternal;Lio/vertx/pgclient/impl/PgConnectionFactory;Lio/vertx/sqlclient/impl/tracing/QueryTracer;Lio/vertx/core/spi/metrics/ClientMetrics;Lio/vertx/sqlclient/PoolOptions;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // io.vertx.pgclient.impl.PgPoolImpl this
        start local 1 // io.vertx.core.impl.ContextInternal context
        start local 2 // io.vertx.pgclient.impl.PgConnectionFactory factory
        start local 3 // io.vertx.sqlclient.impl.tracing.QueryTracer tracer
        start local 4 // io.vertx.core.spi.metrics.ClientMetrics metrics
        start local 5 // io.vertx.sqlclient.PoolOptions poolOptions
         0: .line 60
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* factory */
            aload 3 /* tracer */
            aload 4 /* metrics */
            aload 5 /* poolOptions */
            invokespecial io.vertx.sqlclient.impl.PoolBase.<init>:(Lio/vertx/core/impl/ContextInternal;Lio/vertx/sqlclient/impl/ConnectionFactory;Lio/vertx/sqlclient/impl/tracing/QueryTracer;Lio/vertx/core/spi/metrics/ClientMetrics;Lio/vertx/sqlclient/PoolOptions;)V
         1: .line 61
            aload 0 /* this */
            aload 2 /* factory */
            putfield io.vertx.pgclient.impl.PgPoolImpl.factory:Lio/vertx/pgclient/impl/PgConnectionFactory;
         2: .line 62
            return
        end local 5 // io.vertx.sqlclient.PoolOptions poolOptions
        end local 4 // io.vertx.core.spi.metrics.ClientMetrics metrics
        end local 3 // io.vertx.sqlclient.impl.tracing.QueryTracer tracer
        end local 2 // io.vertx.pgclient.impl.PgConnectionFactory factory
        end local 1 // io.vertx.core.impl.ContextInternal context
        end local 0 // io.vertx.pgclient.impl.PgPoolImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lio/vertx/pgclient/impl/PgPoolImpl;
            0    3     1      context  Lio/vertx/core/impl/ContextInternal;
            0    3     2      factory  Lio/vertx/pgclient/impl/PgConnectionFactory;
            0    3     3       tracer  Lio/vertx/sqlclient/impl/tracing/QueryTracer;
            0    3     4      metrics  Lio/vertx/core/spi/metrics/ClientMetrics;
            0    3     5  poolOptions  Lio/vertx/sqlclient/PoolOptions;
    MethodParameters:
             Name  Flags
      context      
      factory      
      tracer       
      metrics      
      poolOptions  

  public int appendQueryPlaceholder(java.lang.StringBuilder, int, int);
    descriptor: (Ljava/lang/StringBuilder;II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.vertx.pgclient.impl.PgPoolImpl this
        start local 1 // java.lang.StringBuilder queryBuilder
        start local 2 // int index
        start local 3 // int current
         0: .line 66
            aload 1 /* queryBuilder */
            bipush 36
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            iconst_1
            iload 2 /* index */
            iadd
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         1: .line 67
            iload 2 /* index */
            ireturn
        end local 3 // int current
        end local 2 // int index
        end local 1 // java.lang.StringBuilder queryBuilder
        end local 0 // io.vertx.pgclient.impl.PgPoolImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lio/vertx/pgclient/impl/PgPoolImpl;
            0    2     1  queryBuilder  Ljava/lang/StringBuilder;
            0    2     2         index  I
            0    2     3       current  I
    MethodParameters:
              Name  Flags
      queryBuilder  
      index         
      current       

  public void connect(io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.sqlclient.impl.Connection>>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.pgclient.impl.PgPoolImpl this
        start local 1 // io.vertx.core.Handler completionHandler
         0: .line 72
            aload 0 /* this */
            getfield io.vertx.pgclient.impl.PgPoolImpl.factory:Lio/vertx/pgclient/impl/PgConnectionFactory;
            invokevirtual io.vertx.pgclient.impl.PgConnectionFactory.connect:()Lio/vertx/core/Future;
            aload 1 /* completionHandler */
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         1: .line 73
            return
        end local 1 // io.vertx.core.Handler completionHandler
        end local 0 // io.vertx.pgclient.impl.PgPoolImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lio/vertx/pgclient/impl/PgPoolImpl;
            0    2     1  completionHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/sqlclient/impl/Connection;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/sqlclient/impl/Connection;>;>;)V
    MethodParameters:
                   Name  Flags
      completionHandler  

  protected io.vertx.sqlclient.impl.SqlConnectionImpl wrap(io.vertx.core.impl.ContextInternal, io.vertx.sqlclient.impl.Connection);
    descriptor: (Lio/vertx/core/impl/ContextInternal;Lio/vertx/sqlclient/impl/Connection;)Lio/vertx/sqlclient/impl/SqlConnectionImpl;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // io.vertx.pgclient.impl.PgPoolImpl this
        start local 1 // io.vertx.core.impl.ContextInternal context
        start local 2 // io.vertx.sqlclient.impl.Connection conn
         0: .line 77
            new io.vertx.pgclient.impl.PgConnectionImpl
            dup
            aload 0 /* this */
            getfield io.vertx.pgclient.impl.PgPoolImpl.factory:Lio/vertx/pgclient/impl/PgConnectionFactory;
            aload 1 /* context */
            aload 2 /* conn */
            aload 0 /* this */
            getfield io.vertx.pgclient.impl.PgPoolImpl.tracer:Lio/vertx/sqlclient/impl/tracing/QueryTracer;
            aload 0 /* this */
            getfield io.vertx.pgclient.impl.PgPoolImpl.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
            invokespecial io.vertx.pgclient.impl.PgConnectionImpl.<init>:(Lio/vertx/pgclient/impl/PgConnectionFactory;Lio/vertx/core/impl/ContextInternal;Lio/vertx/sqlclient/impl/Connection;Lio/vertx/sqlclient/impl/tracing/QueryTracer;Lio/vertx/core/spi/metrics/ClientMetrics;)V
            areturn
        end local 2 // io.vertx.sqlclient.impl.Connection conn
        end local 1 // io.vertx.core.impl.ContextInternal context
        end local 0 // io.vertx.pgclient.impl.PgPoolImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/vertx/pgclient/impl/PgPoolImpl;
            0    1     1  context  Lio/vertx/core/impl/ContextInternal;
            0    1     2     conn  Lio/vertx/sqlclient/impl/Connection;
    MethodParameters:
         Name  Flags
      context  
      conn     

  private static void lambda$0(io.vertx.core.impl.ContextInternal, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 1 // io.vertx.core.AsyncResult ar
         0: .line 50
            aload 0
            invokeinterface io.vertx.core.impl.ContextInternal.owner:()Lio/vertx/core/impl/VertxInternal;
            invokeinterface io.vertx.core.impl.VertxInternal.close:()Lio/vertx/core/Future;
            return
        end local 1 // io.vertx.core.AsyncResult ar
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1    ar  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
}
Signature: Lio/vertx/sqlclient/impl/PoolBase<Lio/vertx/pgclient/impl/PgPoolImpl;>;Lio/vertx/pgclient/PgPool;
SourceFile: "PgPoolImpl.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles