class sun.security.jca.ProviderConfig$3 implements java.security.PrivilegedAction<java.security.Provider>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.jca.ProviderConfig$3
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$3 this
0: .line 244
aload 0 /* this */
aload 1
putfield sun.security.jca.ProviderConfig$3.this$0:Lsun/security/jca/ProviderConfig;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // sun.security.jca.ProviderConfig$3 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/jca/ProviderConfig$3;
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$3 this
0: .line 246
getstatic sun.security.jca.ProviderConfig.debug:Lsun/security/util/Debug;
ifnull 2
1: .line 247
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$3.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 250
StackMap locals:
StackMap stack:
invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
astore 1 /* cl */
start local 1 // java.lang.ClassLoader cl
3: .line 252
aload 1 /* cl */
ifnull 6
4: .line 253
aload 1 /* cl */
aload 0 /* this */
getfield sun.security.jca.ProviderConfig$3.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 254
goto 7
end local 2 // java.lang.Class provClass
6: .line 255
StackMap locals: java.lang.ClassLoader
StackMap stack:
aload 0 /* this */
getfield sun.security.jca.ProviderConfig$3.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 258
StackMap locals: java.lang.Class
StackMap stack:
aload 0 /* this */
getfield sun.security.jca.ProviderConfig$3.this$0:Lsun/security/jca/ProviderConfig;
invokevirtual sun.security.jca.ProviderConfig.hasArgument:()Z
ifne 10
8: .line 259
aload 2 /* provClass */
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
astore 3 /* obj */
start local 3 // java.lang.Object obj
9: .line 260
goto 12
end local 3 // java.lang.Object obj
10: .line 261
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 262
aload 4 /* cons */
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0 /* this */
getfield sun.security.jca.ProviderConfig$3.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 264
StackMap locals: java.lang.Object
StackMap stack:
aload 3 /* obj */
instanceof java.security.Provider
ifeq 17
13: .line 265
getstatic sun.security.jca.ProviderConfig.debug:Lsun/security/util/Debug;
ifnull 15
14: .line 266
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 268
StackMap locals:
StackMap stack:
aload 3 /* obj */
checkcast java.security.Provider
16: areturn
17: .line 270
StackMap locals:
StackMap stack:
getstatic sun.security.jca.ProviderConfig.debug:Lsun/security/util/Debug;
ifnull 19
18: .line 271
getstatic sun.security.jca.ProviderConfig.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
aload 0 /* this */
getfield sun.security.jca.ProviderConfig$3.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 273
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.security.jca.ProviderConfig$3.this$0:Lsun/security/jca/ProviderConfig;
invokevirtual sun.security.jca.ProviderConfig.disableLoad:()V
20: .line 274
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 276
StackMap locals: sun.security.jca.ProviderConfig$3
StackMap stack: java.lang.Exception
astore 1 /* e */
start local 1 // java.lang.Exception e
22: .line 278
aload 1 /* e */
instanceof java.lang.reflect.InvocationTargetException
ifeq 25
23: .line 279
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 280
goto 26
end local 2 // java.lang.Throwable t
25: .line 281
StackMap locals: java.lang.Exception
StackMap stack:
aload 1 /* e */
astore 2 /* t */
start local 2 // java.lang.Throwable t
26: .line 283
StackMap locals: java.lang.Throwable
StackMap stack:
getstatic sun.security.jca.ProviderConfig.debug:Lsun/security/util/Debug;
ifnull 29
27: .line 284
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$3.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 285
aload 2 /* t */
invokevirtual java.lang.Throwable.printStackTrace:()V
29: .line 288
StackMap locals:
StackMap stack:
aload 2 /* t */
instanceof java.security.ProviderException
ifeq 31
30: .line 289
aload 2 /* t */
checkcast java.security.ProviderException
athrow
31: .line 292
StackMap locals:
StackMap stack:
aload 2 /* t */
instanceof java.lang.UnsupportedOperationException
ifeq 33
32: .line 293
aload 0 /* this */
getfield sun.security.jca.ProviderConfig$3.this$0:Lsun/security/jca/ProviderConfig;
invokevirtual sun.security.jca.ProviderConfig.disableLoad:()V
33: .line 295
StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 // java.lang.Throwable t
end local 1 // java.lang.Exception e
end local 0 // sun.security.jca.ProviderConfig$3 this
LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lsun/security/jca/ProviderConfig$3;
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;
Exception table:
from to target type
2 16 21 Class java.lang.Exception
17 20 21 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: .line 1
aload 0
invokevirtual sun.security.jca.ProviderConfig$3.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$3