public class android.os.health.HealthKeys$Constants
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.os.health.HealthKeys$Constants
super_class: java.lang.Object
{
private final java.lang.String mDataType;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int[][] mKeys;
descriptor: [[I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.lang.Class);
descriptor: (Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_5
anewarray int[]
putfield android.os.health.HealthKeys$Constants.mKeys:[[I
2: aload 0
aload 1
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
putfield android.os.health.HealthKeys$Constants.mDataType:Ljava/lang/String;
3: aload 1
invokevirtual java.lang.Class.getDeclaredFields:()[Ljava/lang/reflect/Field;
astore 2
start local 2 4: ldc Landroid/os/health/HealthKeys$Constant;
astore 3
start local 3 5: aload 2
arraylength
istore 4
start local 4 6: aload 0
getfield android.os.health.HealthKeys$Constants.mKeys:[[I
arraylength
anewarray android.os.health.HealthKeys$SortedIntArray
astore 5
start local 5 7: iconst_0
istore 6
start local 6 8: goto 11
9: StackMap locals: android.os.health.HealthKeys$Constants java.lang.Class java.lang.reflect.Field[] java.lang.Class int android.os.health.HealthKeys$SortedIntArray[] int
StackMap stack:
aload 5
iload 6
new android.os.health.HealthKeys$SortedIntArray
dup
iload 4
invokespecial android.os.health.HealthKeys$SortedIntArray.<init>:(I)V
aastore
10: iinc 6 1
StackMap locals:
StackMap stack:
11: iload 6
aload 5
arraylength
if_icmplt 9
end local 6 12: iconst_0
istore 6
start local 6 13: goto 29
14: StackMap locals:
StackMap stack:
aload 2
iload 6
aaload
astore 7
start local 7 15: aload 7
aload 3
invokevirtual java.lang.reflect.Field.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast android.os.health.HealthKeys$Constant
astore 8
start local 8 16: aload 8
ifnull 28
17: aload 8
invokeinterface android.os.health.HealthKeys$Constant.type:()I
istore 9
start local 9 18: iload 9
aload 5
arraylength
if_icmplt 22
19: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Unknown Constant type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
20: ldc " on "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
21: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals: java.lang.reflect.Field android.os.health.HealthKeys$Constant int
StackMap stack:
aload 5
iload 9
aaload
aload 7
aconst_null
invokevirtual java.lang.reflect.Field.getInt:(Ljava/lang/Object;)I
invokevirtual android.os.health.HealthKeys$SortedIntArray.addValue:(I)V
23: goto 28
StackMap locals:
StackMap stack: java.lang.IllegalAccessException
24: astore 10
start local 10 25: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Can't read constant value type="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
26: ldc " field="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 10
27: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 10 end local 9 end local 8 end local 7 28: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
29: iload 6
iload 4
if_icmplt 14
end local 6 30: iconst_0
istore 6
start local 6 31: goto 34
32: StackMap locals:
StackMap stack:
aload 0
getfield android.os.health.HealthKeys$Constants.mKeys:[[I
iload 6
aload 5
iload 6
aaload
invokevirtual android.os.health.HealthKeys$SortedIntArray.getArray:()[I
aastore
33: iinc 6 1
StackMap locals:
StackMap stack:
34: iload 6
aload 5
arraylength
if_icmplt 32
end local 6 35: 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 36 0 this Landroid/os/health/HealthKeys$Constants;
0 36 1 clazz Ljava/lang/Class;
4 36 2 fields [Ljava/lang/reflect/Field;
5 36 3 annotationClass Ljava/lang/Class<Landroid/os/health/HealthKeys$Constant;>;
6 36 4 N I
7 36 5 keys [Landroid/os/health/HealthKeys$SortedIntArray;
8 12 6 i I
13 30 6 i I
15 28 7 field Ljava/lang/reflect/Field;
16 28 8 constant Landroid/os/health/HealthKeys$Constant;
18 28 9 type I
25 28 10 ex Ljava/lang/IllegalAccessException;
31 35 6 i I
Exception table:
from to target type
22 23 24 Class java.lang.IllegalAccessException
MethodParameters:
Name Flags
clazz
public java.lang.String getDataType();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.os.health.HealthKeys$Constants.mDataType:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/health/HealthKeys$Constants;
public int getSize(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.os.health.HealthKeys$Constants.mKeys:[[I
iload 1
aaload
arraylength
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/health/HealthKeys$Constants;
0 1 1 type I
MethodParameters:
Name Flags
type
public int getIndex(int, int);
descriptor: (II)I
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.os.health.HealthKeys$Constants.mKeys:[[I
iload 1
aaload
iload 2
invokestatic java.util.Arrays.binarySearch:([II)I
istore 3
start local 3 1: iload 3
iflt 3
2: iload 3
ireturn
3: StackMap locals: int
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Unknown Constant "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " (of type "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " )"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/os/health/HealthKeys$Constants;
0 6 1 type I
0 6 2 key I
1 6 3 index I
MethodParameters:
Name Flags
type
key
public int[] getKeys(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.os.health.HealthKeys$Constants.mKeys:[[I
iload 1
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/health/HealthKeys$Constants;
0 1 1 type I
MethodParameters:
Name Flags
type
}
SourceFile: "HealthKeys.java"
NestHost: android.os.health.HealthKeys
InnerClasses:
public abstract Constant = android.os.health.HealthKeys$Constant of android.os.health.HealthKeys
public Constants = android.os.health.HealthKeys$Constants of android.os.health.HealthKeys
private SortedIntArray = android.os.health.HealthKeys$SortedIntArray of android.os.health.HealthKeys