class sun.security.provider.PolicyFile$SelfPermission extends java.security.Permission
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.provider.PolicyFile$SelfPermission
super_class: java.security.Permission
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -8315562579967246806
private java.lang.String type;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String actions;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.security.cert.Certificate[] certs;
descriptor: [Ljava/security/cert/Certificate;
flags: (0x0002) ACC_PRIVATE
public void <init>(java.lang.String, java.lang.String, java.lang.String, java.security.cert.Certificate[]);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/security/cert/Certificate;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
invokespecial java.security.Permission.<init>:(Ljava/lang/String;)V
1: aload 1
ifnonnull 5
2: new java.lang.NullPointerException
dup
3: ldc "type.can.t.be.null"
invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
4: invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: sun.security.provider.PolicyFile$SelfPermission java.lang.String java.lang.String java.lang.String java.security.cert.Certificate[]
StackMap stack:
aload 0
aload 1
putfield sun.security.provider.PolicyFile$SelfPermission.type:Ljava/lang/String;
6: aload 0
aload 2
putfield sun.security.provider.PolicyFile$SelfPermission.name:Ljava/lang/String;
7: aload 0
aload 3
putfield sun.security.provider.PolicyFile$SelfPermission.actions:Ljava/lang/String;
8: aload 4
ifnull 48
9: iconst_0
istore 5
start local 5 10: goto 15
11: StackMap locals: int
StackMap stack:
aload 4
iload 5
aaload
instanceof java.security.cert.X509Certificate
ifne 14
12: aload 0
aload 4
invokevirtual java.security.cert.Certificate[].clone:()Ljava/lang/Object;
checkcast java.security.cert.Certificate[]
putfield sun.security.provider.PolicyFile$SelfPermission.certs:[Ljava/security/cert/Certificate;
13: goto 16
14: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
15: iload 5
aload 4
arraylength
if_icmplt 11
end local 5 16: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.PolicyFile$SelfPermission.certs:[Ljava/security/cert/Certificate;
ifnonnull 48
17: iconst_0
istore 5
start local 5 18: iconst_0
istore 6
start local 6 19: goto 29
20: StackMap locals: int int
StackMap stack:
iinc 6 1
21: goto 23
22: StackMap locals:
StackMap stack:
iinc 5 1
23: StackMap locals:
StackMap stack:
iload 5
iconst_1
iadd
aload 4
arraylength
if_icmpge 28
24: aload 4
iload 5
aaload
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
25: aload 4
iload 5
iconst_1
iadd
aaload
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
26: invokeinterface java.security.Principal.equals:(Ljava/lang/Object;)Z
27: ifne 22
28: StackMap locals:
StackMap stack:
iinc 5 1
29: StackMap locals:
StackMap stack:
iload 5
aload 4
arraylength
if_icmplt 20
30: iload 6
aload 4
arraylength
if_icmpne 32
31: aload 0
aload 4
invokevirtual java.security.cert.Certificate[].clone:()Ljava/lang/Object;
checkcast java.security.cert.Certificate[]
putfield sun.security.provider.PolicyFile$SelfPermission.certs:[Ljava/security/cert/Certificate;
32: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.PolicyFile$SelfPermission.certs:[Ljava/security/cert/Certificate;
ifnonnull 48
33: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
start local 7 34: iconst_0
istore 5
35: goto 45
36: StackMap locals: java.util.List
StackMap stack:
aload 7
aload 4
iload 5
aaload
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
37: goto 39
38: StackMap locals:
StackMap stack:
iinc 5 1
39: StackMap locals:
StackMap stack:
iload 5
iconst_1
iadd
aload 4
arraylength
if_icmpge 44
40: aload 4
iload 5
aaload
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
41: aload 4
iload 5
iconst_1
iadd
aaload
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
42: invokeinterface java.security.Principal.equals:(Ljava/lang/Object;)Z
43: ifne 38
44: StackMap locals:
StackMap stack:
iinc 5 1
45: StackMap locals:
StackMap stack:
iload 5
aload 4
arraylength
if_icmplt 36
46: aload 0
aload 7
invokeinterface java.util.List.size:()I
anewarray java.security.cert.Certificate
putfield sun.security.provider.PolicyFile$SelfPermission.certs:[Ljava/security/cert/Certificate;
47: aload 7
aload 0
getfield sun.security.provider.PolicyFile$SelfPermission.certs:[Ljava/security/cert/Certificate;
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
pop
end local 7 end local 6 end local 5 48: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lsun/security/provider/PolicyFile$SelfPermission;
0 49 1 type Ljava/lang/String;
0 49 2 name Ljava/lang/String;
0 49 3 actions Ljava/lang/String;
0 49 4 certs [Ljava/security/cert/Certificate;
10 16 5 i I
18 48 5 i I
19 48 6 count I
34 48 7 signerCerts Ljava/util/List<Ljava/security/cert/Certificate;>;
MethodParameters:
Name Flags
type
name
actions
certs
public boolean implies(java.security.Permission);
descriptor: (Ljava/security/Permission;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/PolicyFile$SelfPermission;
0 1 1 p Ljava/security/Permission;
MethodParameters:
Name Flags
p
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
aload 0
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof sun.security.provider.PolicyFile$SelfPermission
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast sun.security.provider.PolicyFile$SelfPermission
astore 2
start local 2 5: aload 0
getfield sun.security.provider.PolicyFile$SelfPermission.type:Ljava/lang/String;
aload 2
getfield sun.security.provider.PolicyFile$SelfPermission.type:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
6: aload 0
getfield sun.security.provider.PolicyFile$SelfPermission.name:Ljava/lang/String;
aload 2
getfield sun.security.provider.PolicyFile$SelfPermission.name:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
7: aload 0
getfield sun.security.provider.PolicyFile$SelfPermission.actions:Ljava/lang/String;
aload 2
getfield sun.security.provider.PolicyFile$SelfPermission.actions:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
8: StackMap locals: sun.security.provider.PolicyFile$SelfPermission
StackMap stack:
iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.PolicyFile$SelfPermission.certs:[Ljava/security/cert/Certificate;
arraylength
aload 2
getfield sun.security.provider.PolicyFile$SelfPermission.certs:[Ljava/security/cert/Certificate;
arraylength
if_icmpeq 11
10: iconst_0
ireturn
11: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 12: goto 23
13: StackMap locals: int
StackMap stack:
iconst_0
istore 5
start local 5 14: iconst_0
istore 4
start local 4 15: goto 20
16: StackMap locals: int int
StackMap stack:
aload 0
getfield sun.security.provider.PolicyFile$SelfPermission.certs:[Ljava/security/cert/Certificate;
iload 3
aaload
aload 2
getfield sun.security.provider.PolicyFile$SelfPermission.certs:[Ljava/security/cert/Certificate;
iload 4
aaload
invokevirtual java.security.cert.Certificate.equals:(Ljava/lang/Object;)Z
ifeq 19
17: iconst_1
istore 5
18: goto 21
19: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
20: iload 4
aload 2
getfield sun.security.provider.PolicyFile$SelfPermission.certs:[Ljava/security/cert/Certificate;
arraylength
if_icmplt 16
21: StackMap locals:
StackMap stack:
iload 5
ifne 22
iconst_0
ireturn
22: StackMap locals:
StackMap stack:
iinc 3 1
end local 5 end local 4 StackMap locals:
StackMap stack:
23: iload 3
aload 0
getfield sun.security.provider.PolicyFile$SelfPermission.certs:[Ljava/security/cert/Certificate;
arraylength
if_icmplt 13
24: iconst_0
istore 3
goto 35
25: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 26: iconst_0
istore 4
start local 4 27: goto 32
28: StackMap locals: int int
StackMap stack:
aload 2
getfield sun.security.provider.PolicyFile$SelfPermission.certs:[Ljava/security/cert/Certificate;
iload 3
aaload
aload 0
getfield sun.security.provider.PolicyFile$SelfPermission.certs:[Ljava/security/cert/Certificate;
iload 4
aaload
invokevirtual java.security.cert.Certificate.equals:(Ljava/lang/Object;)Z
ifeq 31
29: iconst_1
istore 5
30: goto 33
31: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
32: iload 4
aload 0
getfield sun.security.provider.PolicyFile$SelfPermission.certs:[Ljava/security/cert/Certificate;
arraylength
if_icmplt 28
33: StackMap locals:
StackMap stack:
iload 5
ifne 34
iconst_0
ireturn
34: StackMap locals:
StackMap stack:
iinc 3 1
end local 5 end local 4 StackMap locals:
StackMap stack:
35: iload 3
aload 2
getfield sun.security.provider.PolicyFile$SelfPermission.certs:[Ljava/security/cert/Certificate;
arraylength
if_icmplt 25
36: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lsun/security/provider/PolicyFile$SelfPermission;
0 37 1 obj Ljava/lang/Object;
5 37 2 that Lsun/security/provider/PolicyFile$SelfPermission;
12 37 3 i I
15 23 4 j I
27 35 4 j I
14 23 5 match Z
26 35 5 match Z
MethodParameters:
Name Flags
obj
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.security.provider.PolicyFile$SelfPermission.type:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
istore 1
start local 1 1: aload 0
getfield sun.security.provider.PolicyFile$SelfPermission.name:Ljava/lang/String;
ifnull 3
2: iload 1
aload 0
getfield sun.security.provider.PolicyFile$SelfPermission.name:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
ixor
istore 1
3: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.provider.PolicyFile$SelfPermission.actions:Ljava/lang/String;
ifnull 5
4: iload 1
aload 0
getfield sun.security.provider.PolicyFile$SelfPermission.actions:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
ixor
istore 1
5: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/provider/PolicyFile$SelfPermission;
1 6 1 hash I
public java.lang.String getActions();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc ""
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/PolicyFile$SelfPermission;
public java.lang.String getSelfType();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.provider.PolicyFile$SelfPermission.type:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/PolicyFile$SelfPermission;
public java.lang.String getSelfName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.provider.PolicyFile$SelfPermission.name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/PolicyFile$SelfPermission;
public java.lang.String getSelfActions();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.provider.PolicyFile$SelfPermission.actions:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/PolicyFile$SelfPermission;
public java.security.cert.Certificate[] getCerts();
descriptor: ()[Ljava/security/cert/Certificate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.provider.PolicyFile$SelfPermission.certs:[Ljava/security/cert/Certificate;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/PolicyFile$SelfPermission;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "(SelfPermission "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.provider.PolicyFile$SelfPermission.type:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.provider.PolicyFile$SelfPermission.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.provider.PolicyFile$SelfPermission.actions:Ljava/lang/String;
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 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/PolicyFile$SelfPermission;
}
SourceFile: "PolicyFile.java"
NestHost: sun.security.provider.PolicyFile
InnerClasses:
private SelfPermission = sun.security.provider.PolicyFile$SelfPermission of sun.security.provider.PolicyFile