public class android.database.sqlite.SQLiteQueryBuilder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.database.sqlite.SQLiteQueryBuilder
  super_class: java.lang.Object
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "SQLiteQueryBuilder"

  private static final java.util.regex.Pattern sLimitPattern;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

  private java.lang.StringBuilder mWhereClause;
    descriptor: Ljava/lang/StringBuilder;
    flags: (0x0002) ACC_PRIVATE

  private boolean mDistinct;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private android.database.sqlite.SQLiteDatabase$CursorFactory mFactory;
    descriptor: Landroid/database/sqlite/SQLiteDatabase$CursorFactory;
    flags: (0x0002) ACC_PRIVATE

  private boolean mStrict;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 49
            ldc "\\s*\\d+\\s*(,\\s*\\d+\\s*)?"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
         1: .line 48
            putstatic android.database.sqlite.SQLiteQueryBuilder.sLimitPattern:Ljava/util/regex/Pattern;
         2: .line 49
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.database.sqlite.SQLiteQueryBuilder this
         0: .line 58
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 51
            aload 0 /* this */
            aconst_null
            putfield android.database.sqlite.SQLiteQueryBuilder.mProjectionMap:Ljava/util/Map;
         2: .line 52
            aload 0 /* this */
            ldc ""
            putfield android.database.sqlite.SQLiteQueryBuilder.mTables:Ljava/lang/String;
         3: .line 53
            aload 0 /* this */
            aconst_null
            putfield android.database.sqlite.SQLiteQueryBuilder.mWhereClause:Ljava/lang/StringBuilder;
         4: .line 59
            aload 0 /* this */
            iconst_0
            putfield android.database.sqlite.SQLiteQueryBuilder.mDistinct:Z
         5: .line 60
            aload 0 /* this */
            aconst_null
            putfield android.database.sqlite.SQLiteQueryBuilder.mFactory:Landroid/database/sqlite/SQLiteDatabase$CursorFactory;
         6: .line 61
            return
        end local 0 // android.database.sqlite.SQLiteQueryBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/database/sqlite/SQLiteQueryBuilder;

  public void setDistinct(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.database.sqlite.SQLiteQueryBuilder this
        start local 1 // boolean distinct
         0: .line 69
            aload 0 /* this */
            iload 1 /* distinct */
            putfield android.database.sqlite.SQLiteQueryBuilder.mDistinct:Z
         1: .line 70
            return
        end local 1 // boolean distinct
        end local 0 // android.database.sqlite.SQLiteQueryBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/database/sqlite/SQLiteQueryBuilder;
            0    2     1  distinct  Z
    MethodParameters:
          Name  Flags
      distinct  

  public java.lang.String getTables();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.database.sqlite.SQLiteQueryBuilder this
         0: .line 78
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteQueryBuilder.mTables:Ljava/lang/String;
            areturn
        end local 0 // android.database.sqlite.SQLiteQueryBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/database/sqlite/SQLiteQueryBuilder;

  public void setTables(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.database.sqlite.SQLiteQueryBuilder this
        start local 1 // java.lang.String inTables
         0: .line 90
            aload 0 /* this */
            aload 1 /* inTables */
            putfield android.database.sqlite.SQLiteQueryBuilder.mTables:Ljava/lang/String;
         1: .line 91
            return
        end local 1 // java.lang.String inTables
        end local 0 // android.database.sqlite.SQLiteQueryBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/database/sqlite/SQLiteQueryBuilder;
            0    2     1  inTables  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      inTables  

  public void appendWhere(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // android.database.sqlite.SQLiteQueryBuilder this
        start local 1 // java.lang.CharSequence inWhere
         0: .line 103
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteQueryBuilder.mWhereClause:Ljava/lang/StringBuilder;
            ifnonnull 2
         1: .line 104
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 1 /* inWhere */
            invokeinterface java.lang.CharSequence.length:()I
            bipush 16
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            putfield android.database.sqlite.SQLiteQueryBuilder.mWhereClause:Ljava/lang/StringBuilder;
         2: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteQueryBuilder.mWhereClause:Ljava/lang/StringBuilder;
            aload 1 /* inWhere */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            pop
         3: .line 107
            return
        end local 1 // java.lang.CharSequence inWhere
        end local 0 // android.database.sqlite.SQLiteQueryBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Landroid/database/sqlite/SQLiteQueryBuilder;
            0    4     1  inWhere  Ljava/lang/CharSequence;
    MethodParameters:
         Name  Flags
      inWhere  

  public void appendWhereEscapeString(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // android.database.sqlite.SQLiteQueryBuilder this
        start local 1 // java.lang.String inWhere
         0: .line 120
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteQueryBuilder.mWhereClause:Ljava/lang/StringBuilder;
            ifnonnull 2
         1: .line 121
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 1 /* inWhere */
            invokevirtual java.lang.String.length:()I
            bipush 16
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            putfield android.database.sqlite.SQLiteQueryBuilder.mWhereClause:Ljava/lang/StringBuilder;
         2: .line 123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteQueryBuilder.mWhereClause:Ljava/lang/StringBuilder;
            aload 1 /* inWhere */
            invokestatic android.database.DatabaseUtils.appendEscapedSQLString:(Ljava/lang/StringBuilder;Ljava/lang/String;)V
         3: .line 124
            return
        end local 1 // java.lang.String inWhere
        end local 0 // android.database.sqlite.SQLiteQueryBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Landroid/database/sqlite/SQLiteQueryBuilder;
            0    4     1  inWhere  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      inWhere  

  public void setProjectionMap(java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.database.sqlite.SQLiteQueryBuilder this
        start local 1 // java.util.Map columnMap
         0: .line 138
            aload 0 /* this */
            aload 1 /* columnMap */
            putfield android.database.sqlite.SQLiteQueryBuilder.mProjectionMap:Ljava/util/Map;
         1: .line 139
            return
        end local 1 // java.util.Map columnMap
        end local 0 // android.database.sqlite.SQLiteQueryBuilder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Landroid/database/sqlite/SQLiteQueryBuilder;
            0    2     1  columnMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
           Name  Flags
      columnMap  

  public void setCursorFactory(android.database.sqlite.SQLiteDatabase$CursorFactory);
    descriptor: (Landroid/database/sqlite/SQLiteDatabase$CursorFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.database.sqlite.SQLiteQueryBuilder this
        start local 1 // android.database.sqlite.SQLiteDatabase$CursorFactory factory
         0: .line 149
            aload 0 /* this */
            aload 1 /* factory */
            putfield android.database.sqlite.SQLiteQueryBuilder.mFactory:Landroid/database/sqlite/SQLiteDatabase$CursorFactory;
         1: .line 150
            return
        end local 1 // android.database.sqlite.SQLiteDatabase$CursorFactory factory
        end local 0 // android.database.sqlite.SQLiteQueryBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/database/sqlite/SQLiteQueryBuilder;
            0    2     1  factory  Landroid/database/sqlite/SQLiteDatabase$CursorFactory;
    MethodParameters:
         Name  Flags
      factory  

  public void setStrict(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.database.sqlite.SQLiteQueryBuilder this
        start local 1 // boolean flag
         0: .line 174
            aload 0 /* this */
            iload 1 /* flag */
            putfield android.database.sqlite.SQLiteQueryBuilder.mStrict:Z
         1: .line 175
            return
        end local 1 // boolean flag
        end local 0 // android.database.sqlite.SQLiteQueryBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/database/sqlite/SQLiteQueryBuilder;
            0    2     1  flag  Z
    MethodParameters:
      Name  Flags
      flag  

  public static java.lang.String buildQueryString(boolean, java.lang.String, java.lang.String[], java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=8
        start local 0 // boolean distinct
        start local 1 // java.lang.String tables
        start local 2 // java.lang.String[] columns
        start local 3 // java.lang.String where
        start local 4 // java.lang.String groupBy
        start local 5 // java.lang.String having
        start local 6 // java.lang.String orderBy
        start local 7 // java.lang.String limit
         0: .line 206
            aload 4 /* groupBy */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 4
            aload 5 /* having */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifne 4
         1: .line 207
            new java.lang.IllegalArgumentException
            dup
         2: .line 208
            ldc "HAVING clauses are only permitted when using a groupBy clause"
         3: .line 207
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 210
      StackMap locals:
      StackMap stack:
            aload 7 /* limit */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifne 6
            getstatic android.database.sqlite.SQLiteQueryBuilder.sLimitPattern:Ljava/util/regex/Pattern;
            aload 7 /* limit */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifne 6
         5: .line 211
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid LIMIT clauses:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* limit */
            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
         6: .line 214
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            bipush 120
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 8 /* query */
        start local 8 // java.lang.StringBuilder query
         7: .line 216
            aload 8 /* query */
            ldc "SELECT "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 217
            iload 0 /* distinct */
            ifeq 10
         9: .line 218
            aload 8 /* query */
            ldc "DISTINCT "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 220
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 2 /* columns */
            ifnull 13
            aload 2 /* columns */
            arraylength
            ifeq 13
        11: .line 221
            aload 8 /* query */
            aload 2 /* columns */
            invokestatic android.database.sqlite.SQLiteQueryBuilder.appendColumns:(Ljava/lang/StringBuilder;[Ljava/lang/String;)V
        12: .line 222
            goto 14
        13: .line 223
      StackMap locals:
      StackMap stack:
            aload 8 /* query */
            ldc "* "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 225
      StackMap locals:
      StackMap stack:
            aload 8 /* query */
            ldc "FROM "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 226
            aload 8 /* query */
            aload 1 /* tables */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 227
            aload 8 /* query */
            ldc " WHERE "
            aload 3 /* where */
            invokestatic android.database.sqlite.SQLiteQueryBuilder.appendClause:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
        17: .line 228
            aload 8 /* query */
            ldc " GROUP BY "
            aload 4 /* groupBy */
            invokestatic android.database.sqlite.SQLiteQueryBuilder.appendClause:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
        18: .line 229
            aload 8 /* query */
            ldc " HAVING "
            aload 5 /* having */
            invokestatic android.database.sqlite.SQLiteQueryBuilder.appendClause:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
        19: .line 230
            aload 8 /* query */
            ldc " ORDER BY "
            aload 6 /* orderBy */
            invokestatic android.database.sqlite.SQLiteQueryBuilder.appendClause:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
        20: .line 231
            aload 8 /* query */
            ldc " LIMIT "
            aload 7 /* limit */
            invokestatic android.database.sqlite.SQLiteQueryBuilder.appendClause:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
        21: .line 233
            aload 8 /* query */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 8 // java.lang.StringBuilder query
        end local 7 // java.lang.String limit
        end local 6 // java.lang.String orderBy
        end local 5 // java.lang.String having
        end local 4 // java.lang.String groupBy
        end local 3 // java.lang.String where
        end local 2 // java.lang.String[] columns
        end local 1 // java.lang.String tables
        end local 0 // boolean distinct
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0  distinct  Z
            0   22     1    tables  Ljava/lang/String;
            0   22     2   columns  [Ljava/lang/String;
            0   22     3     where  Ljava/lang/String;
            0   22     4   groupBy  Ljava/lang/String;
            0   22     5    having  Ljava/lang/String;
            0   22     6   orderBy  Ljava/lang/String;
            0   22     7     limit  Ljava/lang/String;
            7   22     8     query  Ljava/lang/StringBuilder;
    MethodParameters:
          Name  Flags
      distinct  
      tables    
      columns   
      where     
      groupBy   
      having    
      orderBy   
      limit     

  private static void appendClause(java.lang.StringBuilder, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.lang.StringBuilder s
        start local 1 // java.lang.String name
        start local 2 // java.lang.String clause
         0: .line 237
            aload 2 /* clause */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifne 3
         1: .line 238
            aload 0 /* s */
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 239
            aload 0 /* s */
            aload 2 /* clause */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 241
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String clause
        end local 1 // java.lang.String name
        end local 0 // java.lang.StringBuilder s
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0       s  Ljava/lang/StringBuilder;
            0    4     1    name  Ljava/lang/String;
            0    4     2  clause  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      s       
      name    
      clause  

  public static void appendColumns(java.lang.StringBuilder, java.lang.String[]);
    descriptor: (Ljava/lang/StringBuilder;[Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // java.lang.StringBuilder s
        start local 1 // java.lang.String[] columns
         0: .line 248
            aload 1 /* columns */
            arraylength
            istore 2 /* n */
        start local 2 // int n
         1: .line 250
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 9
         3: .line 251
      StackMap locals: int int
      StackMap stack:
            aload 1 /* columns */
            iload 3 /* i */
            aaload
            astore 4 /* column */
        start local 4 // java.lang.String column
         4: .line 253
            aload 4 /* column */
            ifnull 8
         5: .line 254
            iload 3 /* i */
            ifle 7
         6: .line 255
            aload 0 /* s */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 257
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* s */
            aload 4 /* column */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // java.lang.String column
         8: .line 250
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 2 /* n */
            if_icmplt 3
        end local 3 // int i
        10: .line 260
            aload 0 /* s */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        11: .line 261
            return
        end local 2 // int n
        end local 1 // java.lang.String[] columns
        end local 0 // java.lang.StringBuilder s
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0        s  Ljava/lang/StringBuilder;
            0   12     1  columns  [Ljava/lang/String;
            1   12     2        n  I
            2   10     3        i  I
            4    8     4   column  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      s        
      columns  

  public android.database.Cursor query(android.database.sqlite.SQLiteDatabase, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Landroid/database/sqlite/SQLiteDatabase;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=8, args_size=8
        start local 0 // android.database.sqlite.SQLiteQueryBuilder this
        start local 1 // android.database.sqlite.SQLiteDatabase db
        start local 2 // java.lang.String[] projectionIn
        start local 3 // java.lang.String selection
        start local 4 // java.lang.String[] selectionArgs
        start local 5 // java.lang.String groupBy
        start local 6 // java.lang.String having
        start local 7 // java.lang.String sortOrder
         0: .line 296
            aload 0 /* this */
            aload 1 /* db */
            aload 2 /* projectionIn */
            aload 3 /* selection */
            aload 4 /* selectionArgs */
            aload 5 /* groupBy */
            aload 6 /* having */
            aload 7 /* sortOrder */
         1: .line 297
            aconst_null
            aconst_null
         2: .line 296
            invokevirtual android.database.sqlite.SQLiteQueryBuilder.query:(Landroid/database/sqlite/SQLiteDatabase;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
            areturn
        end local 7 // java.lang.String sortOrder
        end local 6 // java.lang.String having
        end local 5 // java.lang.String groupBy
        end local 4 // java.lang.String[] selectionArgs
        end local 3 // java.lang.String selection
        end local 2 // java.lang.String[] projectionIn
        end local 1 // android.database.sqlite.SQLiteDatabase db
        end local 0 // android.database.sqlite.SQLiteQueryBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Landroid/database/sqlite/SQLiteQueryBuilder;
            0    3     1             db  Landroid/database/sqlite/SQLiteDatabase;
            0    3     2   projectionIn  [Ljava/lang/String;
            0    3     3      selection  Ljava/lang/String;
            0    3     4  selectionArgs  [Ljava/lang/String;
            0    3     5        groupBy  Ljava/lang/String;
            0    3     6         having  Ljava/lang/String;
            0    3     7      sortOrder  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      db             
      projectionIn   
      selection      
      selectionArgs  
      groupBy        
      having         
      sortOrder      

  public android.database.Cursor query(android.database.sqlite.SQLiteDatabase, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Landroid/database/sqlite/SQLiteDatabase;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=9, args_size=9
        start local 0 // android.database.sqlite.SQLiteQueryBuilder this
        start local 1 // android.database.sqlite.SQLiteDatabase db
        start local 2 // java.lang.String[] projectionIn
        start local 3 // java.lang.String selection
        start local 4 // java.lang.String[] selectionArgs
        start local 5 // java.lang.String groupBy
        start local 6 // java.lang.String having
        start local 7 // java.lang.String sortOrder
        start local 8 // java.lang.String limit
         0: .line 335
            aload 0 /* this */
            aload 1 /* db */
            aload 2 /* projectionIn */
            aload 3 /* selection */
            aload 4 /* selectionArgs */
         1: .line 336
            aload 5 /* groupBy */
            aload 6 /* having */
            aload 7 /* sortOrder */
            aload 8 /* limit */
            aconst_null
         2: .line 335
            invokevirtual android.database.sqlite.SQLiteQueryBuilder.query:(Landroid/database/sqlite/SQLiteDatabase;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
            areturn
        end local 8 // java.lang.String limit
        end local 7 // java.lang.String sortOrder
        end local 6 // java.lang.String having
        end local 5 // java.lang.String groupBy
        end local 4 // java.lang.String[] selectionArgs
        end local 3 // java.lang.String selection
        end local 2 // java.lang.String[] projectionIn
        end local 1 // android.database.sqlite.SQLiteDatabase db
        end local 0 // android.database.sqlite.SQLiteQueryBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Landroid/database/sqlite/SQLiteQueryBuilder;
            0    3     1             db  Landroid/database/sqlite/SQLiteDatabase;
            0    3     2   projectionIn  [Ljava/lang/String;
            0    3     3      selection  Ljava/lang/String;
            0    3     4  selectionArgs  [Ljava/lang/String;
            0    3     5        groupBy  Ljava/lang/String;
            0    3     6         having  Ljava/lang/String;
            0    3     7      sortOrder  Ljava/lang/String;
            0    3     8          limit  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      db             
      projectionIn   
      selection      
      selectionArgs  
      groupBy        
      having         
      sortOrder      
      limit          

  public android.database.Cursor query(android.database.sqlite.SQLiteDatabase, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, java.lang.String, java.lang.String, java.lang.String, android.os.CancellationSignal);
    descriptor: (Landroid/database/sqlite/SQLiteDatabase;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=13, args_size=10
        start local 0 // android.database.sqlite.SQLiteQueryBuilder this
        start local 1 // android.database.sqlite.SQLiteDatabase db
        start local 2 // java.lang.String[] projectionIn
        start local 3 // java.lang.String selection
        start local 4 // java.lang.String[] selectionArgs
        start local 5 // java.lang.String groupBy
        start local 6 // java.lang.String having
        start local 7 // java.lang.String sortOrder
        start local 8 // java.lang.String limit
        start local 9 // android.os.CancellationSignal cancellationSignal
         0: .line 377
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteQueryBuilder.mTables:Ljava/lang/String;
            ifnonnull 2
         1: .line 378
            aconst_null
            areturn
         2: .line 382
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         3: .line 383
            aload 2 /* projectionIn */
            aload 3 /* selection */
            aload 5 /* groupBy */
            aload 6 /* having */
         4: .line 384
            aload 7 /* sortOrder */
            aload 8 /* limit */
         5: .line 382
            invokevirtual android.database.sqlite.SQLiteQueryBuilder.buildQuery:([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* unwrappedSql */
        start local 11 // java.lang.String unwrappedSql
         6: .line 386
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteQueryBuilder.mStrict:Z
            ifeq 13
            aload 3 /* selection */
            ifnull 13
            aload 3 /* selection */
            invokevirtual java.lang.String.length:()I
            ifle 13
         7: .line 400
            aload 1 /* db */
            aload 11 /* unwrappedSql */
            aload 9 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteDatabase.validateSql:(Ljava/lang/String;Landroid/os/CancellationSignal;)V
         8: .line 403
            aload 0 /* this */
            aload 2 /* projectionIn */
            aload 0 /* this */
            aload 3 /* selection */
            invokevirtual android.database.sqlite.SQLiteQueryBuilder.wrap:(Ljava/lang/String;)Ljava/lang/String;
            aload 5 /* groupBy */
         9: .line 404
            aload 6 /* having */
            aload 7 /* sortOrder */
            aload 8 /* limit */
        10: .line 403
            invokevirtual android.database.sqlite.SQLiteQueryBuilder.buildQuery:([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 12 /* wrappedSql */
        start local 12 // java.lang.String wrappedSql
        11: .line 405
            aload 12 /* wrappedSql */
            astore 10 /* sql */
        end local 12 // java.lang.String wrappedSql
        start local 10 // java.lang.String sql
        12: .line 406
            goto 14
        end local 10 // java.lang.String sql
        13: .line 408
      StackMap locals: android.database.sqlite.SQLiteQueryBuilder android.database.sqlite.SQLiteDatabase java.lang.String[] java.lang.String java.lang.String[] java.lang.String java.lang.String java.lang.String java.lang.String android.os.CancellationSignal top java.lang.String
      StackMap stack:
            aload 11 /* unwrappedSql */
            astore 10 /* sql */
        start local 10 // java.lang.String sql
        14: .line 411
      StackMap locals: android.database.sqlite.SQLiteQueryBuilder android.database.sqlite.SQLiteDatabase java.lang.String[] java.lang.String java.lang.String[] java.lang.String java.lang.String java.lang.String java.lang.String android.os.CancellationSignal java.lang.String java.lang.String
      StackMap stack:
            aload 4 /* selectionArgs */
            astore 12 /* sqlArgs */
        start local 12 // java.lang.String[] sqlArgs
        15: .line 412
            ldc "SQLiteQueryBuilder"
            iconst_3
            invokestatic android.util.Log.isLoggable:(Ljava/lang/String;I)Z
            ifeq 20
        16: .line 413
            getstatic android.os.Build.IS_DEBUGGABLE:Z
            ifeq 19
        17: .line 414
            ldc "SQLiteQueryBuilder"
            new java.lang.StringBuilder
            dup
            aload 10 /* sql */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " with args "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 12 /* sqlArgs */
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        18: .line 415
            goto 20
        19: .line 416
      StackMap locals: java.lang.String[]
      StackMap stack:
            ldc "SQLiteQueryBuilder"
            aload 10 /* sql */
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        20: .line 419
      StackMap locals:
      StackMap stack:
            aload 1 /* db */
        21: .line 420
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteQueryBuilder.mFactory:Landroid/database/sqlite/SQLiteDatabase$CursorFactory;
            aload 10 /* sql */
            aload 12 /* sqlArgs */
        22: .line 421
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteQueryBuilder.mTables:Ljava/lang/String;
            invokestatic android.database.sqlite.SQLiteDatabase.findEditTable:(Ljava/lang/String;)Ljava/lang/String;
        23: .line 422
            aload 9 /* cancellationSignal */
        24: .line 419
            invokevirtual android.database.sqlite.SQLiteDatabase.rawQueryWithFactory:(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
            areturn
        end local 12 // java.lang.String[] sqlArgs
        end local 11 // java.lang.String unwrappedSql
        end local 10 // java.lang.String sql
        end local 9 // android.os.CancellationSignal cancellationSignal
        end local 8 // java.lang.String limit
        end local 7 // java.lang.String sortOrder
        end local 6 // java.lang.String having
        end local 5 // java.lang.String groupBy
        end local 4 // java.lang.String[] selectionArgs
        end local 3 // java.lang.String selection
        end local 2 // java.lang.String[] projectionIn
        end local 1 // android.database.sqlite.SQLiteDatabase db
        end local 0 // android.database.sqlite.SQLiteQueryBuilder this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   25     0                this  Landroid/database/sqlite/SQLiteQueryBuilder;
            0   25     1                  db  Landroid/database/sqlite/SQLiteDatabase;
            0   25     2        projectionIn  [Ljava/lang/String;
            0   25     3           selection  Ljava/lang/String;
            0   25     4       selectionArgs  [Ljava/lang/String;
            0   25     5             groupBy  Ljava/lang/String;
            0   25     6              having  Ljava/lang/String;
            0   25     7           sortOrder  Ljava/lang/String;
            0   25     8               limit  Ljava/lang/String;
            0   25     9  cancellationSignal  Landroid/os/CancellationSignal;
           12   13    10                 sql  Ljava/lang/String;
           14   25    10                 sql  Ljava/lang/String;
            6   25    11        unwrappedSql  Ljava/lang/String;
           11   12    12          wrappedSql  Ljava/lang/String;
           15   25    12             sqlArgs  [Ljava/lang/String;
    MethodParameters:
                    Name  Flags
      db                  
      projectionIn        
      selection           
      selectionArgs       
      groupBy             
      having              
      sortOrder           
      limit               
      cancellationSignal  

  public int update(android.database.sqlite.SQLiteDatabase, android.content.ContentValues, java.lang.String, java.lang.String[]);
    descriptor: (Landroid/database/sqlite/SQLiteDatabase;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // android.database.sqlite.SQLiteQueryBuilder this
         0: .line 474
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tEmptyArray cannot be resolved to a variable\n\tEmptyArray cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.database.sqlite.SQLiteQueryBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/database/sqlite/SQLiteQueryBuilder;
    MethodParameters:
               Name  Flags
      db             
      values         
      selection      
      selectionArgs  

  public int delete(android.database.sqlite.SQLiteDatabase, java.lang.String, java.lang.String[]);
    descriptor: (Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // android.database.sqlite.SQLiteQueryBuilder this
        start local 1 // android.database.sqlite.SQLiteDatabase db
        start local 2 // java.lang.String selection
        start local 3 // java.lang.String[] selectionArgs
         0: .line 513
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteQueryBuilder.mTables:Ljava/lang/String;
            ldc "No tables defined"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 514
            aload 1 /* db */
            ldc "No database defined"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 517
            aload 0 /* this */
            aload 2 /* selection */
            invokevirtual android.database.sqlite.SQLiteQueryBuilder.buildDelete:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* unwrappedSql */
        start local 5 // java.lang.String unwrappedSql
         3: .line 519
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteQueryBuilder.mStrict:Z
            ifeq 8
         4: .line 533
            aload 1 /* db */
            aload 5 /* unwrappedSql */
            aconst_null
            invokevirtual android.database.sqlite.SQLiteDatabase.validateSql:(Ljava/lang/String;Landroid/os/CancellationSignal;)V
         5: .line 536
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* selection */
            invokevirtual android.database.sqlite.SQLiteQueryBuilder.wrap:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual android.database.sqlite.SQLiteQueryBuilder.buildDelete:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* wrappedSql */
        start local 6 // java.lang.String wrappedSql
         6: .line 537
            aload 6 /* wrappedSql */
            astore 4 /* sql */
        end local 6 // java.lang.String wrappedSql
        start local 4 // java.lang.String sql
         7: .line 538
            goto 9
        end local 4 // java.lang.String sql
         8: .line 540
      StackMap locals: android.database.sqlite.SQLiteQueryBuilder android.database.sqlite.SQLiteDatabase java.lang.String java.lang.String[] top java.lang.String
      StackMap stack:
            aload 5 /* unwrappedSql */
            astore 4 /* sql */
        start local 4 // java.lang.String sql
         9: .line 543
      StackMap locals: android.database.sqlite.SQLiteQueryBuilder android.database.sqlite.SQLiteDatabase java.lang.String java.lang.String[] java.lang.String java.lang.String
      StackMap stack:
            aload 3 /* selectionArgs */
            astore 6 /* sqlArgs */
        start local 6 // java.lang.String[] sqlArgs
        10: .line 544
            ldc "SQLiteQueryBuilder"
            iconst_3
            invokestatic android.util.Log.isLoggable:(Ljava/lang/String;I)Z
            ifeq 15
        11: .line 545
            getstatic android.os.Build.IS_DEBUGGABLE:Z
            ifeq 14
        12: .line 546
            ldc "SQLiteQueryBuilder"
            new java.lang.StringBuilder
            dup
            aload 4 /* sql */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " with args "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* sqlArgs */
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        13: .line 547
            goto 15
        14: .line 548
      StackMap locals: java.lang.String[]
      StackMap stack:
            ldc "SQLiteQueryBuilder"
            aload 4 /* sql */
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        15: .line 551
      StackMap locals:
      StackMap stack:
            aload 1 /* db */
            aload 4 /* sql */
            aload 6 /* sqlArgs */
            invokevirtual android.database.sqlite.SQLiteDatabase.executeSql:(Ljava/lang/String;[Ljava/lang/Object;)I
            ireturn
        end local 6 // java.lang.String[] sqlArgs
        end local 5 // java.lang.String unwrappedSql
        end local 4 // java.lang.String sql
        end local 3 // java.lang.String[] selectionArgs
        end local 2 // java.lang.String selection
        end local 1 // android.database.sqlite.SQLiteDatabase db
        end local 0 // android.database.sqlite.SQLiteQueryBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Landroid/database/sqlite/SQLiteQueryBuilder;
            0   16     1             db  Landroid/database/sqlite/SQLiteDatabase;
            0   16     2      selection  Ljava/lang/String;
            0   16     3  selectionArgs  [Ljava/lang/String;
            7    8     4            sql  Ljava/lang/String;
            9   16     4            sql  Ljava/lang/String;
            3   16     5   unwrappedSql  Ljava/lang/String;
            6    7     6     wrappedSql  Ljava/lang/String;
           10   16     6        sqlArgs  [Ljava/lang/String;
    MethodParameters:
               Name  Flags
      db             
      selection      
      selectionArgs  

  public java.lang.String buildQuery(java.lang.String[], java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: ([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=9, args_size=7
        start local 0 // android.database.sqlite.SQLiteQueryBuilder this
        start local 1 // java.lang.String[] projectionIn
        start local 2 // java.lang.String selection
        start local 3 // java.lang.String groupBy
        start local 4 // java.lang.String having
        start local 5 // java.lang.String sortOrder
        start local 6 // java.lang.String limit
         0: .line 585
            aload 0 /* this */
            aload 1 /* projectionIn */
            invokevirtual android.database.sqlite.SQLiteQueryBuilder.computeProjection:([Ljava/lang/String;)[Ljava/lang/String;
            astore 7 /* projection */
        start local 7 // java.lang.String[] projection
         1: .line 586
            aload 0 /* this */
            aload 2 /* selection */
            invokevirtual android.database.sqlite.SQLiteQueryBuilder.computeWhere:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* where */
        start local 8 // java.lang.String where
         2: .line 589
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteQueryBuilder.mDistinct:Z
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteQueryBuilder.mTables:Ljava/lang/String;
            aload 7 /* projection */
            aload 8 /* where */
         3: .line 590
            aload 3 /* groupBy */
            aload 4 /* having */
            aload 5 /* sortOrder */
            aload 6 /* limit */
         4: .line 588
            invokestatic android.database.sqlite.SQLiteQueryBuilder.buildQueryString:(ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 8 // java.lang.String where
        end local 7 // java.lang.String[] projection
        end local 6 // java.lang.String limit
        end local 5 // java.lang.String sortOrder
        end local 4 // java.lang.String having
        end local 3 // java.lang.String groupBy
        end local 2 // java.lang.String selection
        end local 1 // java.lang.String[] projectionIn
        end local 0 // android.database.sqlite.SQLiteQueryBuilder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Landroid/database/sqlite/SQLiteQueryBuilder;
            0    5     1  projectionIn  [Ljava/lang/String;
            0    5     2     selection  Ljava/lang/String;
            0    5     3       groupBy  Ljava/lang/String;
            0    5     4        having  Ljava/lang/String;
            0    5     5     sortOrder  Ljava/lang/String;
            0    5     6         limit  Ljava/lang/String;
            1    5     7    projection  [Ljava/lang/String;
            2    5     8         where  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      projectionIn  
      selection     
      groupBy       
      having        
      sortOrder     
      limit         

  public java.lang.String buildQuery(java.lang.String[], java.lang.String, java.lang.String[], java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: ([Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=8
        start local 0 // android.database.sqlite.SQLiteQueryBuilder this
        start local 1 // java.lang.String[] projectionIn
        start local 2 // java.lang.String selection
        start local 3 // java.lang.String[] selectionArgs
        start local 4 // java.lang.String groupBy
        start local 5 // java.lang.String having
        start local 6 // java.lang.String sortOrder
        start local 7 // java.lang.String limit
         0: .line 603
            aload 0 /* this */
            aload 1 /* projectionIn */
            aload 2 /* selection */
            aload 4 /* groupBy */
            aload 5 /* having */
            aload 6 /* sortOrder */
            aload 7 /* limit */
            invokevirtual android.database.sqlite.SQLiteQueryBuilder.buildQuery:([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 7 // java.lang.String limit
        end local 6 // java.lang.String sortOrder
        end local 5 // java.lang.String having
        end local 4 // java.lang.String groupBy
        end local 3 // java.lang.String[] selectionArgs
        end local 2 // java.lang.String selection
        end local 1 // java.lang.String[] projectionIn
        end local 0 // android.database.sqlite.SQLiteQueryBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Landroid/database/sqlite/SQLiteQueryBuilder;
            0    1     1   projectionIn  [Ljava/lang/String;
            0    1     2      selection  Ljava/lang/String;
            0    1     3  selectionArgs  [Ljava/lang/String;
            0    1     4        groupBy  Ljava/lang/String;
            0    1     5         having  Ljava/lang/String;
            0    1     6      sortOrder  Ljava/lang/String;
            0    1     7          limit  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
               Name  Flags
      projectionIn   
      selection      
      selectionArgs  
      groupBy        
      having         
      sortOrder      
      limit          

  public java.lang.String buildUpdate(android.content.ContentValues, java.lang.String);
    descriptor: (Landroid/content/ContentValues;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.database.sqlite.SQLiteQueryBuilder this
         0: .line 617
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tEmptyArray cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.database.sqlite.SQLiteQueryBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/database/sqlite/SQLiteQueryBuilder;
    MethodParameters:
           Name  Flags
      values     
      selection  

  public java.lang.String buildDelete(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // android.database.sqlite.SQLiteQueryBuilder this
        start local 1 // java.lang.String selection
         0: .line 633
            new java.lang.StringBuilder
            dup
            bipush 120
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* sql */
        start local 2 // java.lang.StringBuilder sql
         1: .line 634
            aload 2 /* sql */
            ldc "DELETE FROM "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 635
            aload 2 /* sql */
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteQueryBuilder.mTables:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 637
            aload 0 /* this */
            aload 1 /* selection */
            invokevirtual android.database.sqlite.SQLiteQueryBuilder.computeWhere:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* where */
        start local 3 // java.lang.String where
         4: .line 638
            aload 2 /* sql */
            ldc " WHERE "
            aload 3 /* where */
            invokestatic android.database.sqlite.SQLiteQueryBuilder.appendClause:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
         5: .line 639
            aload 2 /* sql */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.String where
        end local 2 // java.lang.StringBuilder sql
        end local 1 // java.lang.String selection
        end local 0 // android.database.sqlite.SQLiteQueryBuilder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Landroid/database/sqlite/SQLiteQueryBuilder;
            0    6     1  selection  Ljava/lang/String;
            1    6     2        sql  Ljava/lang/StringBuilder;
            4    6     3      where  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      selection  

  public java.lang.String buildUnionSubQuery(java.lang.String, java.lang.String[], java.util.Set<java.lang.String>, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;Ljava/util/Set;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=13, args_size=9
        start local 0 // android.database.sqlite.SQLiteQueryBuilder this
        start local 1 // java.lang.String typeDiscriminatorColumn
        start local 2 // java.lang.String[] unionColumns
        start local 3 // java.util.Set columnsPresentInTable
        start local 4 // int computedColumnsOffset
        start local 5 // java.lang.String typeDiscriminatorValue
        start local 6 // java.lang.String selection
        start local 7 // java.lang.String groupBy
        start local 8 // java.lang.String having
         0: .line 690
            aload 2 /* unionColumns */
            arraylength
            istore 9 /* unionColumnsCount */
        start local 9 // int unionColumnsCount
         1: .line 691
            iload 9 /* unionColumnsCount */
            anewarray java.lang.String
            astore 10 /* projectionIn */
        start local 10 // java.lang.String[] projectionIn
         2: .line 693
            iconst_0
            istore 11 /* i */
        start local 11 // int i
         3: goto 16
         4: .line 694
      StackMap locals: int java.lang.String[] int
      StackMap stack:
            aload 2 /* unionColumns */
            iload 11 /* i */
            aaload
            astore 12 /* unionColumn */
        start local 12 // java.lang.String unionColumn
         5: .line 696
            aload 12 /* unionColumn */
            aload 1 /* typeDiscriminatorColumn */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         6: .line 697
            aload 10 /* projectionIn */
            iload 11 /* i */
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* typeDiscriminatorValue */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' AS "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 698
            aload 1 /* typeDiscriminatorColumn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 697
            aastore
         9: .line 699
            goto 15
      StackMap locals: java.lang.String
      StackMap stack:
        10: iload 11 /* i */
            iload 4 /* computedColumnsOffset */
            if_icmple 12
        11: .line 700
            aload 3 /* columnsPresentInTable */
            aload 12 /* unionColumn */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 14
        12: .line 701
      StackMap locals:
      StackMap stack:
            aload 10 /* projectionIn */
            iload 11 /* i */
            aload 12 /* unionColumn */
            aastore
        13: .line 702
            goto 15
        14: .line 703
      StackMap locals:
      StackMap stack:
            aload 10 /* projectionIn */
            iload 11 /* i */
            new java.lang.StringBuilder
            dup
            ldc "NULL AS "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 12 /* unionColumn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        end local 12 // java.lang.String unionColumn
        15: .line 693
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 11 /* i */
            iload 9 /* unionColumnsCount */
            if_icmplt 4
        end local 11 // int i
        17: .line 706
            aload 0 /* this */
        18: .line 707
            aload 10 /* projectionIn */
            aload 6 /* selection */
            aload 7 /* groupBy */
            aload 8 /* having */
        19: .line 708
            aconst_null
        20: .line 709
            aconst_null
        21: .line 706
            invokevirtual android.database.sqlite.SQLiteQueryBuilder.buildQuery:([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 10 // java.lang.String[] projectionIn
        end local 9 // int unionColumnsCount
        end local 8 // java.lang.String having
        end local 7 // java.lang.String groupBy
        end local 6 // java.lang.String selection
        end local 5 // java.lang.String typeDiscriminatorValue
        end local 4 // int computedColumnsOffset
        end local 3 // java.util.Set columnsPresentInTable
        end local 2 // java.lang.String[] unionColumns
        end local 1 // java.lang.String typeDiscriminatorColumn
        end local 0 // android.database.sqlite.SQLiteQueryBuilder this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   22     0                     this  Landroid/database/sqlite/SQLiteQueryBuilder;
            0   22     1  typeDiscriminatorColumn  Ljava/lang/String;
            0   22     2             unionColumns  [Ljava/lang/String;
            0   22     3    columnsPresentInTable  Ljava/util/Set<Ljava/lang/String;>;
            0   22     4    computedColumnsOffset  I
            0   22     5   typeDiscriminatorValue  Ljava/lang/String;
            0   22     6                selection  Ljava/lang/String;
            0   22     7                  groupBy  Ljava/lang/String;
            0   22     8                   having  Ljava/lang/String;
            1   22     9        unionColumnsCount  I
            2   22    10             projectionIn  [Ljava/lang/String;
            3   17    11                        i  I
            5   15    12              unionColumn  Ljava/lang/String;
    Signature: (Ljava/lang/String;[Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    MethodParameters:
                         Name  Flags
      typeDiscriminatorColumn  
      unionColumns             
      columnsPresentInTable    
      computedColumnsOffset    
      typeDiscriminatorValue   
      selection                
      groupBy                  
      having                   

  public java.lang.String buildUnionSubQuery(java.lang.String, java.lang.String[], java.util.Set<java.lang.String>, int, java.lang.String, java.lang.String, java.lang.String[], java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;Ljava/util/Set;ILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=10, args_size=10
        start local 0 // android.database.sqlite.SQLiteQueryBuilder this
        start local 1 // java.lang.String typeDiscriminatorColumn
        start local 2 // java.lang.String[] unionColumns
        start local 3 // java.util.Set columnsPresentInTable
        start local 4 // int computedColumnsOffset
        start local 5 // java.lang.String typeDiscriminatorValue
        start local 6 // java.lang.String selection
        start local 7 // java.lang.String[] selectionArgs
        start local 8 // java.lang.String groupBy
        start local 9 // java.lang.String having
         0: .line 730
            aload 0 /* this */
         1: .line 731
            aload 1 /* typeDiscriminatorColumn */
            aload 2 /* unionColumns */
            aload 3 /* columnsPresentInTable */
         2: .line 732
            iload 4 /* computedColumnsOffset */
            aload 5 /* typeDiscriminatorValue */
            aload 6 /* selection */
         3: .line 733
            aload 8 /* groupBy */
            aload 9 /* having */
         4: .line 730
            invokevirtual android.database.sqlite.SQLiteQueryBuilder.buildUnionSubQuery:(Ljava/lang/String;[Ljava/lang/String;Ljava/util/Set;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 9 // java.lang.String having
        end local 8 // java.lang.String groupBy
        end local 7 // java.lang.String[] selectionArgs
        end local 6 // java.lang.String selection
        end local 5 // java.lang.String typeDiscriminatorValue
        end local 4 // int computedColumnsOffset
        end local 3 // java.util.Set columnsPresentInTable
        end local 2 // java.lang.String[] unionColumns
        end local 1 // java.lang.String typeDiscriminatorColumn
        end local 0 // android.database.sqlite.SQLiteQueryBuilder this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    5     0                     this  Landroid/database/sqlite/SQLiteQueryBuilder;
            0    5     1  typeDiscriminatorColumn  Ljava/lang/String;
            0    5     2             unionColumns  [Ljava/lang/String;
            0    5     3    columnsPresentInTable  Ljava/util/Set<Ljava/lang/String;>;
            0    5     4    computedColumnsOffset  I
            0    5     5   typeDiscriminatorValue  Ljava/lang/String;
            0    5     6                selection  Ljava/lang/String;
            0    5     7            selectionArgs  [Ljava/lang/String;
            0    5     8                  groupBy  Ljava/lang/String;
            0    5     9                   having  Ljava/lang/String;
    Signature: (Ljava/lang/String;[Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;ILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                         Name  Flags
      typeDiscriminatorColumn  
      unionColumns             
      columnsPresentInTable    
      computedColumnsOffset    
      typeDiscriminatorValue   
      selection                
      selectionArgs            
      groupBy                  
      having                   

  public java.lang.String buildUnionQuery(java.lang.String[], java.lang.String, java.lang.String);
    descriptor: ([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // android.database.sqlite.SQLiteQueryBuilder this
        start local 1 // java.lang.String[] subQueries
        start local 2 // java.lang.String sortOrder
        start local 3 // java.lang.String limit
         0: .line 751
            new java.lang.StringBuilder
            dup
            sipush 128
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* query */
        start local 4 // java.lang.StringBuilder query
         1: .line 752
            aload 1 /* subQueries */
            arraylength
            istore 5 /* subQueryCount */
        start local 5 // int subQueryCount
         2: .line 753
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteQueryBuilder.mDistinct:Z
            ifeq 3
            ldc " UNION "
            goto 4
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
         3: ldc " UNION ALL "
      StackMap locals:
      StackMap stack: java.lang.String
         4: astore 6 /* unionOperator */
        start local 6 // java.lang.String unionOperator
         5: .line 755
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         6: goto 11
         7: .line 756
      StackMap locals: java.lang.String int
      StackMap stack:
            iload 7 /* i */
            ifle 9
         8: .line 757
            aload 4 /* query */
            aload 6 /* unionOperator */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 759
      StackMap locals:
      StackMap stack:
            aload 4 /* query */
            aload 1 /* subQueries */
            iload 7 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 755
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 7 /* i */
            iload 5 /* subQueryCount */
            if_icmplt 7
        end local 7 // int i
        12: .line 761
            aload 4 /* query */
            ldc " ORDER BY "
            aload 2 /* sortOrder */
            invokestatic android.database.sqlite.SQLiteQueryBuilder.appendClause:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
        13: .line 762
            aload 4 /* query */
            ldc " LIMIT "
            aload 3 /* limit */
            invokestatic android.database.sqlite.SQLiteQueryBuilder.appendClause:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
        14: .line 763
            aload 4 /* query */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 6 // java.lang.String unionOperator
        end local 5 // int subQueryCount
        end local 4 // java.lang.StringBuilder query
        end local 3 // java.lang.String limit
        end local 2 // java.lang.String sortOrder
        end local 1 // java.lang.String[] subQueries
        end local 0 // android.database.sqlite.SQLiteQueryBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           this  Landroid/database/sqlite/SQLiteQueryBuilder;
            0   15     1     subQueries  [Ljava/lang/String;
            0   15     2      sortOrder  Ljava/lang/String;
            0   15     3          limit  Ljava/lang/String;
            1   15     4          query  Ljava/lang/StringBuilder;
            2   15     5  subQueryCount  I
            5   15     6  unionOperator  Ljava/lang/String;
            6   12     7              i  I
    MethodParameters:
            Name  Flags
      subQueries  
      sortOrder   
      limit       

  private java.lang.String[] computeProjection(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // android.database.sqlite.SQLiteQueryBuilder this
        start local 1 // java.lang.String[] projectionIn
         0: .line 767
            aload 1 /* projectionIn */
            ifnull 22
            aload 1 /* projectionIn */
            arraylength
            ifle 22
         1: .line 768
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteQueryBuilder.mProjectionMap:Ljava/util/Map;
            ifnull 21
         2: .line 769
            aload 1 /* projectionIn */
            arraylength
            anewarray java.lang.String
            astore 2 /* projection */
        start local 2 // java.lang.String[] projection
         3: .line 770
            aload 1 /* projectionIn */
            arraylength
            istore 3 /* length */
        start local 3 // int length
         4: .line 772
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 19
         6: .line 773
      StackMap locals: java.lang.String[] int int
      StackMap stack:
            aload 1 /* projectionIn */
            iload 4 /* i */
            aaload
            astore 5 /* userColumn */
        start local 5 // java.lang.String userColumn
         7: .line 774
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteQueryBuilder.mProjectionMap:Ljava/util/Map;
            aload 5 /* userColumn */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* column */
        start local 6 // java.lang.String column
         8: .line 776
            aload 6 /* column */
            ifnull 11
         9: .line 777
            aload 2 /* projection */
            iload 4 /* i */
            aload 6 /* column */
            aastore
        10: .line 778
            goto 18
        11: .line 781
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteQueryBuilder.mStrict:Z
            ifne 15
        12: .line 782
            aload 5 /* userColumn */
            ldc " AS "
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 13
            aload 5 /* userColumn */
            ldc " as "
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 15
        13: .line 784
      StackMap locals:
      StackMap stack:
            aload 2 /* projection */
            iload 4 /* i */
            aload 5 /* userColumn */
            aastore
        14: .line 785
            goto 18
        15: .line 788
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid column "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        16: .line 789
            aload 1 /* projectionIn */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 788
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.String column
        end local 5 // java.lang.String userColumn
        18: .line 772
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 4 /* i */
            iload 3 /* length */
            if_icmplt 6
        end local 4 // int i
        20: .line 791
            aload 2 /* projection */
            areturn
        end local 3 // int length
        end local 2 // java.lang.String[] projection
        21: .line 793
      StackMap locals:
      StackMap stack:
            aload 1 /* projectionIn */
            areturn
        22: .line 795
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteQueryBuilder.mProjectionMap:Ljava/util/Map;
            ifnull 34
        23: .line 797
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteQueryBuilder.mProjectionMap:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            astore 2 /* entrySet */
        start local 2 // java.util.Set entrySet
        24: .line 798
            aload 2 /* entrySet */
            invokeinterface java.util.Set.size:()I
            anewarray java.lang.String
            astore 3 /* projection */
        start local 3 // java.lang.String[] projection
        25: .line 799
            aload 2 /* entrySet */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* entryIter */
        start local 4 // java.util.Iterator entryIter
        26: .line 800
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        27: .line 802
            goto 32
        28: .line 803
      StackMap locals: android.database.sqlite.SQLiteQueryBuilder java.lang.String[] java.util.Set java.lang.String[] java.util.Iterator int
      StackMap stack:
            aload 4 /* entryIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* entry */
        start local 6 // java.util.Map$Entry entry
        29: .line 806
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            ldc "_count"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 31
        30: .line 807
            goto 32
        31: .line 809
      StackMap locals: java.util.Map$Entry
      StackMap stack:
            aload 3 /* projection */
            iload 5 /* i */
            iinc 5 /* i */ 1
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            aastore
        end local 6 // java.util.Map$Entry entry
        32: .line 802
      StackMap locals:
      StackMap stack:
            aload 4 /* entryIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 28
        33: .line 811
            aload 3 /* projection */
            areturn
        end local 5 // int i
        end local 4 // java.util.Iterator entryIter
        end local 3 // java.lang.String[] projection
        end local 2 // java.util.Set entrySet
        34: .line 813
      StackMap locals: android.database.sqlite.SQLiteQueryBuilder java.lang.String[]
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.String[] projectionIn
        end local 0 // android.database.sqlite.SQLiteQueryBuilder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   35     0          this  Landroid/database/sqlite/SQLiteQueryBuilder;
            0   35     1  projectionIn  [Ljava/lang/String;
            3   21     2    projection  [Ljava/lang/String;
            4   21     3        length  I
            5   20     4             i  I
            7   18     5    userColumn  Ljava/lang/String;
            8   18     6        column  Ljava/lang/String;
           24   34     2      entrySet  Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;>;
           25   34     3    projection  [Ljava/lang/String;
           26   34     4     entryIter  Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;>;
           27   34     5             i  I
           29   32     6         entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
              Name  Flags
      projectionIn  

  private java.lang.String computeWhere(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // android.database.sqlite.SQLiteQueryBuilder this
        start local 1 // java.lang.String selection
         0: .line 817
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteQueryBuilder.mWhereClause:Ljava/lang/StringBuilder;
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* hasInternal */
        start local 2 // boolean hasInternal
         3: .line 818
            aload 1 /* selection */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 4
            iconst_0
            goto 5
      StackMap locals: int
      StackMap stack:
         4: iconst_1
      StackMap locals:
      StackMap stack: int
         5: istore 3 /* hasExternal */
        start local 3 // boolean hasExternal
         6: .line 820
            iload 2 /* hasInternal */
            ifne 7
            iload 3 /* hasExternal */
            ifeq 15
         7: .line 821
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 4 /* where */
        start local 4 // java.lang.StringBuilder where
         8: .line 822
            iload 2 /* hasInternal */
            ifeq 10
         9: .line 823
            aload 4 /* where */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteQueryBuilder.mWhereClause:Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        10: .line 825
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            iload 2 /* hasInternal */
            ifeq 12
            iload 3 /* hasExternal */
            ifeq 12
        11: .line 826
            aload 4 /* where */
            ldc " AND "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 828
      StackMap locals:
      StackMap stack:
            iload 3 /* hasExternal */
            ifeq 14
        13: .line 829
            aload 4 /* where */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* selection */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        14: .line 831
      StackMap locals:
      StackMap stack:
            aload 4 /* where */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuilder where
        15: .line 833
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // boolean hasExternal
        end local 2 // boolean hasInternal
        end local 1 // java.lang.String selection
        end local 0 // android.database.sqlite.SQLiteQueryBuilder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Landroid/database/sqlite/SQLiteQueryBuilder;
            0   16     1    selection  Ljava/lang/String;
            3   16     2  hasInternal  Z
            6   16     3  hasExternal  Z
            8   15     4        where  Ljava/lang/StringBuilder;
    MethodParameters:
           Name  Flags
      selection  

  private java.lang.String wrap(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.database.sqlite.SQLiteQueryBuilder this
        start local 1 // java.lang.String arg
         0: .line 842
            aload 1 /* arg */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 2
         1: .line 843
            aload 1 /* arg */
            areturn
         2: .line 845
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* arg */
            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;
            areturn
        end local 1 // java.lang.String arg
        end local 0 // android.database.sqlite.SQLiteQueryBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/database/sqlite/SQLiteQueryBuilder;
            0    3     1   arg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      arg   
}
SourceFile: "SQLiteQueryBuilder.java"
InnerClasses:
  public abstract CursorFactory = android.database.sqlite.SQLiteDatabase$CursorFactory of android.database.sqlite.SQLiteDatabase
  public abstract Entry = java.util.Map$Entry of java.util.Map