public class android.database.DatabaseUtils$InsertHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.database.DatabaseUtils$InsertHelper
  super_class: java.lang.Object
{
  private final android.database.sqlite.SQLiteDatabase mDb;
    descriptor: Landroid/database/sqlite/SQLiteDatabase;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private java.util.HashMap<java.lang.String, java.lang.Integer> mColumns;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;

  private java.lang.String mInsertSQL;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private android.database.sqlite.SQLiteStatement mInsertStatement;
    descriptor: Landroid/database/sqlite/SQLiteStatement;
    flags: (0x0002) ACC_PRIVATE

  private android.database.sqlite.SQLiteStatement mReplaceStatement;
    descriptor: Landroid/database/sqlite/SQLiteStatement;
    flags: (0x0002) ACC_PRIVATE

  private android.database.sqlite.SQLiteStatement mPreparedStatement;
    descriptor: Landroid/database/sqlite/SQLiteStatement;
    flags: (0x0002) ACC_PRIVATE

  public static final int TABLE_INFO_PRAGMA_COLUMNNAME_INDEX;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int TABLE_INFO_PRAGMA_DEFAULT_INDEX;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public void <init>(android.database.sqlite.SQLiteDatabase, java.lang.String);
    descriptor: (Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.database.DatabaseUtils$InsertHelper this
        start local 1 // android.database.sqlite.SQLiteDatabase db
        start local 2 // java.lang.String tableName
         0: .line 1030
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1005
            aload 0 /* this */
            aconst_null
            putfield android.database.DatabaseUtils$InsertHelper.mInsertSQL:Ljava/lang/String;
         2: .line 1006
            aload 0 /* this */
            aconst_null
            putfield android.database.DatabaseUtils$InsertHelper.mInsertStatement:Landroid/database/sqlite/SQLiteStatement;
         3: .line 1007
            aload 0 /* this */
            aconst_null
            putfield android.database.DatabaseUtils$InsertHelper.mReplaceStatement:Landroid/database/sqlite/SQLiteStatement;
         4: .line 1008
            aload 0 /* this */
            aconst_null
            putfield android.database.DatabaseUtils$InsertHelper.mPreparedStatement:Landroid/database/sqlite/SQLiteStatement;
         5: .line 1031
            aload 0 /* this */
            aload 1 /* db */
            putfield android.database.DatabaseUtils$InsertHelper.mDb:Landroid/database/sqlite/SQLiteDatabase;
         6: .line 1032
            aload 0 /* this */
            aload 2 /* tableName */
            putfield android.database.DatabaseUtils$InsertHelper.mTableName:Ljava/lang/String;
         7: .line 1033
            return
        end local 2 // java.lang.String tableName
        end local 1 // android.database.sqlite.SQLiteDatabase db
        end local 0 // android.database.DatabaseUtils$InsertHelper this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Landroid/database/DatabaseUtils$InsertHelper;
            0    8     1         db  Landroid/database/sqlite/SQLiteDatabase;
            0    8     2  tableName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      db         
      tableName  

  private void buildSQL();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // android.database.DatabaseUtils$InsertHelper this
         0: .line 1036
            new java.lang.StringBuilder
            dup
            sipush 128
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 1037
            aload 1 /* sb */
            ldc "INSERT INTO "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 1038
            aload 1 /* sb */
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mTableName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 1039
            aload 1 /* sb */
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 1041
            new java.lang.StringBuilder
            dup
            sipush 128
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* sbv */
        start local 2 // java.lang.StringBuilder sbv
         5: .line 1042
            aload 2 /* sbv */
            ldc "VALUES ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 1044
            iconst_1
            istore 3 /* i */
        start local 3 // int i
         7: .line 1045
            aconst_null
            astore 4 /* cur */
        start local 4 // android.database.Cursor cur
         8: .line 1047
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mDb:Landroid/database/sqlite/SQLiteDatabase;
            new java.lang.StringBuilder
            dup
            ldc "PRAGMA table_info("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mTableName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aconst_null
            invokevirtual android.database.sqlite.SQLiteDatabase.rawQuery:(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
            astore 4 /* cur */
         9: .line 1048
            aload 0 /* this */
            new java.util.HashMap
            dup
            aload 4 /* cur */
            invokeinterface android.database.Cursor.getCount:()I
            invokespecial java.util.HashMap.<init>:(I)V
            putfield android.database.DatabaseUtils$InsertHelper.mColumns:Ljava/util/HashMap;
        10: .line 1049
            goto 30
        11: .line 1050
      StackMap locals: android.database.DatabaseUtils$InsertHelper java.lang.StringBuilder java.lang.StringBuilder int android.database.Cursor
      StackMap stack:
            aload 4 /* cur */
            iconst_1
            invokeinterface android.database.Cursor.getString:(I)Ljava/lang/String;
            astore 5 /* columnName */
        start local 5 // java.lang.String columnName
        12: .line 1051
            aload 4 /* cur */
            iconst_4
            invokeinterface android.database.Cursor.getString:(I)Ljava/lang/String;
            astore 6 /* defaultValue */
        start local 6 // java.lang.String defaultValue
        13: .line 1053
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mColumns:Ljava/util/HashMap;
            aload 5 /* columnName */
            iload 3 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 1054
            aload 1 /* sb */
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 1055
            aload 1 /* sb */
            aload 5 /* columnName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 1056
            aload 1 /* sb */
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 1058
            aload 6 /* defaultValue */
            ifnonnull 20
        18: .line 1059
            aload 2 /* sbv */
            ldc "?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 1060
            goto 23
        20: .line 1061
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 2 /* sbv */
            ldc "COALESCE(?, "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 1062
            aload 2 /* sbv */
            aload 6 /* defaultValue */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        22: .line 1063
            aload 2 /* sbv */
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 1066
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            iload 3 /* i */
            aload 4 /* cur */
            invokeinterface android.database.Cursor.getCount:()I
            if_icmpne 24
            ldc ") "
            goto 25
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        24: ldc ", "
      StackMap locals: android.database.DatabaseUtils$InsertHelper java.lang.StringBuilder java.lang.StringBuilder int android.database.Cursor java.lang.String java.lang.String
      StackMap stack: java.lang.StringBuilder java.lang.String
        25: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        26: .line 1067
            aload 2 /* sbv */
            iload 3 /* i */
            aload 4 /* cur */
            invokeinterface android.database.Cursor.getCount:()I
            if_icmpne 27
            ldc ");"
            goto 28
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        27: ldc ", "
      StackMap locals: android.database.DatabaseUtils$InsertHelper java.lang.StringBuilder java.lang.StringBuilder int android.database.Cursor java.lang.String java.lang.String
      StackMap stack: java.lang.StringBuilder java.lang.String
        28: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 1068
            iinc 3 /* i */ 1
        end local 6 // java.lang.String defaultValue
        end local 5 // java.lang.String columnName
        30: .line 1049
      StackMap locals:
      StackMap stack:
            aload 4 /* cur */
            invokeinterface android.database.Cursor.moveToNext:()Z
            ifne 11
        31: .line 1070
            goto 35
      StackMap locals:
      StackMap stack: java.lang.Throwable
        32: astore 7
        33: .line 1071
            aload 4 /* cur */
            ifnull 34
            aload 4 /* cur */
            invokeinterface android.database.Cursor.close:()V
        34: .line 1072
      StackMap locals: android.database.DatabaseUtils$InsertHelper java.lang.StringBuilder java.lang.StringBuilder int android.database.Cursor top top java.lang.Throwable
      StackMap stack:
            aload 7
            athrow
        35: .line 1071
      StackMap locals: android.database.DatabaseUtils$InsertHelper java.lang.StringBuilder java.lang.StringBuilder int android.database.Cursor
      StackMap stack:
            aload 4 /* cur */
            ifnull 36
            aload 4 /* cur */
            invokeinterface android.database.Cursor.close:()V
        36: .line 1074
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            aload 2 /* sbv */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            pop
        37: .line 1076
            aload 0 /* this */
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield android.database.DatabaseUtils$InsertHelper.mInsertSQL:Ljava/lang/String;
        38: .line 1078
            return
        end local 4 // android.database.Cursor cur
        end local 3 // int i
        end local 2 // java.lang.StringBuilder sbv
        end local 1 // java.lang.StringBuilder sb
        end local 0 // android.database.DatabaseUtils$InsertHelper this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   39     0          this  Landroid/database/DatabaseUtils$InsertHelper;
            1   39     1            sb  Ljava/lang/StringBuilder;
            5   39     2           sbv  Ljava/lang/StringBuilder;
            7   39     3             i  I
            8   39     4           cur  Landroid/database/Cursor;
           12   30     5    columnName  Ljava/lang/String;
           13   30     6  defaultValue  Ljava/lang/String;
      Exception table:
        from    to  target  type
           8    32      32  any
    Exceptions:
      throws android.database.SQLException

  private android.database.sqlite.SQLiteStatement getStatement(boolean);
    descriptor: (Z)Landroid/database/sqlite/SQLiteStatement;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.database.DatabaseUtils$InsertHelper this
        start local 1 // boolean allowReplace
         0: .line 1081
            iload 1 /* allowReplace */
            ifeq 6
         1: .line 1082
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mReplaceStatement:Landroid/database/sqlite/SQLiteStatement;
            ifnonnull 5
         2: .line 1083
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mInsertSQL:Ljava/lang/String;
            ifnonnull 3
            aload 0 /* this */
            invokevirtual android.database.DatabaseUtils$InsertHelper.buildSQL:()V
         3: .line 1085
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "INSERT OR REPLACE"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mInsertSQL:Ljava/lang/String;
            bipush 6
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* replaceSQL */
        start local 2 // java.lang.String replaceSQL
         4: .line 1086
            aload 0 /* this */
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mDb:Landroid/database/sqlite/SQLiteDatabase;
            aload 2 /* replaceSQL */
            invokevirtual android.database.sqlite.SQLiteDatabase.compileStatement:(Ljava/lang/String;)Landroid/database/sqlite/SQLiteStatement;
            putfield android.database.DatabaseUtils$InsertHelper.mReplaceStatement:Landroid/database/sqlite/SQLiteStatement;
        end local 2 // java.lang.String replaceSQL
         5: .line 1088
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mReplaceStatement:Landroid/database/sqlite/SQLiteStatement;
            areturn
         6: .line 1090
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mInsertStatement:Landroid/database/sqlite/SQLiteStatement;
            ifnonnull 9
         7: .line 1091
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mInsertSQL:Ljava/lang/String;
            ifnonnull 8
            aload 0 /* this */
            invokevirtual android.database.DatabaseUtils$InsertHelper.buildSQL:()V
         8: .line 1092
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mDb:Landroid/database/sqlite/SQLiteDatabase;
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mInsertSQL:Ljava/lang/String;
            invokevirtual android.database.sqlite.SQLiteDatabase.compileStatement:(Ljava/lang/String;)Landroid/database/sqlite/SQLiteStatement;
            putfield android.database.DatabaseUtils$InsertHelper.mInsertStatement:Landroid/database/sqlite/SQLiteStatement;
         9: .line 1094
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mInsertStatement:Landroid/database/sqlite/SQLiteStatement;
            areturn
        end local 1 // boolean allowReplace
        end local 0 // android.database.DatabaseUtils$InsertHelper this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Landroid/database/DatabaseUtils$InsertHelper;
            0   10     1  allowReplace  Z
            4    5     2    replaceSQL  Ljava/lang/String;
    Exceptions:
      throws android.database.SQLException
    MethodParameters:
              Name  Flags
      allowReplace  

  private long insertInternal(android.content.ContentValues, boolean);
    descriptor: (Landroid/content/ContentValues;Z)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=3
        start local 0 // android.database.DatabaseUtils$InsertHelper this
        start local 1 // android.content.ContentValues values
        start local 2 // boolean allowReplace
         0: .line 1117
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mDb:Landroid/database/sqlite/SQLiteDatabase;
            invokevirtual android.database.sqlite.SQLiteDatabase.beginTransactionNonExclusive:()V
         1: .line 1119
            aload 0 /* this */
            iload 2 /* allowReplace */
            invokevirtual android.database.DatabaseUtils$InsertHelper.getStatement:(Z)Landroid/database/sqlite/SQLiteStatement;
            astore 3 /* stmt */
        start local 3 // android.database.sqlite.SQLiteStatement stmt
         2: .line 1120
            aload 3 /* stmt */
            invokevirtual android.database.sqlite.SQLiteStatement.clearBindings:()V
         3: .line 1122
            aload 1 /* values */
            invokevirtual android.content.ContentValues.valueSet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 8
      StackMap locals: android.database.DatabaseUtils$InsertHelper android.content.ContentValues int android.database.sqlite.SQLiteStatement top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* e */
        start local 4 // java.util.Map$Entry e
         5: .line 1123
            aload 4 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* key */
        start local 6 // java.lang.String key
         6: .line 1124
            aload 0 /* this */
            aload 6 /* key */
            invokevirtual android.database.DatabaseUtils$InsertHelper.getColumnIndex:(Ljava/lang/String;)I
            istore 7 /* i */
        start local 7 // int i
         7: .line 1125
            aload 3 /* stmt */
            iload 7 /* i */
            aload 4 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokestatic android.database.DatabaseUtils.bindObjectToProgram:(Landroid/database/sqlite/SQLiteProgram;ILjava/lang/Object;)V
        end local 7 // int i
        end local 6 // java.lang.String key
        end local 4 // java.util.Map$Entry e
         8: .line 1122
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         9: .line 1131
            aload 3 /* stmt */
            invokevirtual android.database.sqlite.SQLiteStatement.executeInsert:()J
            lstore 4 /* result */
        start local 4 // long result
        10: .line 1132
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mDb:Landroid/database/sqlite/SQLiteDatabase;
            invokevirtual android.database.sqlite.SQLiteDatabase.setTransactionSuccessful:()V
        11: .line 1133
            lload 4 /* result */
            lstore 9
        12: .line 1138
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mDb:Landroid/database/sqlite/SQLiteDatabase;
            invokevirtual android.database.sqlite.SQLiteDatabase.endTransaction:()V
        13: .line 1133
            lload 9
            lreturn
        end local 4 // long result
        end local 3 // android.database.sqlite.SQLiteStatement stmt
        14: .line 1134
      StackMap locals: android.database.DatabaseUtils$InsertHelper android.content.ContentValues int
      StackMap stack: android.database.SQLException
            astore 3 /* e */
        start local 3 // android.database.SQLException e
        15: .line 1135
            ldc "DatabaseUtils"
            new java.lang.StringBuilder
            dup
            ldc "Error inserting "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* values */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " into table  "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mTableName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e */
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        16: .line 1138
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mDb:Landroid/database/sqlite/SQLiteDatabase;
            invokevirtual android.database.sqlite.SQLiteDatabase.endTransaction:()V
        17: .line 1136
            ldc -1
            lreturn
        end local 3 // android.database.SQLException e
        18: .line 1137
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        19: .line 1138
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mDb:Landroid/database/sqlite/SQLiteDatabase;
            invokevirtual android.database.sqlite.SQLiteDatabase.endTransaction:()V
        20: .line 1139
            aload 8
            athrow
        end local 2 // boolean allowReplace
        end local 1 // android.content.ContentValues values
        end local 0 // android.database.DatabaseUtils$InsertHelper this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   21     0          this  Landroid/database/DatabaseUtils$InsertHelper;
            0   21     1        values  Landroid/content/ContentValues;
            0   21     2  allowReplace  Z
            2   14     3          stmt  Landroid/database/sqlite/SQLiteStatement;
            5    8     4             e  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;
            6    8     6           key  Ljava/lang/String;
            7    8     7             i  I
           10   14     4        result  J
           15   18     3             e  Landroid/database/SQLException;
      Exception table:
        from    to  target  type
           1    12      14  Class android.database.SQLException
           1    12      18  any
          14    16      18  any
    MethodParameters:
              Name  Flags
      values        
      allowReplace  

  public int getColumnIndex(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // android.database.DatabaseUtils$InsertHelper this
        start local 1 // java.lang.String key
         0: .line 1149
            aload 0 /* this */
            iconst_0
            invokevirtual android.database.DatabaseUtils$InsertHelper.getStatement:(Z)Landroid/database/sqlite/SQLiteStatement;
            pop
         1: .line 1150
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mColumns:Ljava/util/HashMap;
            aload 1 /* key */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 2 /* index */
        start local 2 // java.lang.Integer index
         2: .line 1151
            aload 2 /* index */
            ifnonnull 4
         3: .line 1152
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "column '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' is invalid"
            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
         4: .line 1154
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 2 /* index */
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        end local 2 // java.lang.Integer index
        end local 1 // java.lang.String key
        end local 0 // android.database.DatabaseUtils$InsertHelper this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Landroid/database/DatabaseUtils$InsertHelper;
            0    5     1    key  Ljava/lang/String;
            2    5     2  index  Ljava/lang/Integer;
    MethodParameters:
      Name  Flags
      key   

  public void bind(int, double);
    descriptor: (ID)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // android.database.DatabaseUtils$InsertHelper this
        start local 1 // int index
        start local 2 // double value
         0: .line 1164
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mPreparedStatement:Landroid/database/sqlite/SQLiteStatement;
            iload 1 /* index */
            dload 2 /* value */
            invokevirtual android.database.sqlite.SQLiteStatement.bindDouble:(ID)V
         1: .line 1165
            return
        end local 2 // double value
        end local 1 // int index
        end local 0 // android.database.DatabaseUtils$InsertHelper this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/database/DatabaseUtils$InsertHelper;
            0    2     1  index  I
            0    2     2  value  D
    MethodParameters:
       Name  Flags
      index  
      value  

  public void bind(int, float);
    descriptor: (IF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.database.DatabaseUtils$InsertHelper this
        start local 1 // int index
        start local 2 // float value
         0: .line 1174
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mPreparedStatement:Landroid/database/sqlite/SQLiteStatement;
            iload 1 /* index */
            fload 2 /* value */
            f2d
            invokevirtual android.database.sqlite.SQLiteStatement.bindDouble:(ID)V
         1: .line 1175
            return
        end local 2 // float value
        end local 1 // int index
        end local 0 // android.database.DatabaseUtils$InsertHelper this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/database/DatabaseUtils$InsertHelper;
            0    2     1  index  I
            0    2     2  value  F
    MethodParameters:
       Name  Flags
      index  
      value  

  public void bind(int, long);
    descriptor: (IJ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // android.database.DatabaseUtils$InsertHelper this
        start local 1 // int index
        start local 2 // long value
         0: .line 1184
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mPreparedStatement:Landroid/database/sqlite/SQLiteStatement;
            iload 1 /* index */
            lload 2 /* value */
            invokevirtual android.database.sqlite.SQLiteStatement.bindLong:(IJ)V
         1: .line 1185
            return
        end local 2 // long value
        end local 1 // int index
        end local 0 // android.database.DatabaseUtils$InsertHelper this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/database/DatabaseUtils$InsertHelper;
            0    2     1  index  I
            0    2     2  value  J
    MethodParameters:
       Name  Flags
      index  
      value  

  public void bind(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.database.DatabaseUtils$InsertHelper this
        start local 1 // int index
        start local 2 // int value
         0: .line 1194
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mPreparedStatement:Landroid/database/sqlite/SQLiteStatement;
            iload 1 /* index */
            iload 2 /* value */
            i2l
            invokevirtual android.database.sqlite.SQLiteStatement.bindLong:(IJ)V
         1: .line 1195
            return
        end local 2 // int value
        end local 1 // int index
        end local 0 // android.database.DatabaseUtils$InsertHelper this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/database/DatabaseUtils$InsertHelper;
            0    2     1  index  I
            0    2     2  value  I
    MethodParameters:
       Name  Flags
      index  
      value  

  public void bind(int, boolean);
    descriptor: (IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.database.DatabaseUtils$InsertHelper this
        start local 1 // int index
        start local 2 // boolean value
         0: .line 1204
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mPreparedStatement:Landroid/database/sqlite/SQLiteStatement;
            iload 1 /* index */
            iload 2 /* value */
            ifeq 1
            iconst_1
            goto 2
      StackMap locals: android.database.DatabaseUtils$InsertHelper int int
      StackMap stack: android.database.sqlite.SQLiteStatement int
         1: iconst_0
      StackMap locals: android.database.DatabaseUtils$InsertHelper int int
      StackMap stack: android.database.sqlite.SQLiteStatement int int
         2: i2l
            invokevirtual android.database.sqlite.SQLiteStatement.bindLong:(IJ)V
         3: .line 1205
            return
        end local 2 // boolean value
        end local 1 // int index
        end local 0 // android.database.DatabaseUtils$InsertHelper this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/database/DatabaseUtils$InsertHelper;
            0    4     1  index  I
            0    4     2  value  Z
    MethodParameters:
       Name  Flags
      index  
      value  

  public void bindNull(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.database.DatabaseUtils$InsertHelper this
        start local 1 // int index
         0: .line 1213
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mPreparedStatement:Landroid/database/sqlite/SQLiteStatement;
            iload 1 /* index */
            invokevirtual android.database.sqlite.SQLiteStatement.bindNull:(I)V
         1: .line 1214
            return
        end local 1 // int index
        end local 0 // android.database.DatabaseUtils$InsertHelper this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/database/DatabaseUtils$InsertHelper;
            0    2     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public void bind(int, byte[]);
    descriptor: (I[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.database.DatabaseUtils$InsertHelper this
        start local 1 // int index
        start local 2 // byte[] value
         0: .line 1223
            aload 2 /* value */
            ifnonnull 3
         1: .line 1224
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mPreparedStatement:Landroid/database/sqlite/SQLiteStatement;
            iload 1 /* index */
            invokevirtual android.database.sqlite.SQLiteStatement.bindNull:(I)V
         2: .line 1225
            goto 4
         3: .line 1226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mPreparedStatement:Landroid/database/sqlite/SQLiteStatement;
            iload 1 /* index */
            aload 2 /* value */
            invokevirtual android.database.sqlite.SQLiteStatement.bindBlob:(I[B)V
         4: .line 1228
      StackMap locals:
      StackMap stack:
            return
        end local 2 // byte[] value
        end local 1 // int index
        end local 0 // android.database.DatabaseUtils$InsertHelper this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Landroid/database/DatabaseUtils$InsertHelper;
            0    5     1  index  I
            0    5     2  value  [B
    MethodParameters:
       Name  Flags
      index  
      value  

  public void bind(int, java.lang.String);
    descriptor: (ILjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.database.DatabaseUtils$InsertHelper this
        start local 1 // int index
        start local 2 // java.lang.String value
         0: .line 1237
            aload 2 /* value */
            ifnonnull 3
         1: .line 1238
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mPreparedStatement:Landroid/database/sqlite/SQLiteStatement;
            iload 1 /* index */
            invokevirtual android.database.sqlite.SQLiteStatement.bindNull:(I)V
         2: .line 1239
            goto 4
         3: .line 1240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mPreparedStatement:Landroid/database/sqlite/SQLiteStatement;
            iload 1 /* index */
            aload 2 /* value */
            invokevirtual android.database.sqlite.SQLiteStatement.bindString:(ILjava/lang/String;)V
         4: .line 1242
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String value
        end local 1 // int index
        end local 0 // android.database.DatabaseUtils$InsertHelper this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Landroid/database/DatabaseUtils$InsertHelper;
            0    5     1  index  I
            0    5     2  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      index  
      value  

  public long insert(android.content.ContentValues);
    descriptor: (Landroid/content/ContentValues;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.database.DatabaseUtils$InsertHelper this
        start local 1 // android.content.ContentValues values
         0: .line 1256
            aload 0 /* this */
            aload 1 /* values */
            iconst_0
            invokevirtual android.database.DatabaseUtils$InsertHelper.insertInternal:(Landroid/content/ContentValues;Z)J
            lreturn
        end local 1 // android.content.ContentValues values
        end local 0 // android.database.DatabaseUtils$InsertHelper this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/database/DatabaseUtils$InsertHelper;
            0    1     1  values  Landroid/content/ContentValues;
    MethodParameters:
        Name  Flags
      values  

  public long execute();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // android.database.DatabaseUtils$InsertHelper this
         0: .line 1270
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mPreparedStatement:Landroid/database/sqlite/SQLiteStatement;
            ifnonnull 2
         1: .line 1271
            new java.lang.IllegalStateException
            dup
            ldc "you must prepare this inserter before calling execute"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1276
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mPreparedStatement:Landroid/database/sqlite/SQLiteStatement;
            invokevirtual android.database.sqlite.SQLiteStatement.executeInsert:()J
            lstore 3
         3: .line 1282
            aload 0 /* this */
            aconst_null
            putfield android.database.DatabaseUtils$InsertHelper.mPreparedStatement:Landroid/database/sqlite/SQLiteStatement;
         4: .line 1276
            lload 3
            lreturn
         5: .line 1277
      StackMap locals:
      StackMap stack: android.database.SQLException
            astore 1 /* e */
        start local 1 // android.database.SQLException e
         6: .line 1278
            ldc "DatabaseUtils"
            new java.lang.StringBuilder
            dup
            ldc "Error executing InsertHelper with table "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mTableName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* e */
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
         7: .line 1282
            aload 0 /* this */
            aconst_null
            putfield android.database.DatabaseUtils$InsertHelper.mPreparedStatement:Landroid/database/sqlite/SQLiteStatement;
         8: .line 1279
            ldc -1
            lreturn
        end local 1 // android.database.SQLException e
         9: .line 1280
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2
        10: .line 1282
            aload 0 /* this */
            aconst_null
            putfield android.database.DatabaseUtils$InsertHelper.mPreparedStatement:Landroid/database/sqlite/SQLiteStatement;
        11: .line 1283
            aload 2
            athrow
        end local 0 // android.database.DatabaseUtils$InsertHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Landroid/database/DatabaseUtils$InsertHelper;
            6    9     1     e  Landroid/database/SQLException;
      Exception table:
        from    to  target  type
           2     3       5  Class android.database.SQLException
           2     3       9  any
           5     7       9  any

  public void prepareForInsert();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.database.DatabaseUtils$InsertHelper this
         0: .line 1298
            aload 0 /* this */
            aload 0 /* this */
            iconst_0
            invokevirtual android.database.DatabaseUtils$InsertHelper.getStatement:(Z)Landroid/database/sqlite/SQLiteStatement;
            putfield android.database.DatabaseUtils$InsertHelper.mPreparedStatement:Landroid/database/sqlite/SQLiteStatement;
         1: .line 1299
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mPreparedStatement:Landroid/database/sqlite/SQLiteStatement;
            invokevirtual android.database.sqlite.SQLiteStatement.clearBindings:()V
         2: .line 1300
            return
        end local 0 // android.database.DatabaseUtils$InsertHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/database/DatabaseUtils$InsertHelper;

  public void prepareForReplace();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.database.DatabaseUtils$InsertHelper this
         0: .line 1314
            aload 0 /* this */
            aload 0 /* this */
            iconst_1
            invokevirtual android.database.DatabaseUtils$InsertHelper.getStatement:(Z)Landroid/database/sqlite/SQLiteStatement;
            putfield android.database.DatabaseUtils$InsertHelper.mPreparedStatement:Landroid/database/sqlite/SQLiteStatement;
         1: .line 1315
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mPreparedStatement:Landroid/database/sqlite/SQLiteStatement;
            invokevirtual android.database.sqlite.SQLiteStatement.clearBindings:()V
         2: .line 1316
            return
        end local 0 // android.database.DatabaseUtils$InsertHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/database/DatabaseUtils$InsertHelper;

  public long replace(android.content.ContentValues);
    descriptor: (Landroid/content/ContentValues;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.database.DatabaseUtils$InsertHelper this
        start local 1 // android.content.ContentValues values
         0: .line 1330
            aload 0 /* this */
            aload 1 /* values */
            iconst_1
            invokevirtual android.database.DatabaseUtils$InsertHelper.insertInternal:(Landroid/content/ContentValues;Z)J
            lreturn
        end local 1 // android.content.ContentValues values
        end local 0 // android.database.DatabaseUtils$InsertHelper this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/database/DatabaseUtils$InsertHelper;
            0    1     1  values  Landroid/content/ContentValues;
    MethodParameters:
        Name  Flags
      values  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.database.DatabaseUtils$InsertHelper this
         0: .line 1339
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mInsertStatement:Landroid/database/sqlite/SQLiteStatement;
            ifnull 3
         1: .line 1340
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mInsertStatement:Landroid/database/sqlite/SQLiteStatement;
            invokevirtual android.database.sqlite.SQLiteStatement.close:()V
         2: .line 1341
            aload 0 /* this */
            aconst_null
            putfield android.database.DatabaseUtils$InsertHelper.mInsertStatement:Landroid/database/sqlite/SQLiteStatement;
         3: .line 1343
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mReplaceStatement:Landroid/database/sqlite/SQLiteStatement;
            ifnull 6
         4: .line 1344
            aload 0 /* this */
            getfield android.database.DatabaseUtils$InsertHelper.mReplaceStatement:Landroid/database/sqlite/SQLiteStatement;
            invokevirtual android.database.sqlite.SQLiteStatement.close:()V
         5: .line 1345
            aload 0 /* this */
            aconst_null
            putfield android.database.DatabaseUtils$InsertHelper.mReplaceStatement:Landroid/database/sqlite/SQLiteStatement;
         6: .line 1347
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield android.database.DatabaseUtils$InsertHelper.mInsertSQL:Ljava/lang/String;
         7: .line 1348
            aload 0 /* this */
            aconst_null
            putfield android.database.DatabaseUtils$InsertHelper.mColumns:Ljava/util/HashMap;
         8: .line 1349
            return
        end local 0 // android.database.DatabaseUtils$InsertHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Landroid/database/DatabaseUtils$InsertHelper;
}
SourceFile: "DatabaseUtils.java"
NestHost: android.database.DatabaseUtils
InnerClasses:
  public InsertHelper = android.database.DatabaseUtils$InsertHelper of android.database.DatabaseUtils
  public abstract Entry = java.util.Map$Entry of java.util.Map
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()