public class android.database.MatrixCursor extends android.database.AbstractCursor
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.database.MatrixCursor
super_class: android.database.AbstractCursor
{
private final java.lang.String[] columnNames;
descriptor: [Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.Object[] data;
descriptor: [Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private int rowCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final int columnCount;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.lang.String[], int);
descriptor: ([Ljava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial android.database.AbstractCursor.<init>:()V
1: aload 0
iconst_0
putfield android.database.MatrixCursor.rowCount:I
2: aload 0
aload 1
putfield android.database.MatrixCursor.columnNames:[Ljava/lang/String;
3: aload 0
aload 1
arraylength
putfield android.database.MatrixCursor.columnCount:I
4: iload 2
iconst_1
if_icmpge 6
5: iconst_1
istore 2
6: StackMap locals: android.database.MatrixCursor java.lang.String[] int
StackMap stack:
aload 0
aload 0
getfield android.database.MatrixCursor.columnCount:I
iload 2
imul
anewarray java.lang.Object
putfield android.database.MatrixCursor.data:[Ljava/lang/Object;
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/database/MatrixCursor;
0 8 1 columnNames [Ljava/lang/String;
0 8 2 initialCapacity I
MethodParameters:
Name Flags
columnNames
initialCapacity
public void <init>(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
bipush 16
invokespecial android.database.MatrixCursor.<init>:([Ljava/lang/String;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/database/MatrixCursor;
0 2 1 columnNames [Ljava/lang/String;
MethodParameters:
Name Flags
columnNames
private java.lang.Object get(int);
descriptor: (I)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iflt 1
iload 1
aload 0
getfield android.database.MatrixCursor.columnCount:I
if_icmplt 4
1: StackMap locals:
StackMap stack:
new android.database.CursorIndexOutOfBoundsException
dup
new java.lang.StringBuilder
dup
ldc "Requested column: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", # of columns: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield android.database.MatrixCursor.columnCount:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial android.database.CursorIndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield android.database.MatrixCursor.mPos:I
ifge 6
5: new android.database.CursorIndexOutOfBoundsException
dup
ldc "Before first row."
invokespecial android.database.CursorIndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield android.database.MatrixCursor.mPos:I
aload 0
getfield android.database.MatrixCursor.rowCount:I
if_icmplt 8
7: new android.database.CursorIndexOutOfBoundsException
dup
ldc "After last row."
invokespecial android.database.CursorIndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield android.database.MatrixCursor.data:[Ljava/lang/Object;
aload 0
getfield android.database.MatrixCursor.mPos:I
aload 0
getfield android.database.MatrixCursor.columnCount:I
imul
iload 1
iadd
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/database/MatrixCursor;
0 9 1 column I
MethodParameters:
Name Flags
column
public android.database.MatrixCursor$RowBuilder newRow();
descriptor: ()Landroid/database/MatrixCursor$RowBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
dup
getfield android.database.MatrixCursor.rowCount:I
dup_x1
iconst_1
iadd
putfield android.database.MatrixCursor.rowCount:I
istore 1
start local 1 1: aload 0
getfield android.database.MatrixCursor.rowCount:I
aload 0
getfield android.database.MatrixCursor.columnCount:I
imul
istore 2
start local 2 2: aload 0
iload 2
invokevirtual android.database.MatrixCursor.ensureCapacity:(I)V
3: new android.database.MatrixCursor$RowBuilder
dup
aload 0
iload 1
invokespecial android.database.MatrixCursor$RowBuilder.<init>:(Landroid/database/MatrixCursor;I)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/database/MatrixCursor;
1 4 1 row I
2 4 2 endIndex I
public void addRow(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
arraylength
aload 0
getfield android.database.MatrixCursor.columnCount:I
if_icmpeq 5
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "columnNames.length = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: aload 0
getfield android.database.MatrixCursor.columnCount:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", columnValues.length = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: aload 1
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
dup
getfield android.database.MatrixCursor.rowCount:I
dup_x1
iconst_1
iadd
putfield android.database.MatrixCursor.rowCount:I
aload 0
getfield android.database.MatrixCursor.columnCount:I
imul
istore 2
start local 2 6: aload 0
iload 2
aload 0
getfield android.database.MatrixCursor.columnCount:I
iadd
invokevirtual android.database.MatrixCursor.ensureCapacity:(I)V
7: aload 1
iconst_0
aload 0
getfield android.database.MatrixCursor.data:[Ljava/lang/Object;
iload 2
aload 0
getfield android.database.MatrixCursor.columnCount:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/database/MatrixCursor;
0 9 1 columnValues [Ljava/lang/Object;
6 9 2 start I
MethodParameters:
Name Flags
columnValues
public void addRow(java.lang.Iterable<?>);
descriptor: (Ljava/lang/Iterable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield android.database.MatrixCursor.rowCount:I
aload 0
getfield android.database.MatrixCursor.columnCount:I
imul
istore 2
start local 2 1: iload 2
aload 0
getfield android.database.MatrixCursor.columnCount:I
iadd
istore 3
start local 3 2: aload 0
iload 3
invokevirtual android.database.MatrixCursor.ensureCapacity:(I)V
3: aload 1
instanceof java.util.ArrayList
ifeq 6
4: aload 0
aload 1
checkcast java.util.ArrayList
iload 2
invokevirtual android.database.MatrixCursor.addRow:(Ljava/util/ArrayList;I)V
5: return
6: StackMap locals: int int
StackMap stack:
iload 2
istore 4
start local 4 7: aload 0
getfield android.database.MatrixCursor.data:[Ljava/lang/Object;
astore 5
start local 5 8: aload 1
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 7
goto 15
StackMap locals: android.database.MatrixCursor java.lang.Iterable int int int java.lang.Object[] top java.util.Iterator
StackMap stack:
9: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 6
start local 6 10: iload 4
iload 3
if_icmpne 14
11: new java.lang.IllegalArgumentException
dup
12: ldc "columnValues.size() > columnNames.length"
13: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals: android.database.MatrixCursor java.lang.Iterable int int int java.lang.Object[] java.lang.Object java.util.Iterator
StackMap stack:
aload 5
iload 4
iinc 4 1
aload 6
aastore
end local 6 15: StackMap locals: android.database.MatrixCursor java.lang.Iterable int int int java.lang.Object[] top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
16: iload 4
iload 3
if_icmpeq 20
17: new java.lang.IllegalArgumentException
dup
18: ldc "columnValues.size() < columnNames.length"
19: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals: android.database.MatrixCursor java.lang.Iterable int int int java.lang.Object[]
StackMap stack:
aload 0
dup
getfield android.database.MatrixCursor.rowCount:I
iconst_1
iadd
putfield android.database.MatrixCursor.rowCount:I
21: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Landroid/database/MatrixCursor;
0 22 1 columnValues Ljava/lang/Iterable<*>;
1 22 2 start I
2 22 3 end I
7 22 4 current I
8 22 5 localData [Ljava/lang/Object;
10 15 6 columnValue Ljava/lang/Object;
Signature: (Ljava/lang/Iterable<*>;)V
MethodParameters:
Name Flags
columnValues
private void addRow(java.util.ArrayList<?>, );
descriptor: (Ljava/util/ArrayList;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.util.ArrayList.size:()I
istore 3
start local 3 1: iload 3
aload 0
getfield android.database.MatrixCursor.columnCount:I
if_icmpeq 5
2: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "columnNames.length = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: aload 0
getfield android.database.MatrixCursor.columnCount:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", columnValues.size() = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: int
StackMap stack:
aload 0
dup
getfield android.database.MatrixCursor.rowCount:I
iconst_1
iadd
putfield android.database.MatrixCursor.rowCount:I
6: aload 0
getfield android.database.MatrixCursor.data:[Ljava/lang/Object;
astore 4
start local 4 7: iconst_0
istore 5
start local 5 8: goto 11
9: StackMap locals: java.lang.Object[] int
StackMap stack:
aload 4
iload 2
iload 5
iadd
aload 1
iload 5
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
aastore
10: iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
iload 3
if_icmplt 9
end local 5 12: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Landroid/database/MatrixCursor;
0 13 1 columnValues Ljava/util/ArrayList<*>;
0 13 2 start I
1 13 3 size I
7 13 4 localData [Ljava/lang/Object;
8 12 5 i I
Signature: (Ljava/util/ArrayList<*>;I)V
MethodParameters:
Name Flags
columnValues
start
private void ensureCapacity(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield android.database.MatrixCursor.data:[Ljava/lang/Object;
arraylength
if_icmple 7
1: aload 0
getfield android.database.MatrixCursor.data:[Ljava/lang/Object;
astore 2
start local 2 2: aload 0
getfield android.database.MatrixCursor.data:[Ljava/lang/Object;
arraylength
iconst_2
imul
istore 3
start local 3 3: iload 3
iload 1
if_icmpge 5
4: iload 1
istore 3
5: StackMap locals: java.lang.Object[] int
StackMap stack:
aload 0
iload 3
anewarray java.lang.Object
putfield android.database.MatrixCursor.data:[Ljava/lang/Object;
6: aload 2
iconst_0
aload 0
getfield android.database.MatrixCursor.data:[Ljava/lang/Object;
iconst_0
aload 2
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 3 end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/database/MatrixCursor;
0 8 1 size I
2 7 2 oldData [Ljava/lang/Object;
3 7 3 newSize I
MethodParameters:
Name Flags
size
public int getCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.database.MatrixCursor.rowCount:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/database/MatrixCursor;
public java.lang.String[] getColumnNames();
descriptor: ()[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.database.MatrixCursor.columnNames:[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/database/MatrixCursor;
public java.lang.String getString(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual android.database.MatrixCursor.get:(I)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
ifnonnull 2
aconst_null
areturn
2: StackMap locals: java.lang.Object
StackMap stack:
aload 2
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/database/MatrixCursor;
0 3 1 column I
1 3 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
column
public short getShort(int);
descriptor: (I)S
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual android.database.MatrixCursor.get:(I)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
ifnonnull 2
iconst_0
ireturn
2: StackMap locals: java.lang.Object
StackMap stack:
aload 2
instanceof java.lang.Number
ifeq 3
aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.shortValue:()S
ireturn
3: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic java.lang.Short.parseShort:(Ljava/lang/String;)S
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/database/MatrixCursor;
0 4 1 column I
1 4 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
column
public int getInt(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual android.database.MatrixCursor.get:(I)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
ifnonnull 2
iconst_0
ireturn
2: StackMap locals: java.lang.Object
StackMap stack:
aload 2
instanceof java.lang.Number
ifeq 3
aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
ireturn
3: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/database/MatrixCursor;
0 4 1 column I
1 4 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
column
public long getLong(int);
descriptor: (I)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual android.database.MatrixCursor.get:(I)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
ifnonnull 2
lconst_0
lreturn
2: StackMap locals: java.lang.Object
StackMap stack:
aload 2
instanceof java.lang.Number
ifeq 3
aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
lreturn
3: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/database/MatrixCursor;
0 4 1 column I
1 4 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
column
public float getFloat(int);
descriptor: (I)F
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual android.database.MatrixCursor.get:(I)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
ifnonnull 2
fconst_0
freturn
2: StackMap locals: java.lang.Object
StackMap stack:
aload 2
instanceof java.lang.Number
ifeq 3
aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.floatValue:()F
freturn
3: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic java.lang.Float.parseFloat:(Ljava/lang/String;)F
freturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/database/MatrixCursor;
0 4 1 column I
1 4 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
column
public double getDouble(int);
descriptor: (I)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual android.database.MatrixCursor.get:(I)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
ifnonnull 2
dconst_0
dreturn
2: StackMap locals: java.lang.Object
StackMap stack:
aload 2
instanceof java.lang.Number
ifeq 3
aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dreturn
3: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
dreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/database/MatrixCursor;
0 4 1 column I
1 4 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
column
public byte[] getBlob(int);
descriptor: (I)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual android.database.MatrixCursor.get:(I)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
checkcast byte[]
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/database/MatrixCursor;
0 2 1 column I
1 2 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
column
public int getType(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual android.database.MatrixCursor.get:(I)Ljava/lang/Object;
invokestatic android.database.DatabaseUtils.getTypeOfObject:(Ljava/lang/Object;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/database/MatrixCursor;
0 1 1 column I
MethodParameters:
Name Flags
column
public boolean isNull(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual android.database.MatrixCursor.get:(I)Ljava/lang/Object;
ifnonnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/database/MatrixCursor;
0 2 1 column I
MethodParameters:
Name Flags
column
}
SourceFile: "MatrixCursor.java"
NestMembers:
android.database.MatrixCursor$RowBuilder
InnerClasses:
public RowBuilder = android.database.MatrixCursor$RowBuilder of android.database.MatrixCursor