public class org.hibernate.engine.internal.ParameterBinder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.engine.internal.ParameterBinder
  super_class: java.lang.Object
{
  private static final org.hibernate.internal.CoreMessageLogger LOG;
    descriptor: Lorg/hibernate/internal/CoreMessageLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 33
            ldc Lorg/hibernate/internal/CoreMessageLogger;
         1: .line 34
            ldc Lorg/hibernate/engine/internal/ParameterBinder;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         2: .line 32
            invokestatic org.jboss.logging.Logger.getMessageLogger:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.hibernate.internal.CoreMessageLogger
            putstatic org.hibernate.engine.internal.ParameterBinder.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         3: .line 35
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.ParameterBinder this
         0: .line 51
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 52
            return
        end local 0 // org.hibernate.engine.internal.ParameterBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/engine/internal/ParameterBinder;

  public static int bindQueryParameters(java.sql.PreparedStatement, org.hibernate.engine.spi.QueryParameters, int, org.hibernate.engine.internal.ParameterBinder$NamedParameterSource, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/QueryParameters;ILorg/hibernate/engine/internal/ParameterBinder$NamedParameterSource;Lorg/hibernate/engine/spi/SessionImplementor;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // java.sql.PreparedStatement st
        start local 1 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 2 // int start
        start local 3 // org.hibernate.engine.internal.ParameterBinder$NamedParameterSource source
        start local 4 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 74
            iload 2 /* start */
            istore 5 /* col */
        start local 5 // int col
         1: .line 75
            iload 5 /* col */
            aload 0 /* st */
            aload 1 /* queryParameters */
            iload 5 /* col */
            aload 4 /* session */
            invokestatic org.hibernate.engine.internal.ParameterBinder.bindPositionalParameters:(Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/QueryParameters;ILorg/hibernate/engine/spi/SessionImplementor;)I
            iadd
            istore 5 /* col */
         2: .line 76
            iload 5 /* col */
            aload 0 /* st */
            aload 1 /* queryParameters */
            iload 5 /* col */
            aload 3 /* source */
            aload 4 /* session */
            invokestatic org.hibernate.engine.internal.ParameterBinder.bindNamedParameters:(Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/QueryParameters;ILorg/hibernate/engine/internal/ParameterBinder$NamedParameterSource;Lorg/hibernate/engine/spi/SessionImplementor;)I
            iadd
            istore 5 /* col */
         3: .line 77
            iload 5 /* col */
            ireturn
        end local 5 // int col
        end local 4 // org.hibernate.engine.spi.SessionImplementor session
        end local 3 // org.hibernate.engine.internal.ParameterBinder$NamedParameterSource source
        end local 2 // int start
        end local 1 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 0 // java.sql.PreparedStatement st
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0               st  Ljava/sql/PreparedStatement;
            0    4     1  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0    4     2            start  I
            0    4     3           source  Lorg/hibernate/engine/internal/ParameterBinder$NamedParameterSource;
            0    4     4          session  Lorg/hibernate/engine/spi/SessionImplementor;
            1    4     5              col  I
    Exceptions:
      throws java.sql.SQLException, org.hibernate.HibernateException
    MethodParameters:
                 Name  Flags
      st               final
      queryParameters  final
      start            final
      source           final
      session          

  private static int bindPositionalParameters(java.sql.PreparedStatement, org.hibernate.engine.spi.QueryParameters, int, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/QueryParameters;ILorg/hibernate/engine/spi/SessionImplementor;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.sql.PreparedStatement st
        start local 1 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 2 // int start
        start local 3 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 86
            aload 0 /* st */
         1: .line 87
            aload 1 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getPositionalParameterValues:()[Ljava/lang/Object;
         2: .line 88
            aload 1 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getPositionalParameterTypes:()[Lorg/hibernate/type/Type;
         3: .line 89
            iload 2 /* start */
         4: .line 90
            aload 3 /* session */
         5: .line 85
            invokestatic org.hibernate.engine.internal.ParameterBinder.bindPositionalParameters:(Ljava/sql/PreparedStatement;[Ljava/lang/Object;[Lorg/hibernate/type/Type;ILorg/hibernate/engine/spi/SessionImplementor;)I
            ireturn
        end local 3 // org.hibernate.engine.spi.SessionImplementor session
        end local 2 // int start
        end local 1 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 0 // java.sql.PreparedStatement st
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0               st  Ljava/sql/PreparedStatement;
            0    6     1  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0    6     2            start  I
            0    6     3          session  Lorg/hibernate/engine/spi/SessionImplementor;
    Exceptions:
      throws java.sql.SQLException, org.hibernate.HibernateException
    MethodParameters:
                 Name  Flags
      st               final
      queryParameters  final
      start            final
      session          final

  private static int bindPositionalParameters(java.sql.PreparedStatement, java.lang.Object[], org.hibernate.type.Type[], int, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/sql/PreparedStatement;[Ljava/lang/Object;[Lorg/hibernate/type/Type;ILorg/hibernate/engine/spi/SessionImplementor;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // java.sql.PreparedStatement st
        start local 1 // java.lang.Object[] values
        start local 2 // org.hibernate.type.Type[] types
        start local 3 // int start
        start local 4 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 100
            iconst_0
            istore 5 /* span */
        start local 5 // int span
         1: .line 101
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         2: goto 6
         3: .line 102
      StackMap locals: int int
      StackMap stack:
            aload 2 /* types */
            iload 6 /* i */
            aaload
            aload 0 /* st */
            aload 1 /* values */
            iload 6 /* i */
            aaload
            iload 3 /* start */
            iload 5 /* span */
            iadd
            aload 4 /* session */
            invokeinterface org.hibernate.type.Type.nullSafeSet:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
         4: .line 103
            iload 5 /* span */
            aload 2 /* types */
            iload 6 /* i */
            aaload
            aload 4 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.type.Type.getColumnSpan:(Lorg/hibernate/engine/spi/Mapping;)I
            iadd
            istore 5 /* span */
         5: .line 101
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 6 /* i */
            aload 1 /* values */
            arraylength
            if_icmplt 3
        end local 6 // int i
         7: .line 105
            iload 5 /* span */
            ireturn
        end local 5 // int span
        end local 4 // org.hibernate.engine.spi.SessionImplementor session
        end local 3 // int start
        end local 2 // org.hibernate.type.Type[] types
        end local 1 // java.lang.Object[] values
        end local 0 // java.sql.PreparedStatement st
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0       st  Ljava/sql/PreparedStatement;
            0    8     1   values  [Ljava/lang/Object;
            0    8     2    types  [Lorg/hibernate/type/Type;
            0    8     3    start  I
            0    8     4  session  Lorg/hibernate/engine/spi/SessionImplementor;
            1    8     5     span  I
            2    7     6        i  I
    Exceptions:
      throws java.sql.SQLException, org.hibernate.HibernateException
    MethodParameters:
         Name  Flags
      st       final
      values   final
      types    final
      start    final
      session  final

  private static int bindNamedParameters(java.sql.PreparedStatement, org.hibernate.engine.spi.QueryParameters, int, org.hibernate.engine.internal.ParameterBinder$NamedParameterSource, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/QueryParameters;ILorg/hibernate/engine/internal/ParameterBinder$NamedParameterSource;Lorg/hibernate/engine/spi/SessionImplementor;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // java.sql.PreparedStatement ps
        start local 1 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 2 // int start
        start local 3 // org.hibernate.engine.internal.ParameterBinder$NamedParameterSource source
        start local 4 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 114
            aload 0 /* ps */
            aload 1 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getNamedParameters:()Ljava/util/Map;
            iload 2 /* start */
            aload 3 /* source */
            aload 4 /* session */
            invokestatic org.hibernate.engine.internal.ParameterBinder.bindNamedParameters:(Ljava/sql/PreparedStatement;Ljava/util/Map;ILorg/hibernate/engine/internal/ParameterBinder$NamedParameterSource;Lorg/hibernate/engine/spi/SessionImplementor;)I
            ireturn
        end local 4 // org.hibernate.engine.spi.SessionImplementor session
        end local 3 // org.hibernate.engine.internal.ParameterBinder$NamedParameterSource source
        end local 2 // int start
        end local 1 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 0 // java.sql.PreparedStatement ps
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0               ps  Ljava/sql/PreparedStatement;
            0    1     1  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0    1     2            start  I
            0    1     3           source  Lorg/hibernate/engine/internal/ParameterBinder$NamedParameterSource;
            0    1     4          session  Lorg/hibernate/engine/spi/SessionImplementor;
    Exceptions:
      throws java.sql.SQLException, org.hibernate.HibernateException
    MethodParameters:
                 Name  Flags
      ps               final
      queryParameters  final
      start            final
      source           final
      session          final

  private static int bindNamedParameters(java.sql.PreparedStatement, java.util.Map, int, org.hibernate.engine.internal.ParameterBinder$NamedParameterSource, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Ljava/util/Map;ILorg/hibernate/engine/internal/ParameterBinder$NamedParameterSource;Lorg/hibernate/engine/spi/SessionImplementor;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=16, args_size=5
        start local 0 // java.sql.PreparedStatement ps
        start local 1 // java.util.Map namedParams
        start local 2 // int start
        start local 3 // org.hibernate.engine.internal.ParameterBinder$NamedParameterSource source
        start local 4 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 123
            aload 1 /* namedParams */
            ifnull 24
         1: .line 124
            getstatic org.hibernate.engine.internal.ParameterBinder.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            istore 5 /* debugEnabled */
        start local 5 // boolean debugEnabled
         2: .line 126
            aload 1 /* namedParams */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6 /* iter */
        start local 6 // java.util.Iterator iter
         3: .line 127
            iconst_0
            istore 7 /* result */
        start local 7 // int result
         4: .line 128
            goto 22
         5: .line 129
      StackMap locals: int java.util.Iterator int
      StackMap stack:
            aload 6 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 8 /* e */
        start local 8 // java.util.Map$Entry e
         6: .line 130
            aload 8 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* name */
        start local 9 // java.lang.String name
         7: .line 131
            aload 8 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.TypedValue
            astore 10 /* typedVal */
        start local 10 // org.hibernate.engine.spi.TypedValue typedVal
         8: .line 132
            aload 3 /* source */
            aload 9 /* name */
            invokeinterface org.hibernate.engine.internal.ParameterBinder$NamedParameterSource.getNamedParameterLocations:(Ljava/lang/String;)[I
            astore 11 /* locations */
        start local 11 // int[] locations
         9: .line 133
            aload 11 /* locations */
            dup
            astore 15
            arraylength
            istore 14
            iconst_0
            istore 13
            goto 20
      StackMap locals: java.sql.PreparedStatement java.util.Map int org.hibernate.engine.internal.ParameterBinder$NamedParameterSource org.hibernate.engine.spi.SessionImplementor int java.util.Iterator int java.util.Map$Entry java.lang.String org.hibernate.engine.spi.TypedValue int[] top int int int[]
      StackMap stack:
        10: aload 15
            iload 13
            iaload
            istore 12 /* location */
        start local 12 // int location
        11: .line 134
            iload 5 /* debugEnabled */
            ifeq 18
        12: .line 135
            getstatic org.hibernate.engine.internal.ParameterBinder.LOG:Lorg/hibernate/internal/CoreMessageLogger;
        13: .line 136
            ldc "bindNamedParameters() %s -> %s [%s]"
        14: .line 137
            aload 10 /* typedVal */
            invokevirtual org.hibernate.engine.spi.TypedValue.getValue:()Ljava/lang/Object;
        15: .line 138
            aload 9 /* name */
        16: .line 139
            iload 12 /* location */
            iload 2 /* start */
            iadd
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        17: .line 135
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        18: .line 142
      StackMap locals: java.sql.PreparedStatement java.util.Map int org.hibernate.engine.internal.ParameterBinder$NamedParameterSource org.hibernate.engine.spi.SessionImplementor int java.util.Iterator int java.util.Map$Entry java.lang.String org.hibernate.engine.spi.TypedValue int[] int int int int[]
      StackMap stack:
            aload 10 /* typedVal */
            invokevirtual org.hibernate.engine.spi.TypedValue.getType:()Lorg/hibernate/type/Type;
            aload 0 /* ps */
            aload 10 /* typedVal */
            invokevirtual org.hibernate.engine.spi.TypedValue.getValue:()Ljava/lang/Object;
            iload 12 /* location */
            iload 2 /* start */
            iadd
            aload 4 /* session */
            invokeinterface org.hibernate.type.Type.nullSafeSet:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
        end local 12 // int location
        19: .line 133
            iinc 13 1
      StackMap locals: java.sql.PreparedStatement java.util.Map int org.hibernate.engine.internal.ParameterBinder$NamedParameterSource org.hibernate.engine.spi.SessionImplementor int java.util.Iterator int java.util.Map$Entry java.lang.String org.hibernate.engine.spi.TypedValue int[] top int int int[]
      StackMap stack:
        20: iload 13
            iload 14
            if_icmplt 10
        21: .line 144
            iload 7 /* result */
            aload 11 /* locations */
            arraylength
            iadd
            istore 7 /* result */
        end local 11 // int[] locations
        end local 10 // org.hibernate.engine.spi.TypedValue typedVal
        end local 9 // java.lang.String name
        end local 8 // java.util.Map$Entry e
        22: .line 128
      StackMap locals: java.sql.PreparedStatement java.util.Map int org.hibernate.engine.internal.ParameterBinder$NamedParameterSource org.hibernate.engine.spi.SessionImplementor int java.util.Iterator int
      StackMap stack:
            aload 6 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        23: .line 146
            iload 7 /* result */
            ireturn
        end local 7 // int result
        end local 6 // java.util.Iterator iter
        end local 5 // boolean debugEnabled
        24: .line 148
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // org.hibernate.engine.spi.SessionImplementor session
        end local 3 // org.hibernate.engine.internal.ParameterBinder$NamedParameterSource source
        end local 2 // int start
        end local 1 // java.util.Map namedParams
        end local 0 // java.sql.PreparedStatement ps
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   25     0            ps  Ljava/sql/PreparedStatement;
            0   25     1   namedParams  Ljava/util/Map;
            0   25     2         start  I
            0   25     3        source  Lorg/hibernate/engine/internal/ParameterBinder$NamedParameterSource;
            0   25     4       session  Lorg/hibernate/engine/spi/SessionImplementor;
            2   24     5  debugEnabled  Z
            3   24     6          iter  Ljava/util/Iterator;
            4   24     7        result  I
            6   22     8             e  Ljava/util/Map$Entry;
            7   22     9          name  Ljava/lang/String;
            8   22    10      typedVal  Lorg/hibernate/engine/spi/TypedValue;
            9   22    11     locations  [I
           11   19    12      location  I
    Exceptions:
      throws java.sql.SQLException, org.hibernate.HibernateException
    MethodParameters:
             Name  Flags
      ps           final
      namedParams  final
      start        final
      source       final
      session      final
}
SourceFile: "ParameterBinder.java"
NestMembers:
  org.hibernate.engine.internal.ParameterBinder$NamedParameterSource
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public abstract NamedParameterSource = org.hibernate.engine.internal.ParameterBinder$NamedParameterSource of org.hibernate.engine.internal.ParameterBinder