public abstract class android.database.sqlite.SQLiteProgram extends android.database.sqlite.SQLiteClosable
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: android.database.sqlite.SQLiteProgram
  super_class: android.database.sqlite.SQLiteClosable
{
  private static final java.lang.String[] EMPTY_STRING_ARRAY;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final android.database.sqlite.SQLiteDatabase mDatabase;
    descriptor: Landroid/database/sqlite/SQLiteDatabase;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String mSql;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean mReadOnly;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String[] mColumnNames;
    descriptor: [Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int mNumParameters;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Object[] mBindArgs;
    descriptor: [Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 31
            iconst_0
            anewarray java.lang.String
            putstatic android.database.sqlite.SQLiteProgram.EMPTY_STRING_ARRAY:[Ljava/lang/String;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(android.database.sqlite.SQLiteDatabase, java.lang.String, java.lang.Object[], android.os.CancellationSignal);
    descriptor: (Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // android.database.sqlite.SQLiteProgram this
        start local 1 // android.database.sqlite.SQLiteDatabase db
        start local 2 // java.lang.String sql
        start local 3 // java.lang.Object[] bindArgs
        start local 4 // android.os.CancellationSignal cancellationSignalForPrepare
         0: .line 40
            aload 0 /* this */
            invokespecial android.database.sqlite.SQLiteClosable.<init>:()V
         1: .line 42
            aload 0 /* this */
            aload 1 /* db */
            putfield android.database.sqlite.SQLiteProgram.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
         2: .line 43
            aload 0 /* this */
            aload 2 /* sql */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            putfield android.database.sqlite.SQLiteProgram.mSql:Ljava/lang/String;
         3: .line 45
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteProgram.mSql:Ljava/lang/String;
            invokestatic android.database.DatabaseUtils.getSqlStatementType:(Ljava/lang/String;)I
            istore 5 /* n */
        start local 5 // int n
         4: .line 46
            iload 5 /* n */
            tableswitch { // 4 - 6
                    4: 5
                    5: 5
                    6: 5
              default: 9
          }
         5: .line 50
      StackMap locals: android.database.sqlite.SQLiteProgram android.database.sqlite.SQLiteDatabase java.lang.String java.lang.Object[] android.os.CancellationSignal int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.database.sqlite.SQLiteProgram.mReadOnly:Z
         6: .line 51
            aload 0 /* this */
            getstatic android.database.sqlite.SQLiteProgram.EMPTY_STRING_ARRAY:[Ljava/lang/String;
            putfield android.database.sqlite.SQLiteProgram.mColumnNames:[Ljava/lang/String;
         7: .line 52
            aload 0 /* this */
            iconst_0
            putfield android.database.sqlite.SQLiteProgram.mNumParameters:I
         8: .line 53
            goto 20
         9: .line 56
      StackMap locals:
      StackMap stack:
            iload 5 /* n */
            iconst_1
            if_icmpne 10
            iconst_1
            goto 11
      StackMap locals:
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 6 /* assumeReadOnly */
        start local 6 // boolean assumeReadOnly
        12: .line 57
            new android.database.sqlite.SQLiteStatementInfo
            dup
            invokespecial android.database.sqlite.SQLiteStatementInfo.<init>:()V
            astore 7 /* info */
        start local 7 // android.database.sqlite.SQLiteStatementInfo info
        13: .line 58
            aload 1 /* db */
            invokevirtual android.database.sqlite.SQLiteDatabase.getThreadSession:()Landroid/database/sqlite/SQLiteSession;
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteProgram.mSql:Ljava/lang/String;
        14: .line 59
            aload 1 /* db */
            iload 6 /* assumeReadOnly */
            invokevirtual android.database.sqlite.SQLiteDatabase.getThreadDefaultConnectionFlags:(Z)I
        15: .line 60
            aload 4 /* cancellationSignalForPrepare */
            aload 7 /* info */
        16: .line 58
            invokevirtual android.database.sqlite.SQLiteSession.prepare:(Ljava/lang/String;ILandroid/os/CancellationSignal;Landroid/database/sqlite/SQLiteStatementInfo;)V
        17: .line 61
            aload 0 /* this */
            aload 7 /* info */
            getfield android.database.sqlite.SQLiteStatementInfo.readOnly:Z
            putfield android.database.sqlite.SQLiteProgram.mReadOnly:Z
        18: .line 62
            aload 0 /* this */
            aload 7 /* info */
            getfield android.database.sqlite.SQLiteStatementInfo.columnNames:[Ljava/lang/String;
            putfield android.database.sqlite.SQLiteProgram.mColumnNames:[Ljava/lang/String;
        19: .line 63
            aload 0 /* this */
            aload 7 /* info */
            getfield android.database.sqlite.SQLiteStatementInfo.numParameters:I
            putfield android.database.sqlite.SQLiteProgram.mNumParameters:I
        end local 7 // android.database.sqlite.SQLiteStatementInfo info
        end local 6 // boolean assumeReadOnly
        20: .line 67
      StackMap locals:
      StackMap stack:
            aload 3 /* bindArgs */
            ifnull 25
            aload 3 /* bindArgs */
            arraylength
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteProgram.mNumParameters:I
            if_icmple 25
        21: .line 68
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Too many bind arguments.  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        22: .line 69
            aload 3 /* bindArgs */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " arguments were provided but the statement needs "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 70
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteProgram.mNumParameters:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " arguments."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        24: .line 68
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 73
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteProgram.mNumParameters:I
            ifeq 30
        26: .line 74
            aload 0 /* this */
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteProgram.mNumParameters:I
            anewarray java.lang.Object
            putfield android.database.sqlite.SQLiteProgram.mBindArgs:[Ljava/lang/Object;
        27: .line 75
            aload 3 /* bindArgs */
            ifnull 31
        28: .line 76
            aload 3 /* bindArgs */
            iconst_0
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteProgram.mBindArgs:[Ljava/lang/Object;
            iconst_0
            aload 3 /* bindArgs */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        29: .line 78
            goto 31
        30: .line 79
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield android.database.sqlite.SQLiteProgram.mBindArgs:[Ljava/lang/Object;
        31: .line 81
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int n
        end local 4 // android.os.CancellationSignal cancellationSignalForPrepare
        end local 3 // java.lang.Object[] bindArgs
        end local 2 // java.lang.String sql
        end local 1 // android.database.sqlite.SQLiteDatabase db
        end local 0 // android.database.sqlite.SQLiteProgram this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0   32     0                          this  Landroid/database/sqlite/SQLiteProgram;
            0   32     1                            db  Landroid/database/sqlite/SQLiteDatabase;
            0   32     2                           sql  Ljava/lang/String;
            0   32     3                      bindArgs  [Ljava/lang/Object;
            0   32     4  cancellationSignalForPrepare  Landroid/os/CancellationSignal;
            4   32     5                             n  I
           12   20     6                assumeReadOnly  Z
           13   20     7                          info  Landroid/database/sqlite/SQLiteStatementInfo;
    MethodParameters:
                              Name  Flags
      db                            
      sql                           
      bindArgs                      
      cancellationSignalForPrepare  

  final android.database.sqlite.SQLiteDatabase getDatabase();
    descriptor: ()Landroid/database/sqlite/SQLiteDatabase;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.database.sqlite.SQLiteProgram this
         0: .line 84
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteProgram.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            areturn
        end local 0 // android.database.sqlite.SQLiteProgram this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/database/sqlite/SQLiteProgram;

  final java.lang.String getSql();
    descriptor: ()Ljava/lang/String;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.database.sqlite.SQLiteProgram this
         0: .line 88
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteProgram.mSql:Ljava/lang/String;
            areturn
        end local 0 // android.database.sqlite.SQLiteProgram this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/database/sqlite/SQLiteProgram;

  final java.lang.Object[] getBindArgs();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.database.sqlite.SQLiteProgram this
         0: .line 92
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteProgram.mBindArgs:[Ljava/lang/Object;
            areturn
        end local 0 // android.database.sqlite.SQLiteProgram this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/database/sqlite/SQLiteProgram;

  final java.lang.String[] getColumnNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.database.sqlite.SQLiteProgram this
         0: .line 96
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteProgram.mColumnNames:[Ljava/lang/String;
            areturn
        end local 0 // android.database.sqlite.SQLiteProgram this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/database/sqlite/SQLiteProgram;

  protected final android.database.sqlite.SQLiteSession getSession();
    descriptor: ()Landroid/database/sqlite/SQLiteSession;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.database.sqlite.SQLiteProgram this
         0: .line 101
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteProgram.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            invokevirtual android.database.sqlite.SQLiteDatabase.getThreadSession:()Landroid/database/sqlite/SQLiteSession;
            areturn
        end local 0 // android.database.sqlite.SQLiteProgram this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/database/sqlite/SQLiteProgram;

  protected final int getConnectionFlags();
    descriptor: ()I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.database.sqlite.SQLiteProgram this
         0: .line 106
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteProgram.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteProgram.mReadOnly:Z
            invokevirtual android.database.sqlite.SQLiteDatabase.getThreadDefaultConnectionFlags:(Z)I
            ireturn
        end local 0 // android.database.sqlite.SQLiteProgram this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/database/sqlite/SQLiteProgram;

  protected final void onCorruption();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.database.sqlite.SQLiteProgram this
         0: .line 111
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteProgram.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            invokevirtual android.database.sqlite.SQLiteDatabase.onCorruption:()V
         1: .line 112
            return
        end local 0 // android.database.sqlite.SQLiteProgram this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/database/sqlite/SQLiteProgram;

  public final int getUniqueId();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.database.sqlite.SQLiteProgram this
         0: .line 120
            iconst_m1
            ireturn
        end local 0 // android.database.sqlite.SQLiteProgram this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/database/sqlite/SQLiteProgram;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public void bindNull(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.database.sqlite.SQLiteProgram this
        start local 1 // int index
         0: .line 130
            aload 0 /* this */
            iload 1 /* index */
            aconst_null
            invokevirtual android.database.sqlite.SQLiteProgram.bind:(ILjava/lang/Object;)V
         1: .line 131
            return
        end local 1 // int index
        end local 0 // android.database.sqlite.SQLiteProgram this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/database/sqlite/SQLiteProgram;
            0    2     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public void bindLong(int, long);
    descriptor: (IJ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // android.database.sqlite.SQLiteProgram this
        start local 1 // int index
        start local 2 // long value
         0: .line 141
            aload 0 /* this */
            iload 1 /* index */
            lload 2 /* value */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual android.database.sqlite.SQLiteProgram.bind:(ILjava/lang/Object;)V
         1: .line 142
            return
        end local 2 // long value
        end local 1 // int index
        end local 0 // android.database.sqlite.SQLiteProgram this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/database/sqlite/SQLiteProgram;
            0    2     1  index  I
            0    2     2  value  J
    MethodParameters:
       Name  Flags
      index  
      value  

  public void bindDouble(int, double);
    descriptor: (ID)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // android.database.sqlite.SQLiteProgram this
        start local 1 // int index
        start local 2 // double value
         0: .line 152
            aload 0 /* this */
            iload 1 /* index */
            dload 2 /* value */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokevirtual android.database.sqlite.SQLiteProgram.bind:(ILjava/lang/Object;)V
         1: .line 153
            return
        end local 2 // double value
        end local 1 // int index
        end local 0 // android.database.sqlite.SQLiteProgram this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/database/sqlite/SQLiteProgram;
            0    2     1  index  I
            0    2     2  value  D
    MethodParameters:
       Name  Flags
      index  
      value  

  public void bindString(int, java.lang.String);
    descriptor: (ILjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // android.database.sqlite.SQLiteProgram this
        start local 1 // int index
        start local 2 // java.lang.String value
         0: .line 163
            aload 2 /* value */
            ifnonnull 2
         1: .line 164
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "the bind value at index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " is null"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* index */
            aload 2 /* value */
            invokevirtual android.database.sqlite.SQLiteProgram.bind:(ILjava/lang/Object;)V
         3: .line 167
            return
        end local 2 // java.lang.String value
        end local 1 // int index
        end local 0 // android.database.sqlite.SQLiteProgram this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/database/sqlite/SQLiteProgram;
            0    4     1  index  I
            0    4     2  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      index  
      value  

  public void bindBlob(int, byte[]);
    descriptor: (I[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // android.database.sqlite.SQLiteProgram this
        start local 1 // int index
        start local 2 // byte[] value
         0: .line 177
            aload 2 /* value */
            ifnonnull 2
         1: .line 178
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "the bind value at index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " is null"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 180
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* index */
            aload 2 /* value */
            invokevirtual android.database.sqlite.SQLiteProgram.bind:(ILjava/lang/Object;)V
         3: .line 181
            return
        end local 2 // byte[] value
        end local 1 // int index
        end local 0 // android.database.sqlite.SQLiteProgram this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/database/sqlite/SQLiteProgram;
            0    4     1  index  I
            0    4     2  value  [B
    MethodParameters:
       Name  Flags
      index  
      value  

  public void clearBindings();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.database.sqlite.SQLiteProgram this
         0: .line 187
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteProgram.mBindArgs:[Ljava/lang/Object;
            ifnull 2
         1: .line 188
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteProgram.mBindArgs:[Ljava/lang/Object;
            aconst_null
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 190
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.database.sqlite.SQLiteProgram this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/database/sqlite/SQLiteProgram;

  public void bindAllArgsAsStrings(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // android.database.sqlite.SQLiteProgram this
        start local 1 // java.lang.String[] bindArgs
         0: .line 198
            aload 1 /* bindArgs */
            ifnull 6
         1: .line 199
            aload 1 /* bindArgs */
            arraylength
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 200
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* i */
            aload 1 /* bindArgs */
            iload 2 /* i */
            iconst_1
            isub
            aaload
            invokevirtual android.database.sqlite.SQLiteProgram.bindString:(ILjava/lang/String;)V
         4: .line 199
            iinc 2 /* i */ -1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            ifne 3
        end local 2 // int i
         6: .line 203
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String[] bindArgs
        end local 0 // android.database.sqlite.SQLiteProgram this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Landroid/database/sqlite/SQLiteProgram;
            0    7     1  bindArgs  [Ljava/lang/String;
            2    6     2         i  I
    MethodParameters:
          Name  Flags
      bindArgs  

  protected void onAllReferencesReleased();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.database.sqlite.SQLiteProgram this
         0: .line 207
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteProgram.clearBindings:()V
         1: .line 208
            return
        end local 0 // android.database.sqlite.SQLiteProgram this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/database/sqlite/SQLiteProgram;

  private void bind(int, java.lang.Object);
    descriptor: (ILjava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // android.database.sqlite.SQLiteProgram this
        start local 1 // int index
        start local 2 // java.lang.Object value
         0: .line 211
            iload 1 /* index */
            iconst_1
            if_icmplt 1
            iload 1 /* index */
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteProgram.mNumParameters:I
            if_icmple 5
         1: .line 212
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot bind argument at index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 213
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " because the index is out of range.  "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 214
            ldc "The statement has "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteProgram.mNumParameters:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " parameters."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 212
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteProgram.mBindArgs:[Ljava/lang/Object;
            iload 1 /* index */
            iconst_1
            isub
            aload 2 /* value */
            aastore
         6: .line 217
            return
        end local 2 // java.lang.Object value
        end local 1 // int index
        end local 0 // android.database.sqlite.SQLiteProgram this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Landroid/database/sqlite/SQLiteProgram;
            0    7     1  index  I
            0    7     2  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      index  
      value  
}
SourceFile: "SQLiteProgram.java"