class sun.security.provider.PolicyFile$3 implements java.security.PrivilegedAction<java.lang.Boolean>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.provider.PolicyFile$3
super_class: java.lang.Object
{
final sun.security.provider.PolicyFile this$0;
descriptor: Lsun/security/provider/PolicyFile;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final java.lang.String val$propname;
descriptor: Ljava/lang/String;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final sun.security.provider.PolicyFile$PolicyInfo val$newInfo;
descriptor: Lsun/security/provider/PolicyFile$PolicyInfo;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final java.lang.String val$urlname;
descriptor: Ljava/lang/String;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(sun.security.provider.PolicyFile, java.lang.String, sun.security.provider.PolicyFile$PolicyInfo, java.lang.String);
descriptor: (Lsun/security/provider/PolicyFile;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=5
start local 0 0: aload 0
aload 1
putfield sun.security.provider.PolicyFile$3.this$0:Lsun/security/provider/PolicyFile;
aload 0
aload 2
putfield sun.security.provider.PolicyFile$3.val$propname:Ljava/lang/String;
aload 0
aload 3
putfield sun.security.provider.PolicyFile$3.val$newInfo:Lsun/security/provider/PolicyFile$PolicyInfo;
aload 0
aload 4
putfield sun.security.provider.PolicyFile$3.val$urlname:Ljava/lang/String;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/PolicyFile$3;
MethodParameters:
Name Flags
this$0 final
val$propname final
val$newInfo final
val$urlname final
public java.lang.Boolean run();
descriptor: ()Ljava/lang/Boolean;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield sun.security.provider.PolicyFile$3.this$0:Lsun/security/provider/PolicyFile;
getfield sun.security.provider.PolicyFile.allowSystemProperties:Z
ifeq 28
2: aload 0
getfield sun.security.provider.PolicyFile$3.val$propname:Ljava/lang/String;
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 3: aload 2
ifnull 28
4: iconst_0
istore 3
start local 3 5: aload 2
ldc "="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 8
6: iconst_1
istore 3
7: aload 2
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
8: StackMap locals: int java.lang.String int
StackMap stack:
aload 2
invokestatic sun.security.util.PropertyExpander.expand:(Ljava/lang/String;)Ljava/lang/String;
9: astore 2
10: new java.io.File
dup
aload 2
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 5
start local 5 11: aload 5
invokevirtual java.io.File.exists:()Z
ifeq 15
12: new java.io.File
dup
aload 5
invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
13: invokestatic sun.net.www.ParseUtil.fileToEncodedURL:(Ljava/io/File;)Ljava/net/URL;
astore 4
start local 4 14: goto 16
end local 4 15: StackMap locals: sun.security.provider.PolicyFile$3 int java.lang.String int top java.io.File
StackMap stack:
new java.net.URL
dup
aload 2
invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
astore 4
start local 4 16: StackMap locals: sun.security.provider.PolicyFile$3 int java.lang.String int java.net.URL java.io.File
StackMap stack:
getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 18
17: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "reading "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.PolicyFile$3.this$0:Lsun/security/provider/PolicyFile;
aload 4
aload 0
getfield sun.security.provider.PolicyFile$3.val$newInfo:Lsun/security/provider/PolicyFile$PolicyInfo;
invokevirtual sun.security.provider.PolicyFile.init:(Ljava/net/URL;Lsun/security/provider/PolicyFile$PolicyInfo;)Z
ifeq 24
19: iconst_1
istore 1
end local 5 end local 4 20: goto 24
StackMap locals: sun.security.provider.PolicyFile$3 int java.lang.String int
StackMap stack: java.lang.Exception
21: astore 4
start local 4 22: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 24
23: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "caught exception: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 4 24: StackMap locals:
StackMap stack:
iload 3
ifeq 28
25: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 27
26: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ldc "overriding other policies!"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
27: StackMap locals:
StackMap stack:
iload 1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
end local 3 end local 2 28: StackMap locals:
StackMap stack:
iconst_1
istore 2
start local 2 29: goto 56
start local 3 30: StackMap locals: int java.lang.String
StackMap stack:
aconst_null
astore 4
start local 4 31: aload 3
32: invokestatic sun.security.util.PropertyExpander.expand:(Ljava/lang/String;)Ljava/lang/String;
33: getstatic java.io.File.separatorChar:C
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
34: astore 5
start local 5 35: aload 3
ldc "file:${java.home}/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 37
36: aload 3
ldc "file:${user.home}/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 43
37: StackMap locals: java.net.URL java.lang.String
StackMap stack:
new java.io.File
dup
38: aload 5
iconst_5
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
39: invokespecial java.io.File.<init>:(Ljava/lang/String;)V
40: invokevirtual java.io.File.toURI:()Ljava/net/URI;
invokevirtual java.net.URI.toURL:()Ljava/net/URL;
41: astore 4
42: goto 44
43: StackMap locals:
StackMap stack:
new java.net.URI
dup
aload 5
invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
invokevirtual java.net.URI.toURL:()Ljava/net/URL;
astore 4
44: StackMap locals:
StackMap stack:
getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 46
45: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "reading "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
46: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.PolicyFile$3.this$0:Lsun/security/provider/PolicyFile;
aload 4
aload 0
getfield sun.security.provider.PolicyFile$3.val$newInfo:Lsun/security/provider/PolicyFile$PolicyInfo;
invokevirtual sun.security.provider.PolicyFile.init:(Ljava/net/URL;Lsun/security/provider/PolicyFile$PolicyInfo;)Z
ifeq 55
47: iconst_1
istore 1
end local 5 end local 4 48: goto 55
StackMap locals: sun.security.provider.PolicyFile$3 int int java.lang.String
StackMap stack: java.lang.Exception
49: astore 4
start local 4 50: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 55
51: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
52: new java.lang.StringBuilder
dup
ldc "Debug info only. Error reading policy "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
53: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
54: aload 4
invokevirtual java.lang.Exception.printStackTrace:()V
end local 4 55: StackMap locals:
StackMap stack:
iinc 2 1
end local 3 56: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
getfield sun.security.provider.PolicyFile$3.val$urlname:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.security.Security.getProperty:(Ljava/lang/String;)Ljava/lang/String;
dup
astore 3
start local 3 57: ifnonnull 30
58: iload 1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 59 0 this Lsun/security/provider/PolicyFile$3;
1 59 1 loaded_policy Z
3 28 2 extra_policy Ljava/lang/String;
5 28 3 overrideAll Z
14 15 4 policyURL Ljava/net/URL;
16 20 4 policyURL Ljava/net/URL;
11 20 5 policyFile Ljava/io/File;
22 24 4 e Ljava/lang/Exception;
29 59 2 n I
30 56 3 policy_uri Ljava/lang/String;
57 59 3 policy_uri Ljava/lang/String;
31 48 4 policy_url Ljava/net/URL;
35 48 5 expanded_uri Ljava/lang/String;
50 55 4 e Ljava/lang/Exception;
Exception table:
from to target type
8 20 21 Class java.lang.Exception
30 48 49 Class java.lang.Exception
public java.lang.Object run();
descriptor: ()Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual sun.security.provider.PolicyFile$3.run:()Ljava/lang/Boolean;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Ljava/security/PrivilegedAction<Ljava/lang/Boolean;>;
SourceFile: "PolicyFile.java"
EnclosingMethod: sun.security.provider.PolicyFile.initPolicyFile:(Ljava/lang/String;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;)Z
NestHost: sun.security.provider.PolicyFile
InnerClasses:
sun.security.provider.PolicyFile$3
private PolicyInfo = sun.security.provider.PolicyFile$PolicyInfo of sun.security.provider.PolicyFile