public class android.util.SparseBooleanArray implements java.lang.Cloneable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.util.SparseBooleanArray
super_class: java.lang.Object
{
private int[] mKeys;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private boolean[] mValues;
descriptor: [Z
flags: (0x0002) ACC_PRIVATE
private int mSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
bipush 10
invokespecial android.util.SparseBooleanArray.<init>:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/util/SparseBooleanArray;
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tThe import libcore.util cannot be resolved\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 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/util/SparseBooleanArray;
MethodParameters:
Name Flags
initialCapacity
public android.util.SparseBooleanArray clone();
descriptor: ()Landroid/util/SparseBooleanArray;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
invokespecial java.lang.Object.clone:()Ljava/lang/Object;
checkcast android.util.SparseBooleanArray
astore 1
2: aload 1
aload 0
getfield android.util.SparseBooleanArray.mKeys:[I
invokevirtual int[].clone:()Ljava/lang/Object;
checkcast int[]
putfield android.util.SparseBooleanArray.mKeys:[I
3: aload 1
aload 0
getfield android.util.SparseBooleanArray.mValues:[Z
invokevirtual boolean[].clone:()Ljava/lang/Object;
checkcast boolean[]
putfield android.util.SparseBooleanArray.mValues:[Z
4: goto 6
StackMap locals: android.util.SparseBooleanArray android.util.SparseBooleanArray
StackMap stack: java.lang.CloneNotSupportedException
5: pop
6: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/util/SparseBooleanArray;
1 7 1 clone Landroid/util/SparseBooleanArray;
Exception table:
from to target type
1 4 5 Class java.lang.CloneNotSupportedException
public boolean get(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_0
invokevirtual android.util.SparseBooleanArray.get:(IZ)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/util/SparseBooleanArray;
0 1 1 key I
MethodParameters:
Name Flags
key
public boolean get(int, boolean);
descriptor: (IZ)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.util.SparseBooleanArray.mKeys:[I
aload 0
getfield android.util.SparseBooleanArray.mSize:I
iload 1
invokestatic android.util.ContainerHelpers.binarySearch:([III)I
istore 3
start local 3 1: iload 3
ifge 3
2: iload 2
ireturn
3: StackMap locals: int
StackMap stack:
aload 0
getfield android.util.SparseBooleanArray.mValues:[Z
iload 3
baload
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/util/SparseBooleanArray;
0 4 1 key I
0 4 2 valueIfKeyNotFound Z
1 4 3 i I
MethodParameters:
Name Flags
key
valueIfKeyNotFound
public void delete(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield android.util.SparseBooleanArray.mKeys:[I
aload 0
getfield android.util.SparseBooleanArray.mSize:I
iload 1
invokestatic android.util.ContainerHelpers.binarySearch:([III)I
istore 2
start local 2 1: iload 2
iflt 5
2: aload 0
getfield android.util.SparseBooleanArray.mKeys:[I
iload 2
iconst_1
iadd
aload 0
getfield android.util.SparseBooleanArray.mKeys:[I
iload 2
aload 0
getfield android.util.SparseBooleanArray.mSize:I
iload 2
iconst_1
iadd
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 0
getfield android.util.SparseBooleanArray.mValues:[Z
iload 2
iconst_1
iadd
aload 0
getfield android.util.SparseBooleanArray.mValues:[Z
iload 2
aload 0
getfield android.util.SparseBooleanArray.mSize:I
iload 2
iconst_1
iadd
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 0
dup
getfield android.util.SparseBooleanArray.mSize:I
iconst_1
isub
putfield android.util.SparseBooleanArray.mSize:I
5: StackMap locals: int
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/util/SparseBooleanArray;
0 6 1 key I
1 6 2 i I
MethodParameters:
Name Flags
key
public void removeAt(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.util.SparseBooleanArray.mKeys:[I
iload 1
iconst_1
iadd
aload 0
getfield android.util.SparseBooleanArray.mKeys:[I
iload 1
aload 0
getfield android.util.SparseBooleanArray.mSize:I
iload 1
iconst_1
iadd
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: aload 0
getfield android.util.SparseBooleanArray.mValues:[Z
iload 1
iconst_1
iadd
aload 0
getfield android.util.SparseBooleanArray.mValues:[Z
iload 1
aload 0
getfield android.util.SparseBooleanArray.mSize:I
iload 1
iconst_1
iadd
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 0
dup
getfield android.util.SparseBooleanArray.mSize:I
iconst_1
isub
putfield android.util.SparseBooleanArray.mSize:I
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/util/SparseBooleanArray;
0 4 1 index I
MethodParameters:
Name Flags
index
public void put(int, boolean);
descriptor: (IZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.util.SparseBooleanArray.mKeys:[I
aload 0
getfield android.util.SparseBooleanArray.mSize:I
iload 1
invokestatic android.util.ContainerHelpers.binarySearch:([III)I
istore 3
start local 3 1: iload 3
iflt 4
2: aload 0
getfield android.util.SparseBooleanArray.mValues:[Z
iload 3
iload 2
bastore
3: goto 8
4: StackMap locals: int
StackMap stack:
iload 3
iconst_m1
ixor
istore 3
5: aload 0
aload 0
getfield android.util.SparseBooleanArray.mKeys:[I
aload 0
getfield android.util.SparseBooleanArray.mSize:I
iload 3
iload 1
invokestatic com.android.internal.util.GrowingArrayUtils.insert:([IIII)[I
putfield android.util.SparseBooleanArray.mKeys:[I
6: aload 0
aload 0
getfield android.util.SparseBooleanArray.mValues:[Z
aload 0
getfield android.util.SparseBooleanArray.mSize:I
iload 3
iload 2
invokestatic com.android.internal.util.GrowingArrayUtils.insert:([ZIIZ)[Z
putfield android.util.SparseBooleanArray.mValues:[Z
7: aload 0
dup
getfield android.util.SparseBooleanArray.mSize:I
iconst_1
iadd
putfield android.util.SparseBooleanArray.mSize:I
8: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/util/SparseBooleanArray;
0 9 1 key I
0 9 2 value Z
1 9 3 i I
MethodParameters:
Name Flags
key
value
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.util.SparseBooleanArray.mSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/util/SparseBooleanArray;
public int keyAt(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
getfield android.util.SparseBooleanArray.mKeys:[I
iload 1
iaload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/util/SparseBooleanArray;
0 1 1 index I
MethodParameters:
Name Flags
index
public boolean valueAt(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
getfield android.util.SparseBooleanArray.mValues:[Z
iload 1
baload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/util/SparseBooleanArray;
0 1 1 index I
MethodParameters:
Name Flags
index
public void setValueAt(int, boolean);
descriptor: (IZ)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
getfield android.util.SparseBooleanArray.mValues:[Z
iload 1
iload 2
bastore
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/util/SparseBooleanArray;
0 2 1 index I
0 2 2 value Z
MethodParameters:
Name Flags
index
value
public void setKeyAt(int, int);
descriptor: (II)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
getfield android.util.SparseBooleanArray.mKeys:[I
iload 1
iload 2
iastore
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/util/SparseBooleanArray;
0 2 1 index I
0 2 2 key I
MethodParameters:
Name Flags
index
key
public int indexOfKey(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.util.SparseBooleanArray.mKeys:[I
aload 0
getfield android.util.SparseBooleanArray.mSize:I
iload 1
invokestatic android.util.ContainerHelpers.binarySearch:([III)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/util/SparseBooleanArray;
0 1 1 key I
MethodParameters:
Name Flags
key
public int indexOfValue(boolean);
descriptor: (Z)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
getfield android.util.SparseBooleanArray.mValues:[Z
iload 2
baload
iload 1
if_icmpne 4
3: iload 2
ireturn
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
getfield android.util.SparseBooleanArray.mSize:I
if_icmplt 2
end local 2 6: iconst_m1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/util/SparseBooleanArray;
0 7 1 value Z
1 6 2 i I
MethodParameters:
Name Flags
value
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield android.util.SparseBooleanArray.mSize:I
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/util/SparseBooleanArray;
public void append(int, boolean);
descriptor: (IZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.util.SparseBooleanArray.mSize:I
ifeq 3
iload 1
aload 0
getfield android.util.SparseBooleanArray.mKeys:[I
aload 0
getfield android.util.SparseBooleanArray.mSize:I
iconst_1
isub
iaload
if_icmpgt 3
1: aload 0
iload 1
iload 2
invokevirtual android.util.SparseBooleanArray.put:(IZ)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield android.util.SparseBooleanArray.mKeys:[I
aload 0
getfield android.util.SparseBooleanArray.mSize:I
iload 1
invokestatic com.android.internal.util.GrowingArrayUtils.append:([III)[I
putfield android.util.SparseBooleanArray.mKeys:[I
4: aload 0
aload 0
getfield android.util.SparseBooleanArray.mValues:[Z
aload 0
getfield android.util.SparseBooleanArray.mSize:I
iload 2
invokestatic com.android.internal.util.GrowingArrayUtils.append:([ZIZ)[Z
putfield android.util.SparseBooleanArray.mValues:[Z
5: aload 0
dup
getfield android.util.SparseBooleanArray.mSize:I
iconst_1
iadd
putfield android.util.SparseBooleanArray.mSize:I
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/util/SparseBooleanArray;
0 7 1 key I
0 7 2 value Z
MethodParameters:
Name Flags
key
value
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield android.util.SparseBooleanArray.mSize:I
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 7
3: StackMap locals: int int
StackMap stack:
bipush 31
iload 1
imul
aload 0
getfield android.util.SparseBooleanArray.mKeys:[I
iload 2
iaload
iadd
aload 0
getfield android.util.SparseBooleanArray.mValues:[Z
iload 2
baload
ifeq 4
iconst_1
goto 5
StackMap locals:
StackMap stack: int
4: iconst_0
StackMap locals: android.util.SparseBooleanArray int int
StackMap stack: int int
5: ior
istore 1
6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 0
getfield android.util.SparseBooleanArray.mSize:I
if_icmplt 3
end local 2 8: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/util/SparseBooleanArray;
1 9 1 hashCode I
2 8 2 i I
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof android.util.SparseBooleanArray
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast android.util.SparseBooleanArray
astore 2
start local 2 5: aload 0
getfield android.util.SparseBooleanArray.mSize:I
aload 2
getfield android.util.SparseBooleanArray.mSize:I
if_icmpeq 7
6: iconst_0
ireturn
7: StackMap locals: android.util.SparseBooleanArray
StackMap stack:
iconst_0
istore 3
start local 3 8: goto 14
9: StackMap locals: int
StackMap stack:
aload 0
getfield android.util.SparseBooleanArray.mKeys:[I
iload 3
iaload
aload 2
getfield android.util.SparseBooleanArray.mKeys:[I
iload 3
iaload
if_icmpeq 11
10: iconst_0
ireturn
11: StackMap locals:
StackMap stack:
aload 0
getfield android.util.SparseBooleanArray.mValues:[Z
iload 3
baload
aload 2
getfield android.util.SparseBooleanArray.mValues:[Z
iload 3
baload
if_icmpeq 13
12: iconst_0
ireturn
13: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
14: iload 3
aload 0
getfield android.util.SparseBooleanArray.mSize:I
if_icmplt 9
end local 3 15: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Landroid/util/SparseBooleanArray;
0 16 1 that Ljava/lang/Object;
5 16 2 other Landroid/util/SparseBooleanArray;
8 15 3 i I
MethodParameters:
Name Flags
that
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual android.util.SparseBooleanArray.size:()I
ifgt 2
1: ldc "{}"
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
getfield android.util.SparseBooleanArray.mSize:I
bipush 28
imul
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 1
start local 1 3: aload 1
bipush 123
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
4: iconst_0
istore 2
start local 2 5: goto 14
6: StackMap locals: java.lang.StringBuilder int
StackMap stack:
iload 2
ifle 8
7: aload 1
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual android.util.SparseBooleanArray.keyAt:(I)I
istore 3
start local 3 9: aload 1
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
10: aload 1
bipush 61
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
11: aload 0
iload 2
invokevirtual android.util.SparseBooleanArray.valueAt:(I)Z
istore 4
start local 4 12: aload 1
iload 4
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
pop
end local 4 end local 3 13: iinc 2 1
StackMap locals:
StackMap stack:
14: iload 2
aload 0
getfield android.util.SparseBooleanArray.mSize:I
if_icmplt 6
end local 2 15: aload 1
bipush 125
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
16: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Landroid/util/SparseBooleanArray;
3 17 1 buffer Ljava/lang/StringBuilder;
5 15 2 i I
9 13 3 key I
12 13 4 value Z
public java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual android.util.SparseBooleanArray.clone:()Landroid/util/SparseBooleanArray;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.CloneNotSupportedException
}
SourceFile: "SparseBooleanArray.java"