class sun.security.jca.ProviderConfig$2 implements java.security.PrivilegedAction<java.security.Provider>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.jca.ProviderConfig$2
super_class: java.lang.Object
{
final sun.security.jca.ProviderConfig this$0;
descriptor: Lsun/security/jca/ProviderConfig;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(sun.security.jca.ProviderConfig);
descriptor: (Lsun/security/jca/ProviderConfig;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // sun.security.jca.ProviderConfig$2 this
0: .line 206
aload 0 /* this */
aload 1
putfield sun.security.jca.ProviderConfig$2.this$0:Lsun/security/jca/ProviderConfig;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // sun.security.jca.ProviderConfig$2 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/jca/ProviderConfig$2;
MethodParameters:
Name Flags
this$0 final
public java.security.Provider run();
descriptor: ()Ljava/security/Provider;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 // sun.security.jca.ProviderConfig$2 this
0: .line 208
getstatic sun.security.jca.ProviderConfig.debug:Lsun/security/util/Debug;
ifnull 2
1: .line 209
getstatic sun.security.jca.ProviderConfig.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Loading provider: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* this */
getfield sun.security.jca.ProviderConfig$2.this$0:Lsun/security/jca/ProviderConfig;
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
2: .line 212
StackMap locals:
StackMap stack:
invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
astore 1 /* cl */
start local 1 // java.lang.ClassLoader cl
3: .line 214
aload 1 /* cl */
ifnull 6
4: .line 215
aload 1 /* cl */
aload 0 /* this */
getfield sun.security.jca.ProviderConfig$2.this$0:Lsun/security/jca/ProviderConfig;
getfield sun.security.jca.ProviderConfig.className:Ljava/lang/String;
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 2 /* provClass */
start local 2 // java.lang.Class provClass
5: .line 216
goto 7
end local 2 // java.lang.Class provClass
6: .line 217
StackMap locals: java.lang.ClassLoader
StackMap stack:
aload 0 /* this */
getfield sun.security.jca.ProviderConfig$2.this$0:Lsun/security/jca/ProviderConfig;
getfield sun.security.jca.ProviderConfig.className:Ljava/lang/String;
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 2 /* provClass */
start local 2 // java.lang.Class provClass
7: .line 220
StackMap locals: java.lang.Class
StackMap stack:
aload 0 /* this */
getfield sun.security.jca.ProviderConfig$2.this$0:Lsun/security/jca/ProviderConfig;
invokevirtual sun.security.jca.ProviderConfig.hasArgument:()Z
ifne 10
8: .line 221
aload 2 /* provClass */
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
astore 3 /* obj */
start local 3 // java.lang.Object obj
9: .line 222
goto 12
end local 3 // java.lang.Object obj
10: .line 223
StackMap locals:
StackMap stack:
aload 2 /* provClass */
getstatic sun.security.jca.ProviderConfig.CL_STRING:[Ljava/lang/Class;
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 4 /* cons */
start local 4 // java.lang.reflect.Constructor cons
11: .line 224
aload 4 /* cons */
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0 /* this */
getfield sun.security.jca.ProviderConfig$2.this$0:Lsun/security/jca/ProviderConfig;
getfield sun.security.jca.ProviderConfig.argument:Ljava/lang/String;
aastore
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
astore 3 /* obj */
end local 4 // java.lang.reflect.Constructor cons
start local 3 // java.lang.Object obj
12: .line 226
StackMap locals: java.lang.Object
StackMap stack:
aload 3 /* obj */
instanceof java.security.Provider
ifeq 17
13: .line 227
getstatic sun.security.jca.ProviderConfig.debug:Lsun/security/util/Debug;
ifnull 15
14: .line 228
getstatic sun.security.jca.ProviderConfig.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Loaded provider "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3 /* obj */
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
15: .line 230
StackMap locals:
StackMap stack:
aload 3 /* obj */
checkcast java.security.Provider
16: areturn
17: .line 232
StackMap locals:
StackMap stack:
getstatic sun.security.jca.ProviderConfig.debug:Lsun/security/util/Debug;
ifnull 19
18: .line 233
getstatic sun.security.jca.ProviderConfig.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
aload 0 /* this */
getfield sun.security.jca.ProviderConfig$2.this$0:Lsun/security/jca/ProviderConfig;
getfield sun.security.jca.ProviderConfig.className:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " is not a provider"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
19: .line 235
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.security.jca.ProviderConfig$2.this$0:Lsun/security/jca/ProviderConfig;
invokevirtual sun.security.jca.ProviderConfig.disableLoad:()V
20: .line 236
aconst_null
areturn
end local 3 // java.lang.Object obj
end local 2 // java.lang.Class provClass
end local 1 // java.lang.ClassLoader cl
21: .line 238
StackMap locals: sun.security.jca.ProviderConfig$2
StackMap stack: java.lang.Exception
astore 1 /* e */
start local 1 // java.lang.Exception e
22: .line 240
aload 1 /* e */
instanceof java.lang.reflect.InvocationTargetException
ifeq 25
23: .line 241
aload 1 /* e */
checkcast java.lang.reflect.InvocationTargetException
invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
astore 2 /* t */
start local 2 // java.lang.Throwable t
24: .line 242
goto 26
end local 2 // java.lang.Throwable t
25: .line 243
StackMap locals: java.lang.Exception
StackMap stack:
aload 1 /* e */
astore 2 /* t */
start local 2 // java.lang.Throwable t
26: .line 245
StackMap locals: java.lang.Throwable
StackMap stack:
getstatic sun.security.jca.ProviderConfig.debug:Lsun/security/util/Debug;
ifnull 29
27: .line 246
getstatic sun.security.jca.ProviderConfig.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Error loading provider "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* this */
getfield sun.security.jca.ProviderConfig$2.this$0:Lsun/security/jca/ProviderConfig;
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
28: .line 247
aload 2 /* t */
invokevirtual java.lang.Throwable.printStackTrace:()V
29: .line 250
StackMap locals:
StackMap stack:
aload 2 /* t */
instanceof java.security.ProviderException
ifeq 31
30: .line 251
aload 2 /* t */
checkcast java.security.ProviderException
athrow
31: .line 254
StackMap locals:
StackMap stack:
aload 2 /* t */
instanceof java.lang.UnsupportedOperationException
ifeq 33
32: .line 255
aload 0 /* this */
getfield sun.security.jca.ProviderConfig$2.this$0:Lsun/security/jca/ProviderConfig;
invokevirtual sun.security.jca.ProviderConfig.disableLoad:()V
33: .line 257
StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 // java.lang.Throwable t
end local 1 // java.lang.Exception e
34: .line 258
StackMap locals: sun.security.jca.ProviderConfig$2
StackMap stack: java.lang.ExceptionInInitializerError
astore 1 /* err */
start local 1 // java.lang.ExceptionInInitializerError err
35: .line 261
getstatic sun.security.jca.ProviderConfig.debug:Lsun/security/util/Debug;
ifnull 38
36: .line 262
getstatic sun.security.jca.ProviderConfig.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Error loading provider "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* this */
getfield sun.security.jca.ProviderConfig$2.this$0:Lsun/security/jca/ProviderConfig;
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
37: .line 263
aload 1 /* err */
invokevirtual java.lang.ExceptionInInitializerError.printStackTrace:()V
38: .line 265
StackMap locals: java.lang.ExceptionInInitializerError
StackMap stack:
aload 0 /* this */
getfield sun.security.jca.ProviderConfig$2.this$0:Lsun/security/jca/ProviderConfig;
invokevirtual sun.security.jca.ProviderConfig.disableLoad:()V
39: .line 266
aconst_null
areturn
end local 1 // java.lang.ExceptionInInitializerError err
end local 0 // sun.security.jca.ProviderConfig$2 this
LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lsun/security/jca/ProviderConfig$2;
3 21 1 cl Ljava/lang/ClassLoader;
5 6 2 provClass Ljava/lang/Class<*>;
7 21 2 provClass Ljava/lang/Class<*>;
9 10 3 obj Ljava/lang/Object;
12 21 3 obj Ljava/lang/Object;
11 12 4 cons Ljava/lang/reflect/Constructor<*>;
22 34 1 e Ljava/lang/Exception;
24 25 2 t Ljava/lang/Throwable;
26 34 2 t Ljava/lang/Throwable;
35 40 1 err Ljava/lang/ExceptionInInitializerError;
Exception table:
from to target type
2 16 21 Class java.lang.Exception
17 20 21 Class java.lang.Exception
2 16 34 Class java.lang.ExceptionInInitializerError
17 20 34 Class java.lang.ExceptionInInitializerError
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: .line 1
aload 0
invokevirtual sun.security.jca.ProviderConfig$2.run:()Ljava/security/Provider;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Ljava/security/PrivilegedAction<Ljava/security/Provider;>;
SourceFile: "ProviderConfig.java"
EnclosingMethod: sun.security.jca.ProviderConfig.doLoadProvider:()Ljava/security/Provider;
NestHost: sun.security.jca.ProviderConfig
InnerClasses:
sun.security.jca.ProviderConfig$2