public final class org.jf.dexlib2.HiddenApiRestriction extends java.lang.Enum<org.jf.dexlib2.HiddenApiRestriction>
minor version: 0
major version: 59
flags: flags: (0x4031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER, ACC_ANNOTATION
this_class: org.jf.dexlib2.HiddenApiRestriction
super_class: java.lang.Enum
{
public static final org.jf.dexlib2.HiddenApiRestriction WHITELIST;
descriptor: Lorg/jf/dexlib2/HiddenApiRestriction;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
public static final org.jf.dexlib2.HiddenApiRestriction GREYLIST;
descriptor: Lorg/jf/dexlib2/HiddenApiRestriction;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
public static final org.jf.dexlib2.HiddenApiRestriction BLACKLIST;
descriptor: Lorg/jf/dexlib2/HiddenApiRestriction;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
public static final org.jf.dexlib2.HiddenApiRestriction GREYLIST_MAX_O;
descriptor: Lorg/jf/dexlib2/HiddenApiRestriction;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
public static final org.jf.dexlib2.HiddenApiRestriction GREYLIST_MAX_P;
descriptor: Lorg/jf/dexlib2/HiddenApiRestriction;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
public static final org.jf.dexlib2.HiddenApiRestriction GREYLIST_MAX_Q;
descriptor: Lorg/jf/dexlib2/HiddenApiRestriction;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
public static final org.jf.dexlib2.HiddenApiRestriction CORE_PLATFORM_API;
descriptor: Lorg/jf/dexlib2/HiddenApiRestriction;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
private static final org.jf.dexlib2.HiddenApiRestriction[] hiddenApiFlags;
descriptor: [Lorg/jf/dexlib2/HiddenApiRestriction;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.jf.dexlib2.HiddenApiRestriction[] domainSpecificApiFlags;
descriptor: [Lorg/jf/dexlib2/HiddenApiRestriction;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Map<java.lang.String, org.jf.dexlib2.HiddenApiRestriction> hiddenApiRestrictionsByName;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/jf/dexlib2/HiddenApiRestriction;>;
private static final int HIDDENAPI_FLAG_MASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 7
private final int value;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isDomainSpecificApiFlag;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final org.jf.dexlib2.HiddenApiRestriction[] ENUM$VALUES;
descriptor: [Lorg/jf/dexlib2/HiddenApiRestriction;
flags: (0x101a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=4, args_size=0
0: new org.jf.dexlib2.HiddenApiRestriction
dup
ldc "WHITELIST"
iconst_0
iconst_0
ldc "whitelist"
iconst_0
invokespecial org.jf.dexlib2.HiddenApiRestriction.<init>:(Ljava/lang/String;IILjava/lang/String;Z)V
putstatic org.jf.dexlib2.HiddenApiRestriction.WHITELIST:Lorg/jf/dexlib2/HiddenApiRestriction;
1: new org.jf.dexlib2.HiddenApiRestriction
dup
ldc "GREYLIST"
iconst_1
iconst_1
ldc "greylist"
iconst_0
invokespecial org.jf.dexlib2.HiddenApiRestriction.<init>:(Ljava/lang/String;IILjava/lang/String;Z)V
putstatic org.jf.dexlib2.HiddenApiRestriction.GREYLIST:Lorg/jf/dexlib2/HiddenApiRestriction;
2: new org.jf.dexlib2.HiddenApiRestriction
dup
ldc "BLACKLIST"
iconst_2
iconst_2
ldc "blacklist"
iconst_0
invokespecial org.jf.dexlib2.HiddenApiRestriction.<init>:(Ljava/lang/String;IILjava/lang/String;Z)V
putstatic org.jf.dexlib2.HiddenApiRestriction.BLACKLIST:Lorg/jf/dexlib2/HiddenApiRestriction;
3: new org.jf.dexlib2.HiddenApiRestriction
dup
ldc "GREYLIST_MAX_O"
iconst_3
iconst_3
ldc "greylist-max-o"
iconst_0
invokespecial org.jf.dexlib2.HiddenApiRestriction.<init>:(Ljava/lang/String;IILjava/lang/String;Z)V
putstatic org.jf.dexlib2.HiddenApiRestriction.GREYLIST_MAX_O:Lorg/jf/dexlib2/HiddenApiRestriction;
4: new org.jf.dexlib2.HiddenApiRestriction
dup
ldc "GREYLIST_MAX_P"
iconst_4
iconst_4
ldc "greylist-max-p"
iconst_0
invokespecial org.jf.dexlib2.HiddenApiRestriction.<init>:(Ljava/lang/String;IILjava/lang/String;Z)V
putstatic org.jf.dexlib2.HiddenApiRestriction.GREYLIST_MAX_P:Lorg/jf/dexlib2/HiddenApiRestriction;
5: new org.jf.dexlib2.HiddenApiRestriction
dup
ldc "GREYLIST_MAX_Q"
iconst_5
iconst_5
ldc "greylist-max-q"
iconst_0
invokespecial org.jf.dexlib2.HiddenApiRestriction.<init>:(Ljava/lang/String;IILjava/lang/String;Z)V
putstatic org.jf.dexlib2.HiddenApiRestriction.GREYLIST_MAX_Q:Lorg/jf/dexlib2/HiddenApiRestriction;
6: new org.jf.dexlib2.HiddenApiRestriction
dup
ldc "CORE_PLATFORM_API"
bipush 6
bipush 8
ldc "core-platform-api"
iconst_1
invokespecial org.jf.dexlib2.HiddenApiRestriction.<init>:(Ljava/lang/String;IILjava/lang/String;Z)V
putstatic org.jf.dexlib2.HiddenApiRestriction.CORE_PLATFORM_API:Lorg/jf/dexlib2/HiddenApiRestriction;
bipush 7
anewarray org.jf.dexlib2.HiddenApiRestriction
dup
iconst_0
getstatic org.jf.dexlib2.HiddenApiRestriction.WHITELIST:Lorg/jf/dexlib2/HiddenApiRestriction;
aastore
dup
iconst_1
getstatic org.jf.dexlib2.HiddenApiRestriction.GREYLIST:Lorg/jf/dexlib2/HiddenApiRestriction;
aastore
dup
iconst_2
getstatic org.jf.dexlib2.HiddenApiRestriction.BLACKLIST:Lorg/jf/dexlib2/HiddenApiRestriction;
aastore
dup
iconst_3
getstatic org.jf.dexlib2.HiddenApiRestriction.GREYLIST_MAX_O:Lorg/jf/dexlib2/HiddenApiRestriction;
aastore
dup
iconst_4
getstatic org.jf.dexlib2.HiddenApiRestriction.GREYLIST_MAX_P:Lorg/jf/dexlib2/HiddenApiRestriction;
aastore
dup
iconst_5
getstatic org.jf.dexlib2.HiddenApiRestriction.GREYLIST_MAX_Q:Lorg/jf/dexlib2/HiddenApiRestriction;
aastore
dup
bipush 6
getstatic org.jf.dexlib2.HiddenApiRestriction.CORE_PLATFORM_API:Lorg/jf/dexlib2/HiddenApiRestriction;
aastore
putstatic org.jf.dexlib2.HiddenApiRestriction.ENUM$VALUES:[Lorg/jf/dexlib2/HiddenApiRestriction;
7: bipush 6
anewarray org.jf.dexlib2.HiddenApiRestriction
dup
iconst_0
8: getstatic org.jf.dexlib2.HiddenApiRestriction.WHITELIST:Lorg/jf/dexlib2/HiddenApiRestriction;
aastore
dup
iconst_1
9: getstatic org.jf.dexlib2.HiddenApiRestriction.GREYLIST:Lorg/jf/dexlib2/HiddenApiRestriction;
aastore
dup
iconst_2
10: getstatic org.jf.dexlib2.HiddenApiRestriction.BLACKLIST:Lorg/jf/dexlib2/HiddenApiRestriction;
aastore
dup
iconst_3
11: getstatic org.jf.dexlib2.HiddenApiRestriction.GREYLIST_MAX_O:Lorg/jf/dexlib2/HiddenApiRestriction;
aastore
dup
iconst_4
12: getstatic org.jf.dexlib2.HiddenApiRestriction.GREYLIST_MAX_P:Lorg/jf/dexlib2/HiddenApiRestriction;
aastore
dup
iconst_5
13: getstatic org.jf.dexlib2.HiddenApiRestriction.GREYLIST_MAX_Q:Lorg/jf/dexlib2/HiddenApiRestriction;
aastore
14: putstatic org.jf.dexlib2.HiddenApiRestriction.hiddenApiFlags:[Lorg/jf/dexlib2/HiddenApiRestriction;
15: iconst_1
anewarray org.jf.dexlib2.HiddenApiRestriction
dup
iconst_0
16: getstatic org.jf.dexlib2.HiddenApiRestriction.CORE_PLATFORM_API:Lorg/jf/dexlib2/HiddenApiRestriction;
aastore
17: putstatic org.jf.dexlib2.HiddenApiRestriction.domainSpecificApiFlags:[Lorg/jf/dexlib2/HiddenApiRestriction;
18: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic org.jf.dexlib2.HiddenApiRestriction.hiddenApiRestrictionsByName:Ljava/util/Map;
19: invokestatic org.jf.dexlib2.HiddenApiRestriction.values:()[Lorg/jf/dexlib2/HiddenApiRestriction;
dup
astore 3
arraylength
istore 2
iconst_0
istore 1
goto 23
StackMap locals: top int int org.jf.dexlib2.HiddenApiRestriction[]
StackMap stack:
20: aload 3
iload 1
aaload
astore 0
start local 0 21: getstatic org.jf.dexlib2.HiddenApiRestriction.hiddenApiRestrictionsByName:Ljava/util/Map;
aload 0
invokevirtual org.jf.dexlib2.HiddenApiRestriction.toString:()Ljava/lang/String;
aload 0
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 0 22: iinc 1 1
StackMap locals:
StackMap stack:
23: iload 1
iload 2
if_icmplt 20
24: return
LocalVariableTable:
Start End Slot Name Signature
21 22 0 hiddenApiRestriction Lorg/jf/dexlib2/HiddenApiRestriction;
private void <init>(java.lang.String, int, int, java.lang.String, boolean);
descriptor: (Ljava/lang/String;IILjava/lang/String;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=6
start local 0 start local 3 start local 4 start local 5 0: aload 0
aload 1
iload 2
invokespecial java.lang.Enum.<init>:(Ljava/lang/String;I)V
1: aload 0
iload 3
putfield org.jf.dexlib2.HiddenApiRestriction.value:I
2: aload 0
aload 4
putfield org.jf.dexlib2.HiddenApiRestriction.name:Ljava/lang/String;
3: aload 0
iload 5
putfield org.jf.dexlib2.HiddenApiRestriction.isDomainSpecificApiFlag:Z
4: return
end local 5 end local 4 end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jf/dexlib2/HiddenApiRestriction;
0 5 3 value I
0 5 4 name Ljava/lang/String;
0 5 5 isDomainSpecificApiFlag Z
MethodParameters:
Name Flags
$enum$name
$enum$ordinal
value
name
isDomainSpecificApiFlag
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jf.dexlib2.HiddenApiRestriction.name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jf/dexlib2/HiddenApiRestriction;
public int getValue();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jf.dexlib2.HiddenApiRestriction.value:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jf/dexlib2/HiddenApiRestriction;
public boolean isSet(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 org.jf.dexlib2.HiddenApiRestriction.isDomainSpecificApiFlag:Z
ifeq 3
1: iload 1
bipush -8
iand
aload 0
getfield org.jf.dexlib2.HiddenApiRestriction.value:I
if_icmpne 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
iload 1
bipush 7
iand
aload 0
getfield org.jf.dexlib2.HiddenApiRestriction.value:I
if_icmpne 4
iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jf/dexlib2/HiddenApiRestriction;
0 5 1 value I
MethodParameters:
Name Flags
value
public boolean isDomainSpecificApiFlag();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jf.dexlib2.HiddenApiRestriction.isDomainSpecificApiFlag:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jf/dexlib2/HiddenApiRestriction;
public static java.util.Set<org.jf.dexlib2.HiddenApiRestriction> getAllFlags(int);
descriptor: (I)Ljava/util/Set;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: getstatic org.jf.dexlib2.HiddenApiRestriction.hiddenApiFlags:[Lorg/jf/dexlib2/HiddenApiRestriction;
iload 0
bipush 7
iand
aaload
astore 1
start local 1 1: iload 0
bipush -8
iand
istore 2
start local 2 2: iload 2
ifne 4
3: aload 1
invokestatic com.google.common.collect.ImmutableSet.of:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
areturn
4: StackMap locals: org.jf.dexlib2.HiddenApiRestriction int
StackMap stack:
aload 1
getstatic org.jf.dexlib2.HiddenApiRestriction.domainSpecificApiFlags:[Lorg/jf/dexlib2/HiddenApiRestriction;
iload 2
iconst_3
ishr
iconst_1
isub
aaload
invokestatic com.google.common.collect.ImmutableSet.of:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 value I
1 5 1 normalRestriction Lorg/jf/dexlib2/HiddenApiRestriction;
2 5 2 domainSpecificPart I
Signature: (I)Ljava/util/Set<Lorg/jf/dexlib2/HiddenApiRestriction;>;
MethodParameters:
Name Flags
value
public static java.lang.String formatHiddenRestrictions(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.util.StringJoiner
dup
ldc "|"
invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;)V
astore 1
start local 1 1: iload 0
invokestatic org.jf.dexlib2.HiddenApiRestriction.getAllFlags:(I)Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: int java.util.StringJoiner top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jf.dexlib2.HiddenApiRestriction
astore 2
start local 2 3: aload 1
aload 2
invokevirtual org.jf.dexlib2.HiddenApiRestriction.toString:()Ljava/lang/String;
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 1
invokevirtual java.util.StringJoiner.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 value I
1 6 1 joiner Ljava/util/StringJoiner;
3 4 2 hiddenApiRestriction Lorg/jf/dexlib2/HiddenApiRestriction;
MethodParameters:
Name Flags
value
public static int combineFlags(java.lang.Iterable<org.jf.dexlib2.HiddenApiRestriction>);
descriptor: (Ljava/lang/Iterable;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: iconst_0
istore 3
start local 3 3: aload 0
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 5
goto 19
StackMap locals: java.lang.Iterable int int int top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jf.dexlib2.HiddenApiRestriction
astore 4
start local 4 5: aload 4
getfield org.jf.dexlib2.HiddenApiRestriction.isDomainSpecificApiFlag:Z
ifeq 13
6: iload 2
ifeq 10
7: new java.lang.IllegalArgumentException
dup
8: ldc "Cannot combine multiple flags for domain-specific api restrictions"
9: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: java.lang.Iterable int int int org.jf.dexlib2.HiddenApiRestriction java.util.Iterator
StackMap stack:
iconst_1
istore 2
11: iload 3
aload 4
getfield org.jf.dexlib2.HiddenApiRestriction.value:I
iadd
istore 3
12: goto 19
13: StackMap locals:
StackMap stack:
iload 1
ifeq 17
14: new java.lang.IllegalArgumentException
dup
15: ldc "Cannot combine multiple flags for hidden api restrictions"
16: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
iconst_1
istore 1
18: iload 3
aload 4
getfield org.jf.dexlib2.HiddenApiRestriction.value:I
iadd
istore 3
end local 4 19: StackMap locals: java.lang.Iterable int int int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
20: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 flags Ljava/lang/Iterable<Lorg/jf/dexlib2/HiddenApiRestriction;>;
1 21 1 gotHiddenApiFlag Z
2 21 2 gotDomainSpecificApiFlag Z
3 21 3 value I
5 19 4 flag Lorg/jf/dexlib2/HiddenApiRestriction;
Signature: (Ljava/lang/Iterable<Lorg/jf/dexlib2/HiddenApiRestriction;>;)I
MethodParameters:
Name Flags
flags
public static org.jf.dexlib2.HiddenApiRestriction forName(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/jf/dexlib2/HiddenApiRestriction;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.jf.dexlib2.HiddenApiRestriction.hiddenApiRestrictionsByName:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jf.dexlib2.HiddenApiRestriction
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public static org.jf.dexlib2.HiddenApiRestriction[] values();
descriptor: ()[Lorg/jf/dexlib2/HiddenApiRestriction;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=0
0: getstatic org.jf.dexlib2.HiddenApiRestriction.ENUM$VALUES:[Lorg/jf/dexlib2/HiddenApiRestriction;
dup
astore 0
iconst_0
aload 0
arraylength
dup
istore 1
anewarray org.jf.dexlib2.HiddenApiRestriction
dup
astore 2
iconst_0
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
aload 2
areturn
LocalVariableTable:
Start End Slot Name Signature
public static org.jf.dexlib2.HiddenApiRestriction valueOf(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/jf/dexlib2/HiddenApiRestriction;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
0: ldc Lorg/jf/dexlib2/HiddenApiRestriction;
aload 0
invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
checkcast org.jf.dexlib2.HiddenApiRestriction
areturn
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
name
}
Signature: Ljava/lang/Enum<Lorg/jf/dexlib2/HiddenApiRestriction;>;
SourceFile: "HiddenApiRestriction.java"