public class org.springframework.jdbc.core.ArgumentPreparedStatementSetter implements org.springframework.jdbc.core.PreparedStatementSetter, org.springframework.jdbc.core.ParameterDisposer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.jdbc.core.ArgumentPreparedStatementSetter
  super_class: java.lang.Object
{
  private final java.lang.Object[] args;
    descriptor: [Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public void <init>(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.jdbc.core.ArgumentPreparedStatementSetter this
        start local 1 // java.lang.Object[] args
         0: .line 40
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 41
            aload 0 /* this */
            aload 1 /* args */
            putfield org.springframework.jdbc.core.ArgumentPreparedStatementSetter.args:[Ljava/lang/Object;
         2: .line 42
            return
        end local 1 // java.lang.Object[] args
        end local 0 // org.springframework.jdbc.core.ArgumentPreparedStatementSetter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/jdbc/core/ArgumentPreparedStatementSetter;
            0    3     1  args  [Ljava/lang/Object;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
      Name  Flags
      args  

  public void setValues(java.sql.PreparedStatement);
    descriptor: (Ljava/sql/PreparedStatement;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.springframework.jdbc.core.ArgumentPreparedStatementSetter this
        start local 1 // java.sql.PreparedStatement ps
         0: .line 47
            aload 0 /* this */
            getfield org.springframework.jdbc.core.ArgumentPreparedStatementSetter.args:[Ljava/lang/Object;
            ifnull 7
         1: .line 48
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 49
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.jdbc.core.ArgumentPreparedStatementSetter.args:[Ljava/lang/Object;
            iload 2 /* i */
            aaload
            astore 3 /* arg */
        start local 3 // java.lang.Object arg
         4: .line 50
            aload 0 /* this */
            aload 1 /* ps */
            iload 2 /* i */
            iconst_1
            iadd
            aload 3 /* arg */
            invokevirtual org.springframework.jdbc.core.ArgumentPreparedStatementSetter.doSetValue:(Ljava/sql/PreparedStatement;ILjava/lang/Object;)V
        end local 3 // java.lang.Object arg
         5: .line 48
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* this */
            getfield org.springframework.jdbc.core.ArgumentPreparedStatementSetter.args:[Ljava/lang/Object;
            arraylength
            if_icmplt 3
        end local 2 // int i
         7: .line 53
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.sql.PreparedStatement ps
        end local 0 // org.springframework.jdbc.core.ArgumentPreparedStatementSetter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/springframework/jdbc/core/ArgumentPreparedStatementSetter;
            0    8     1    ps  Ljava/sql/PreparedStatement;
            2    7     2     i  I
            4    5     3   arg  Ljava/lang/Object;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      ps    

  protected void doSetValue(java.sql.PreparedStatement, int, java.lang.Object);
    descriptor: (Ljava/sql/PreparedStatement;ILjava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.springframework.jdbc.core.ArgumentPreparedStatementSetter this
        start local 1 // java.sql.PreparedStatement ps
        start local 2 // int parameterPosition
        start local 3 // java.lang.Object argValue
         0: .line 64
            aload 3 /* argValue */
            instanceof org.springframework.jdbc.core.SqlParameterValue
            ifeq 4
         1: .line 65
            aload 3 /* argValue */
            checkcast org.springframework.jdbc.core.SqlParameterValue
            astore 4 /* paramValue */
        start local 4 // org.springframework.jdbc.core.SqlParameterValue paramValue
         2: .line 66
            aload 1 /* ps */
            iload 2 /* parameterPosition */
            aload 4 /* paramValue */
            aload 4 /* paramValue */
            invokevirtual org.springframework.jdbc.core.SqlParameterValue.getValue:()Ljava/lang/Object;
            invokestatic org.springframework.jdbc.core.StatementCreatorUtils.setParameterValue:(Ljava/sql/PreparedStatement;ILorg/springframework/jdbc/core/SqlParameter;Ljava/lang/Object;)V
        end local 4 // org.springframework.jdbc.core.SqlParameterValue paramValue
         3: .line 67
            goto 5
         4: .line 69
      StackMap locals:
      StackMap stack:
            aload 1 /* ps */
            iload 2 /* parameterPosition */
            ldc -2147483648
            aload 3 /* argValue */
            invokestatic org.springframework.jdbc.core.StatementCreatorUtils.setParameterValue:(Ljava/sql/PreparedStatement;IILjava/lang/Object;)V
         5: .line 71
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Object argValue
        end local 2 // int parameterPosition
        end local 1 // java.sql.PreparedStatement ps
        end local 0 // org.springframework.jdbc.core.ArgumentPreparedStatementSetter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0               this  Lorg/springframework/jdbc/core/ArgumentPreparedStatementSetter;
            0    6     1                 ps  Ljava/sql/PreparedStatement;
            0    6     2  parameterPosition  I
            0    6     3           argValue  Ljava/lang/Object;
            2    3     4         paramValue  Lorg/springframework/jdbc/core/SqlParameterValue;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
                   Name  Flags
      ps                 
      parameterPosition  
      argValue           

  public void cleanupParameters();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.jdbc.core.ArgumentPreparedStatementSetter this
         0: .line 75
            aload 0 /* this */
            getfield org.springframework.jdbc.core.ArgumentPreparedStatementSetter.args:[Ljava/lang/Object;
            invokestatic org.springframework.jdbc.core.StatementCreatorUtils.cleanupParameters:([Ljava/lang/Object;)V
         1: .line 76
            return
        end local 0 // org.springframework.jdbc.core.ArgumentPreparedStatementSetter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/jdbc/core/ArgumentPreparedStatementSetter;
}
SourceFile: "ArgumentPreparedStatementSetter.java"