public abstract class java.lang.ClassLoader
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: java.lang.ClassLoader
super_class: java.lang.Object
{
private final java.lang.ClassLoader parent;
descriptor: Ljava/lang/ClassLoader;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Object[] dependencies;
descriptor: [Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.ConcurrentHashMap<java.lang.String, java.lang.Object> parallelLockMap;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Ljava/lang/Object;>;
private final java.util.Map<java.lang.String, java.security.cert.Certificate[]> package2certs;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;[Ljava/security/cert/Certificate;>;
private static final java.security.cert.Certificate[] nocerts;
descriptor: [Ljava/security/cert/Certificate;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.Vector<java.lang.Class<?>> classes;
descriptor: Ljava/util/Vector;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Vector<Ljava/lang/Class<*>;>;
private final java.security.ProtectionDomain defaultDomain;
descriptor: Ljava/security/ProtectionDomain;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Set<java.security.ProtectionDomain> domains;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/security/ProtectionDomain;>;
private final java.util.HashMap<java.lang.String, java.lang.Package> packages;
descriptor: Ljava/util/HashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Package;>;
private static java.lang.ClassLoader scl;
descriptor: Ljava/lang/ClassLoader;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean sclSet;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.util.Vector<java.lang.String> loadedLibraryNames;
descriptor: Ljava/util/Vector;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/Vector<Ljava/lang/String;>;
private static java.util.Vector<java.lang.ClassLoader$NativeLibrary> systemNativeLibraries;
descriptor: Ljava/util/Vector;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/Vector<Ljava/lang/ClassLoader$NativeLibrary;>;
private java.util.Vector<java.lang.ClassLoader$NativeLibrary> nativeLibraries;
descriptor: Ljava/util/Vector;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Vector<Ljava/lang/ClassLoader$NativeLibrary;>;
private static java.util.Stack<java.lang.ClassLoader$NativeLibrary> nativeLibraryContext;
descriptor: Ljava/util/Stack;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/Stack<Ljava/lang/ClassLoader$NativeLibrary;>;
private static java.lang.String[] usr_paths;
descriptor: [Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String[] sys_paths;
descriptor: [Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
final java.lang.Object assertionLock;
descriptor: Ljava/lang/Object;
flags: (0x0010) ACC_FINAL
private boolean defaultAssertionStatus;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.Map<java.lang.String, java.lang.Boolean> packageAssertionStatus;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Boolean;>;
java.util.Map<java.lang.String, java.lang.Boolean> classAssertionStatus;
descriptor: Ljava/util/Map;
flags: (0x0000)
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Boolean;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokestatic java.lang.ClassLoader.registerNatives:()V
1: iconst_0
anewarray java.security.cert.Certificate
putstatic java.lang.ClassLoader.nocerts:[Ljava/security/cert/Certificate;
2: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putstatic java.lang.ClassLoader.loadedLibraryNames:Ljava/util/Vector;
3: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
4: putstatic java.lang.ClassLoader.systemNativeLibraries:Ljava/util/Vector;
5: new java.util.Stack
dup
invokespecial java.util.Stack.<init>:()V
putstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
6: return
LocalVariableTable:
Start End Slot Name Signature
private static native void registerNatives();
descriptor: ()V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
void addClass(java.lang.Class);
descriptor: (Ljava/lang/Class;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.lang.ClassLoader.classes:Ljava/util/Vector;
aload 1
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/ClassLoader;
0 2 1 c Ljava/lang/Class;
MethodParameters:
Name Flags
c
private static java.lang.Void checkCreateClassLoader();
descriptor: ()Ljava/lang/Void;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=0
0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 0
start local 0 1: aload 0
ifnull 3
2: aload 0
invokevirtual java.lang.SecurityManager.checkCreateClassLoader:()V
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 security Ljava/lang/SecurityManager;
private void <init>(java.lang.Void, java.lang.ClassLoader);
descriptor: (Ljava/lang/Void;Ljava/lang/ClassLoader;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_2
anewarray java.lang.Object
putfield java.lang.ClassLoader.dependencies:[Ljava/lang/Object;
2: aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield java.lang.ClassLoader.classes:Ljava/util/Vector;
3: aload 0
4: new java.security.ProtectionDomain
dup
new java.security.CodeSource
dup
aconst_null
aconst_null
invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
5: aconst_null
aload 0
aconst_null
6: invokespecial java.security.ProtectionDomain.<init>:(Ljava/security/CodeSource;Ljava/security/PermissionCollection;Ljava/lang/ClassLoader;[Ljava/security/Principal;)V
putfield java.lang.ClassLoader.defaultDomain:Ljava/security/ProtectionDomain;
7: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
8: aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield java.lang.ClassLoader.nativeLibraries:Ljava/util/Vector;
9: aload 0
iconst_0
putfield java.lang.ClassLoader.defaultAssertionStatus:Z
10: aload 0
aconst_null
putfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
11: aload 0
aconst_null
putfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
12: aload 0
aload 2
putfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
13: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic java.lang.ClassLoader$ParallelLoaders.isRegistered:(Ljava/lang/Class;)Z
ifeq 21
14: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield java.lang.ClassLoader.parallelLockMap:Ljava/util/concurrent/ConcurrentHashMap;
15: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield java.lang.ClassLoader.package2certs:Ljava/util/Map;
16: aload 0
17: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
invokestatic java.util.Collections.synchronizedSet:(Ljava/util/Set;)Ljava/util/Set;
18: putfield java.lang.ClassLoader.domains:Ljava/util/Set;
19: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield java.lang.ClassLoader.assertionLock:Ljava/lang/Object;
20: goto 25
21: StackMap locals: java.lang.ClassLoader java.lang.Void java.lang.ClassLoader
StackMap stack:
aload 0
aconst_null
putfield java.lang.ClassLoader.parallelLockMap:Ljava/util/concurrent/ConcurrentHashMap;
22: aload 0
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield java.lang.ClassLoader.package2certs:Ljava/util/Map;
23: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield java.lang.ClassLoader.domains:Ljava/util/Set;
24: aload 0
aload 0
putfield java.lang.ClassLoader.assertionLock:Ljava/lang/Object;
25: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Ljava/lang/ClassLoader;
0 26 1 unused Ljava/lang/Void;
0 26 2 parent Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
unused
parent
protected void <init>(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic java.lang.ClassLoader.checkCreateClassLoader:()Ljava/lang/Void;
aload 1
invokespecial java.lang.ClassLoader.<init>:(Ljava/lang/Void;Ljava/lang/ClassLoader;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/ClassLoader;
0 2 1 parent Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
parent
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.lang.ClassLoader.checkCreateClassLoader:()Ljava/lang/Void;
invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
invokespecial java.lang.ClassLoader.<init>:(Ljava/lang/Void;Ljava/lang/ClassLoader;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/ClassLoader;
public java.lang.Class<?> loadClass(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;Z)Ljava/lang/Class;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/ClassLoader;
0 1 1 name Ljava/lang/String;
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
protected java.lang.Class<?> loadClass(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Ljava/lang/Class;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual java.lang.ClassLoader.getClassLoadingLock:(Ljava/lang/String;)Ljava/lang/Object;
dup
astore 3
monitorenter
1: aload 0
aload 1
invokevirtual java.lang.ClassLoader.findLoadedClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 4
start local 4 2: aload 4
ifnonnull 16
3: invokestatic java.lang.System.nanoTime:()J
lstore 5
start local 5 4: aload 0
getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
ifnull 7
5: aload 0
getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
aload 1
iconst_0
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;Z)Ljava/lang/Class;
astore 4
6: goto 10
7: StackMap locals: java.lang.Object java.lang.Class long
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.ClassLoader.findBootstrapClassOrNull:(Ljava/lang/String;)Ljava/lang/Class;
astore 4
8: goto 10
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
9: pop
10: StackMap locals:
StackMap stack:
aload 4
ifnonnull 16
11: invokestatic java.lang.System.nanoTime:()J
lstore 7
start local 7 12: aload 0
aload 1
invokevirtual java.lang.ClassLoader.findClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 4
13: invokestatic sun.misc.PerfCounter.getParentDelegationTime:()Lsun/misc/PerfCounter;
lload 7
lload 5
lsub
invokevirtual sun.misc.PerfCounter.addTime:(J)V
14: invokestatic sun.misc.PerfCounter.getFindClassTime:()Lsun/misc/PerfCounter;
lload 7
invokevirtual sun.misc.PerfCounter.addElapsedTimeFrom:(J)V
15: invokestatic sun.misc.PerfCounter.getFindClasses:()Lsun/misc/PerfCounter;
invokevirtual sun.misc.PerfCounter.increment:()V
end local 7 end local 5 16: StackMap locals:
StackMap stack:
iload 2
ifeq 18
17: aload 0
aload 4
invokevirtual java.lang.ClassLoader.resolveClass:(Ljava/lang/Class;)V
18: StackMap locals:
StackMap stack:
aload 4
aload 3
monitorexit
19: areturn
end local 4 20: StackMap locals: java.lang.ClassLoader java.lang.String int java.lang.Object
StackMap stack: java.lang.Throwable
aload 3
monitorexit
21: athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Ljava/lang/ClassLoader;
0 22 1 name Ljava/lang/String;
0 22 2 resolve Z
2 20 4 c Ljava/lang/Class;
4 16 5 t0 J
12 16 7 t1 J
Exception table:
from to target type
4 8 9 Class java.lang.ClassNotFoundException
1 19 20 any
20 21 20 any
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;Z)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
resolve
protected java.lang.Object getClassLoadingLock(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
astore 2
start local 2 1: aload 0
getfield java.lang.ClassLoader.parallelLockMap:Ljava/util/concurrent/ConcurrentHashMap;
ifnull 6
2: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
astore 3
start local 3 3: aload 0
getfield java.lang.ClassLoader.parallelLockMap:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
aload 3
invokevirtual java.util.concurrent.ConcurrentHashMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 2
4: aload 2
ifnonnull 6
5: aload 3
astore 2
end local 3 6: StackMap locals: java.lang.Object
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/lang/ClassLoader;
0 7 1 className Ljava/lang/String;
1 7 2 lock Ljava/lang/Object;
3 6 3 newLock Ljava/lang/Object;
MethodParameters:
Name Flags
className
private java.lang.Class loadClassInternal(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield java.lang.ClassLoader.parallelLockMap:Ljava/util/concurrent/ConcurrentHashMap;
ifnonnull 6
1: aload 0
dup
astore 2
monitorenter
2: aload 0
aload 1
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
aload 2
monitorexit
3: areturn
4: StackMap locals: java.lang.ClassLoader java.lang.String java.lang.ClassLoader
StackMap stack: java.lang.Throwable
aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/lang/ClassLoader;
0 7 1 name Ljava/lang/String;
Exception table:
from to target type
2 3 4 any
4 5 4 any
Exceptions:
throws java.lang.ClassNotFoundException
MethodParameters:
Name Flags
name
private void checkPackageAccess(java.lang.Class, java.security.ProtectionDomain);
descriptor: (Ljava/lang/Class;Ljava/security/ProtectionDomain;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 3
start local 3 1: aload 3
ifnull 15
2: aload 1
invokestatic sun.reflect.misc.ReflectUtil.isNonPublicProxyClass:(Ljava/lang/Class;)Z
ifeq 9
3: aload 1
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 7
StackMap locals: java.lang.ClassLoader java.lang.Class java.security.ProtectionDomain java.lang.SecurityManager top int int java.lang.Class[]
StackMap stack:
4: aload 7
iload 5
aaload
astore 4
start local 4 5: aload 0
aload 4
aload 2
invokevirtual java.lang.ClassLoader.checkPackageAccess:(Ljava/lang/Class;Ljava/security/ProtectionDomain;)V
end local 4 6: iinc 5 1
StackMap locals:
StackMap stack:
7: iload 5
iload 6
if_icmplt 4
8: return
9: StackMap locals: java.lang.ClassLoader java.lang.Class java.security.ProtectionDomain java.lang.SecurityManager
StackMap stack:
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
astore 4
start local 4 10: aload 4
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 5
start local 5 11: iload 5
iconst_m1
if_icmpeq 15
12: new java.lang.ClassLoader$1
dup
aload 0
aload 3
aload 4
iload 5
invokespecial java.lang.ClassLoader$1.<init>:(Ljava/lang/ClassLoader;Ljava/lang/SecurityManager;Ljava/lang/String;I)V
13: new java.security.AccessControlContext
dup
iconst_1
anewarray java.security.ProtectionDomain
dup
iconst_0
aload 2
aastore
invokespecial java.security.AccessControlContext.<init>:([Ljava/security/ProtectionDomain;)V
14: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
pop
end local 5 end local 4 15: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.ClassLoader.domains:Ljava/util/Set;
aload 2
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
16: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljava/lang/ClassLoader;
0 17 1 cls Ljava/lang/Class;
0 17 2 pd Ljava/security/ProtectionDomain;
1 17 3 sm Ljava/lang/SecurityManager;
5 6 4 intf Ljava/lang/Class;
10 15 4 name Ljava/lang/String;
11 15 5 i I
MethodParameters:
Name Flags
cls
pd
protected java.lang.Class<?> findClass(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.ClassNotFoundException
dup
aload 1
invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/ClassLoader;
0 1 1 name Ljava/lang/String;
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
protected final java.lang.Class<?> defineClass(byte[], int, int);
descriptor: ([BII)Ljava/lang/Class;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aconst_null
aload 1
iload 2
iload 3
aconst_null
invokevirtual java.lang.ClassLoader.defineClass:(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/ClassLoader;
0 1 1 b [B
0 1 2 off I
0 1 3 len I
Exceptions:
throws java.lang.ClassFormatError
Signature: ([BII)Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
b
off
len
protected final java.lang.Class<?> defineClass(java.lang.String, byte[], int, int);
descriptor: (Ljava/lang/String;[BII)Ljava/lang/Class;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
iload 3
iload 4
aconst_null
invokevirtual java.lang.ClassLoader.defineClass:(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/ClassLoader;
0 1 1 name Ljava/lang/String;
0 1 2 b [B
0 1 3 off I
0 1 4 len I
Exceptions:
throws java.lang.ClassFormatError
Signature: (Ljava/lang/String;[BII)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
b
off
len
private java.security.ProtectionDomain preDefineClass(java.lang.String, java.security.ProtectionDomain);
descriptor: (Ljava/lang/String;Ljava/security/ProtectionDomain;)Ljava/security/ProtectionDomain;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual java.lang.ClassLoader.checkName:(Ljava/lang/String;)Z
ifne 2
1: new java.lang.NoClassDefFoundError
dup
new java.lang.StringBuilder
dup
ldc "IllegalName: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NoClassDefFoundError.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
ifnull 8
aload 1
ldc "java."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 8
3: new java.lang.SecurityException
dup
4: new java.lang.StringBuilder
dup
ldc "Prohibited package name: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: aload 1
iconst_0
aload 1
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 2
ifnonnull 10
9: aload 0
getfield java.lang.ClassLoader.defaultDomain:Ljava/security/ProtectionDomain;
astore 2
10: StackMap locals:
StackMap stack:
aload 1
ifnull 11
aload 0
aload 1
aload 2
invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
invokevirtual java.lang.ClassLoader.checkCerts:(Ljava/lang/String;Ljava/security/CodeSource;)V
11: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/lang/ClassLoader;
0 12 1 name Ljava/lang/String;
0 12 2 pd Ljava/security/ProtectionDomain;
MethodParameters:
Name Flags
name
pd
private java.lang.String defineClassSourceLocation(java.security.ProtectionDomain);
descriptor: (Ljava/security/ProtectionDomain;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 2
ifnull 4
aload 2
invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
ifnull 4
3: aload 2
invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
invokevirtual java.net.URL.toString:()Ljava/lang/String;
astore 3
4: StackMap locals: java.security.CodeSource java.lang.String
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/ClassLoader;
0 5 1 pd Ljava/security/ProtectionDomain;
1 5 2 cs Ljava/security/CodeSource;
2 5 3 source Ljava/lang/String;
MethodParameters:
Name Flags
pd
private java.lang.Class defineTransformedClass(java.lang.String, byte[], int, int, java.security.ProtectionDomain, java.lang.ClassFormatError, java.lang.String);
descriptor: (Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/ClassFormatError;Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=15, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: invokestatic sun.misc.ClassFileTransformer.getTransformers:()[Lsun/misc/ClassFileTransformer;
1: astore 8
start local 8 2: aconst_null
astore 9
start local 9 3: aload 8
ifnull 14
4: aload 8
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 13
StackMap locals: java.lang.ClassLoader java.lang.String byte[] int int java.security.ProtectionDomain java.lang.ClassFormatError java.lang.String sun.misc.ClassFileTransformer[] java.lang.Class top int int sun.misc.ClassFileTransformer[]
StackMap stack:
5: aload 13
iload 11
aaload
astore 10
start local 10 6: aload 10
aload 2
iload 3
iload 4
invokevirtual sun.misc.ClassFileTransformer.transform:([BII)[B
astore 14
start local 14 7: aload 0
aload 1
aload 14
iconst_0
aload 14
arraylength
8: aload 5
aload 7
9: invokevirtual java.lang.ClassLoader.defineClass1:(Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;
astore 9
10: goto 14
end local 14 11: StackMap locals: java.lang.ClassLoader java.lang.String byte[] int int java.security.ProtectionDomain java.lang.ClassFormatError java.lang.String sun.misc.ClassFileTransformer[] java.lang.Class sun.misc.ClassFileTransformer int int sun.misc.ClassFileTransformer[]
StackMap stack: java.lang.ClassFormatError
pop
end local 10 12: iinc 11 1
StackMap locals: java.lang.ClassLoader java.lang.String byte[] int int java.security.ProtectionDomain java.lang.ClassFormatError java.lang.String sun.misc.ClassFileTransformer[] java.lang.Class top int int sun.misc.ClassFileTransformer[]
StackMap stack:
13: iload 11
iload 12
if_icmplt 5
14: StackMap locals: java.lang.ClassLoader java.lang.String byte[] int int java.security.ProtectionDomain java.lang.ClassFormatError java.lang.String sun.misc.ClassFileTransformer[] java.lang.Class
StackMap stack:
aload 9
ifnonnull 16
15: aload 6
athrow
16: StackMap locals:
StackMap stack:
aload 9
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljava/lang/ClassLoader;
0 17 1 name Ljava/lang/String;
0 17 2 b [B
0 17 3 off I
0 17 4 len I
0 17 5 pd Ljava/security/ProtectionDomain;
0 17 6 cfe Ljava/lang/ClassFormatError;
0 17 7 source Ljava/lang/String;
2 17 8 transformers [Lsun/misc/ClassFileTransformer;
3 17 9 c Ljava/lang/Class;
6 12 10 transformer Lsun/misc/ClassFileTransformer;
7 11 14 tb [B
Exception table:
from to target type
6 10 11 Class java.lang.ClassFormatError
Exceptions:
throws java.lang.ClassFormatError
MethodParameters:
Name Flags
name
b
off
len
pd
cfe
source
private void postDefineClass(java.lang.Class, java.security.ProtectionDomain);
descriptor: (Ljava/lang/Class;Ljava/security/ProtectionDomain;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
ifnull 4
1: aload 2
invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
astore 3
start local 3 2: aload 3
ifnull 4
3: aload 0
aload 1
aload 3
invokevirtual java.lang.ClassLoader.setSigners:(Ljava/lang/Class;[Ljava/lang/Object;)V
end local 3 4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/ClassLoader;
0 5 1 c Ljava/lang/Class;
0 5 2 pd Ljava/security/ProtectionDomain;
2 4 3 certs [Ljava/security/cert/Certificate;
MethodParameters:
Name Flags
c
pd
protected final java.lang.Class<?> defineClass(java.lang.String, byte[], int, int, java.security.ProtectionDomain);
descriptor: (Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=8, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 5
invokevirtual java.lang.ClassLoader.preDefineClass:(Ljava/lang/String;Ljava/security/ProtectionDomain;)Ljava/security/ProtectionDomain;
astore 5
1: aconst_null
astore 6
start local 6 2: aload 0
aload 5
invokevirtual java.lang.ClassLoader.defineClassSourceLocation:(Ljava/security/ProtectionDomain;)Ljava/lang/String;
astore 7
start local 7 3: aload 0
aload 1
aload 2
iload 3
iload 4
aload 5
aload 7
invokevirtual java.lang.ClassLoader.defineClass1:(Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;
astore 6
4: goto 9
StackMap locals: java.lang.ClassLoader java.lang.String byte[] int int java.security.ProtectionDomain java.lang.Class java.lang.String
StackMap stack: java.lang.ClassFormatError
5: astore 8
start local 8 6: aload 0
aload 1
aload 2
iload 3
iload 4
aload 5
aload 8
7: aload 7
8: invokevirtual java.lang.ClassLoader.defineTransformedClass:(Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/ClassFormatError;Ljava/lang/String;)Ljava/lang/Class;
astore 6
end local 8 9: StackMap locals:
StackMap stack:
aload 0
aload 6
aload 5
invokevirtual java.lang.ClassLoader.postDefineClass:(Ljava/lang/Class;Ljava/security/ProtectionDomain;)V
10: aload 6
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/lang/ClassLoader;
0 11 1 name Ljava/lang/String;
0 11 2 b [B
0 11 3 off I
0 11 4 len I
0 11 5 protectionDomain Ljava/security/ProtectionDomain;
2 11 6 c Ljava/lang/Class;
3 11 7 source Ljava/lang/String;
6 9 8 cfe Ljava/lang/ClassFormatError;
Exception table:
from to target type
3 4 5 Class java.lang.ClassFormatError
Exceptions:
throws java.lang.ClassFormatError
Signature: (Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
b
off
len
protectionDomain
protected final java.lang.Class<?> defineClass(java.lang.String, java.nio.ByteBuffer, java.security.ProtectionDomain);
descriptor: (Ljava/lang/String;Ljava/nio/ByteBuffer;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=8, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 4
start local 4 1: aload 2
invokevirtual java.nio.ByteBuffer.isDirect:()Z
ifne 10
2: aload 2
invokevirtual java.nio.ByteBuffer.hasArray:()Z
ifeq 7
3: aload 0
aload 1
aload 2
invokevirtual java.nio.ByteBuffer.array:()[B
4: aload 2
invokevirtual java.nio.ByteBuffer.position:()I
aload 2
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
iadd
iload 4
5: aload 3
6: invokevirtual java.lang.ClassLoader.defineClass:(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;
areturn
7: StackMap locals: int
StackMap stack:
iload 4
newarray 8
astore 5
start local 5 8: aload 2
aload 5
invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
pop
9: aload 0
aload 1
aload 5
iconst_0
iload 4
aload 3
invokevirtual java.lang.ClassLoader.defineClass:(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;
areturn
end local 5 10: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual java.lang.ClassLoader.preDefineClass:(Ljava/lang/String;Ljava/security/ProtectionDomain;)Ljava/security/ProtectionDomain;
astore 3
11: aconst_null
astore 5
start local 5 12: aload 0
aload 3
invokevirtual java.lang.ClassLoader.defineClassSourceLocation:(Ljava/security/ProtectionDomain;)Ljava/lang/String;
astore 6
start local 6 13: aload 0
aload 1
aload 2
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
iload 4
aload 3
14: aload 6
15: invokevirtual java.lang.ClassLoader.defineClass2:(Ljava/lang/String;Ljava/nio/ByteBuffer;IILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;
astore 5
16: goto 23
StackMap locals: java.lang.ClassLoader java.lang.String java.nio.ByteBuffer java.security.ProtectionDomain int java.lang.Class java.lang.String
StackMap stack: java.lang.ClassFormatError
17: astore 7
start local 7 18: iload 4
newarray 8
astore 8
start local 8 19: aload 2
aload 8
invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
pop
20: aload 0
aload 1
aload 8
iconst_0
iload 4
aload 3
aload 7
21: aload 6
22: invokevirtual java.lang.ClassLoader.defineTransformedClass:(Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/ClassFormatError;Ljava/lang/String;)Ljava/lang/Class;
astore 5
end local 8 end local 7 23: StackMap locals:
StackMap stack:
aload 0
aload 5
aload 3
invokevirtual java.lang.ClassLoader.postDefineClass:(Ljava/lang/Class;Ljava/security/ProtectionDomain;)V
24: aload 5
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Ljava/lang/ClassLoader;
0 25 1 name Ljava/lang/String;
0 25 2 b Ljava/nio/ByteBuffer;
0 25 3 protectionDomain Ljava/security/ProtectionDomain;
1 25 4 len I
8 10 5 tb [B
12 25 5 c Ljava/lang/Class;
13 25 6 source Ljava/lang/String;
18 23 7 cfe Ljava/lang/ClassFormatError;
19 23 8 tb [B
Exception table:
from to target type
13 16 17 Class java.lang.ClassFormatError
Exceptions:
throws java.lang.ClassFormatError
Signature: (Ljava/lang/String;Ljava/nio/ByteBuffer;Ljava/security/ProtectionDomain;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
b
protectionDomain
private native java.lang.Class defineClass0(java.lang.String, byte[], int, int, java.security.ProtectionDomain);
descriptor: (Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
name
b
off
len
pd
private native java.lang.Class defineClass1(java.lang.String, byte[], int, int, java.security.ProtectionDomain, java.lang.String);
descriptor: (Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
name
b
off
len
pd
source
private native java.lang.Class defineClass2(java.lang.String, java.nio.ByteBuffer, int, int, java.security.ProtectionDomain, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/nio/ByteBuffer;IILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
name
b
off
len
pd
source
private boolean checkName(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
invokevirtual java.lang.String.length:()I
ifne 2
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
bipush 47
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpne 4
3: invokestatic sun.misc.VM.allowArraySyntax:()Z
ifne 5
aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpne 5
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
5: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/lang/ClassLoader;
0 6 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
private void checkCerts(java.lang.String, java.security.CodeSource);
descriptor: (Ljava/lang/String;Ljava/security/CodeSource;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 3
start local 3 1: iload 3
iconst_m1
if_icmpne 2
ldc ""
goto 3
StackMap locals: int
StackMap stack:
2: aload 1
iconst_0
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
3: astore 4
start local 4 4: aconst_null
astore 5
start local 5 5: aload 2
ifnull 7
6: aload 2
invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
astore 5
7: StackMap locals: java.lang.String java.security.cert.Certificate[]
StackMap stack:
aconst_null
astore 6
start local 6 8: aload 0
getfield java.lang.ClassLoader.parallelLockMap:Ljava/util/concurrent/ConcurrentHashMap;
ifnonnull 19
9: aload 0
dup
astore 7
monitorenter
10: aload 0
getfield java.lang.ClassLoader.package2certs:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.cert.Certificate[]
astore 6
11: aload 6
ifnonnull 15
12: aload 0
getfield java.lang.ClassLoader.package2certs:Ljava/util/Map;
aload 4
aload 5
ifnonnull 13
getstatic java.lang.ClassLoader.nocerts:[Ljava/security/cert/Certificate;
goto 14
StackMap locals: java.lang.ClassLoader java.lang.String java.security.CodeSource int java.lang.String java.security.cert.Certificate[] java.security.cert.Certificate[] java.lang.ClassLoader
StackMap stack: java.util.Map java.lang.String
13: aload 5
StackMap locals: java.lang.ClassLoader java.lang.String java.security.CodeSource int java.lang.String java.security.cert.Certificate[] java.security.cert.Certificate[] java.lang.ClassLoader
StackMap stack: java.util.Map java.lang.String java.security.cert.Certificate[]
14: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: StackMap locals:
StackMap stack:
aload 7
monitorexit
16: goto 24
StackMap locals:
StackMap stack: java.lang.Throwable
17: aload 7
monitorexit
18: athrow
19: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.ClassLoader.package2certs:Ljava/util/Map;
checkcast java.util.concurrent.ConcurrentHashMap
20: aload 4
aload 5
ifnonnull 21
getstatic java.lang.ClassLoader.nocerts:[Ljava/security/cert/Certificate;
goto 22
StackMap locals: java.lang.ClassLoader java.lang.String java.security.CodeSource int java.lang.String java.security.cert.Certificate[] java.security.cert.Certificate[]
StackMap stack: java.util.concurrent.ConcurrentHashMap java.lang.String
21: aload 5
StackMap locals: java.lang.ClassLoader java.lang.String java.security.CodeSource int java.lang.String java.security.cert.Certificate[] java.security.cert.Certificate[]
StackMap stack: java.util.concurrent.ConcurrentHashMap java.lang.String java.security.cert.Certificate[]
22: invokevirtual java.util.concurrent.ConcurrentHashMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.cert.Certificate[]
23: astore 6
24: StackMap locals:
StackMap stack:
aload 6
ifnull 28
aload 0
aload 6
aload 5
invokevirtual java.lang.ClassLoader.compareCerts:([Ljava/security/cert/Certificate;[Ljava/security/cert/Certificate;)Z
ifne 28
25: new java.lang.SecurityException
dup
new java.lang.StringBuilder
dup
ldc "class \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
26: ldc "\"'s signer information does not match signer information of other classes in the same package"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
27: invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Ljava/lang/ClassLoader;
0 29 1 name Ljava/lang/String;
0 29 2 cs Ljava/security/CodeSource;
1 29 3 i I
4 29 4 pname Ljava/lang/String;
5 29 5 certs [Ljava/security/cert/Certificate;
8 29 6 pcerts [Ljava/security/cert/Certificate;
Exception table:
from to target type
10 16 17 any
17 18 17 any
MethodParameters:
Name Flags
name
cs
private boolean compareCerts(java.security.cert.Certificate[], java.security.cert.Certificate[]);
descriptor: ([Ljava/security/cert/Certificate;[Ljava/security/cert/Certificate;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 1
aload 2
arraylength
ifne 3
1: StackMap locals:
StackMap stack:
aload 1
arraylength
ifne 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 2
arraylength
aload 1
arraylength
if_icmpeq 5
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 6: goto 17
7: StackMap locals: java.lang.ClassLoader java.security.cert.Certificate[] java.security.cert.Certificate[] top int
StackMap stack:
iconst_0
istore 3
start local 3 8: iconst_0
istore 5
start local 5 9: goto 14
10: StackMap locals: java.lang.ClassLoader java.security.cert.Certificate[] java.security.cert.Certificate[] int int int
StackMap stack:
aload 2
iload 4
aaload
aload 1
iload 5
aaload
invokevirtual java.security.cert.Certificate.equals:(Ljava/lang/Object;)Z
ifeq 13
11: iconst_1
istore 3
12: goto 15
13: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
14: iload 5
aload 1
arraylength
if_icmplt 10
end local 5 15: StackMap locals:
StackMap stack:
iload 3
ifne 16
iconst_0
ireturn
16: StackMap locals:
StackMap stack:
iinc 4 1
end local 3 StackMap locals: java.lang.ClassLoader java.security.cert.Certificate[] java.security.cert.Certificate[] top int
StackMap stack:
17: iload 4
aload 2
arraylength
if_icmplt 7
end local 4 18: iconst_0
istore 4
start local 4 19: goto 30
20: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 21: iconst_0
istore 5
start local 5 22: goto 27
23: StackMap locals: java.lang.ClassLoader java.security.cert.Certificate[] java.security.cert.Certificate[] int int int
StackMap stack:
aload 1
iload 4
aaload
aload 2
iload 5
aaload
invokevirtual java.security.cert.Certificate.equals:(Ljava/lang/Object;)Z
ifeq 26
24: iconst_1
istore 3
25: goto 28
26: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
27: iload 5
aload 2
arraylength
if_icmplt 23
end local 5 28: StackMap locals:
StackMap stack:
iload 3
ifne 29
iconst_0
ireturn
29: StackMap locals:
StackMap stack:
iinc 4 1
end local 3 StackMap locals: java.lang.ClassLoader java.security.cert.Certificate[] java.security.cert.Certificate[] top int
StackMap stack:
30: iload 4
aload 1
arraylength
if_icmplt 20
end local 4 31: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Ljava/lang/ClassLoader;
0 32 1 pcerts [Ljava/security/cert/Certificate;
0 32 2 certs [Ljava/security/cert/Certificate;
8 17 3 match Z
21 30 3 match Z
6 18 4 i I
9 15 5 j I
19 31 4 i I
22 28 5 j I
MethodParameters:
Name Flags
pcerts
certs
protected final void resolveClass(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.ClassLoader.resolveClass0:(Ljava/lang/Class;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/ClassLoader;
0 2 1 c Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
c
private native void resolveClass0(java.lang.Class);
descriptor: (Ljava/lang/Class;)V
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
c
protected final java.lang.Class<?> findSystemClass(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
astore 2
start local 2 1: aload 2
ifnonnull 8
2: aload 0
aload 1
invokevirtual java.lang.ClassLoader.checkName:(Ljava/lang/String;)Z
ifne 4
3: new java.lang.ClassNotFoundException
dup
aload 1
invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.lang.ClassLoader
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.ClassLoader.findBootstrapClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 3
start local 3 5: aload 3
ifnonnull 7
6: new java.lang.ClassNotFoundException
dup
aload 1
invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: java.lang.Class
StackMap stack:
aload 3
areturn
end local 3 8: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/lang/ClassLoader;
0 9 1 name Ljava/lang/String;
1 9 2 system Ljava/lang/ClassLoader;
5 8 3 cls Ljava/lang/Class;
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
private java.lang.Class findBootstrapClassOrNull(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.ClassLoader.checkName:(Ljava/lang/String;)Z
ifne 1
aconst_null
areturn
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.ClassLoader.findBootstrapClass:(Ljava/lang/String;)Ljava/lang/Class;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/ClassLoader;
0 2 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
private native java.lang.Class findBootstrapClass(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
name
protected final java.lang.Class<?> findLoadedClass(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.ClassLoader.checkName:(Ljava/lang/String;)Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.ClassLoader.findLoadedClass0:(Ljava/lang/String;)Ljava/lang/Class;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/ClassLoader;
0 3 1 name Ljava/lang/String;
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
private final native java.lang.Class findLoadedClass0(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
name
protected final void setSigners(java.lang.Class<?>, []);
descriptor: (Ljava/lang/Class;[Ljava/lang/Object;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokevirtual java.lang.Class.setSigners:([Ljava/lang/Object;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/ClassLoader;
0 2 1 c Ljava/lang/Class<*>;
0 2 2 signers [Ljava/lang/Object;
Signature: (Ljava/lang/Class<*>;[Ljava/lang/Object;)V
MethodParameters:
Name Flags
c
signers
public java.net.URL getResource(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/net/URL;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
ifnull 3
1: aload 0
getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
aload 1
invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
astore 2
start local 2 2: goto 4
end local 2 3: StackMap locals:
StackMap stack:
aload 1
invokestatic java.lang.ClassLoader.getBootstrapResource:(Ljava/lang/String;)Ljava/net/URL;
astore 2
start local 2 4: StackMap locals: java.net.URL
StackMap stack:
aload 2
ifnonnull 6
5: aload 0
aload 1
invokevirtual java.lang.ClassLoader.findResource:(Ljava/lang/String;)Ljava/net/URL;
astore 2
6: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/lang/ClassLoader;
0 7 1 name Ljava/lang/String;
2 3 2 url Ljava/net/URL;
4 7 2 url Ljava/net/URL;
MethodParameters:
Name Flags
name
public java.util.Enumeration<java.net.URL> getResources(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Enumeration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: iconst_2
anewarray java.util.Enumeration
astore 2
start local 2 1: aload 0
getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
ifnull 4
2: aload 2
iconst_0
aload 0
getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
aload 1
invokevirtual java.lang.ClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
aastore
3: goto 5
4: StackMap locals: java.util.Enumeration[]
StackMap stack:
aload 2
iconst_0
aload 1
invokestatic java.lang.ClassLoader.getBootstrapResources:(Ljava/lang/String;)Ljava/util/Enumeration;
aastore
5: StackMap locals:
StackMap stack:
aload 2
iconst_1
aload 0
aload 1
invokevirtual java.lang.ClassLoader.findResources:(Ljava/lang/String;)Ljava/util/Enumeration;
aastore
6: new sun.misc.CompoundEnumeration
dup
aload 2
invokespecial sun.misc.CompoundEnumeration.<init>:([Ljava/util/Enumeration;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/lang/ClassLoader;
0 7 1 name Ljava/lang/String;
1 7 2 tmp [Ljava/util/Enumeration;
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/String;)Ljava/util/Enumeration<Ljava/net/URL;>;
MethodParameters:
Name Flags
name
protected java.net.URL findResource(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/net/URL;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/ClassLoader;
0 1 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
protected java.util.Enumeration<java.net.URL> findResources(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Enumeration;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: invokestatic java.util.Collections.emptyEnumeration:()Ljava/util/Enumeration;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/ClassLoader;
0 1 1 name Ljava/lang/String;
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/String;)Ljava/util/Enumeration<Ljava/net/URL;>;
MethodParameters:
Name Flags
name
protected static boolean registerAsParallelCapable();
descriptor: ()Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
ldc Ljava/lang/ClassLoader;
invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
1: astore 0
start local 0 2: aload 0
invokestatic java.lang.ClassLoader$ParallelLoaders.register:(Ljava/lang/Class;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
2 3 0 callerClass Ljava/lang/Class<+Ljava/lang/ClassLoader;>;
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
public static java.net.URL getSystemResource(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/net/URL;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aload 0
invokestatic java.lang.ClassLoader.getBootstrapResource:(Ljava/lang/String;)Ljava/net/URL;
areturn
3: StackMap locals: java.lang.ClassLoader
StackMap stack:
aload 1
aload 0
invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 name Ljava/lang/String;
1 4 1 system Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
name
public static java.util.Enumeration<java.net.URL> getSystemResources(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Enumeration;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aload 0
invokestatic java.lang.ClassLoader.getBootstrapResources:(Ljava/lang/String;)Ljava/util/Enumeration;
areturn
3: StackMap locals: java.lang.ClassLoader
StackMap stack:
aload 1
aload 0
invokevirtual java.lang.ClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 name Ljava/lang/String;
1 4 1 system Ljava/lang/ClassLoader;
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/String;)Ljava/util/Enumeration<Ljava/net/URL;>;
MethodParameters:
Name Flags
name
private static java.net.URL getBootstrapResource(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/net/URL;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: invokestatic java.lang.ClassLoader.getBootstrapClassPath:()Lsun/misc/URLClassPath;
astore 1
start local 1 1: aload 1
aload 0
invokevirtual sun.misc.URLClassPath.getResource:(Ljava/lang/String;)Lsun/misc/Resource;
astore 2
start local 2 2: aload 2
ifnull 3
aload 2
invokevirtual sun.misc.Resource.getURL:()Ljava/net/URL;
goto 4
StackMap locals: sun.misc.URLClassPath sun.misc.Resource
StackMap stack:
3: aconst_null
StackMap locals:
StackMap stack: java.net.URL
4: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 name Ljava/lang/String;
1 5 1 ucp Lsun/misc/URLClassPath;
2 5 2 res Lsun/misc/Resource;
MethodParameters:
Name Flags
name
private static java.util.Enumeration<java.net.URL> getBootstrapResources(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Enumeration;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic java.lang.ClassLoader.getBootstrapClassPath:()Lsun/misc/URLClassPath;
aload 0
invokevirtual sun.misc.URLClassPath.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
1: astore 1
start local 1 2: new java.lang.ClassLoader$2
dup
aload 1
invokespecial java.lang.ClassLoader$2.<init>:(Ljava/util/Enumeration;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 name Ljava/lang/String;
2 3 1 e Ljava/util/Enumeration<Lsun/misc/Resource;>;
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/String;)Ljava/util/Enumeration<Ljava/net/URL;>;
MethodParameters:
Name Flags
name
static sun.misc.URLClassPath getBootstrapClassPath();
descriptor: ()Lsun/misc/URLClassPath;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic sun.misc.Launcher.getBootstrapClassPath:()Lsun/misc/URLClassPath;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.io.InputStream getResourceAsStream(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
goto 3
StackMap locals: java.net.URL
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: java.io.InputStream
3: areturn
4: StackMap locals:
StackMap stack: java.io.IOException
pop
5: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/lang/ClassLoader;
0 6 1 name Ljava/lang/String;
1 6 2 url Ljava/net/URL;
Exception table:
from to target type
1 3 4 Class java.io.IOException
MethodParameters:
Name Flags
name
public static java.io.InputStream getSystemResourceAsStream(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokestatic java.lang.ClassLoader.getSystemResource:(Ljava/lang/String;)Ljava/net/URL;
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
goto 3
StackMap locals: java.net.URL
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: java.io.InputStream
3: areturn
4: StackMap locals:
StackMap stack: java.io.IOException
pop
5: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 name Ljava/lang/String;
1 6 1 url Ljava/net/URL;
Exception table:
from to target type
1 3 4 Class java.io.IOException
MethodParameters:
Name Flags
name
public final java.lang.ClassLoader getParent();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 3: aload 1
ifnull 5
4: aload 0
getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
invokestatic java.lang.ClassLoader.checkClassLoaderPermission:(Ljava/lang/ClassLoader;Ljava/lang/Class;)V
5: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 0
getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/lang/ClassLoader;
3 6 1 sm Ljava/lang/SecurityManager;
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
public static java.lang.ClassLoader getSystemClassLoader();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: invokestatic java.lang.ClassLoader.initSystemClassLoader:()V
1: getstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals:
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 0
start local 0 4: aload 0
ifnull 6
5: getstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
invokestatic java.lang.ClassLoader.checkClassLoaderPermission:(Ljava/lang/ClassLoader;Ljava/lang/Class;)V
6: StackMap locals: java.lang.SecurityManager
StackMap stack:
getstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
4 7 0 sm Ljava/lang/SecurityManager;
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
private static synchronized void initSystemClassLoader();
descriptor: ()V
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=0
0: getstatic java.lang.ClassLoader.sclSet:Z
ifne 19
1: getstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
ifnull 3
2: new java.lang.IllegalStateException
dup
ldc "recursive invocation"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
invokestatic sun.misc.Launcher.getLauncher:()Lsun/misc/Launcher;
astore 0
start local 0 4: aload 0
ifnull 18
5: aconst_null
astore 1
start local 1 6: aload 0
invokevirtual sun.misc.Launcher.getClassLoader:()Ljava/lang/ClassLoader;
putstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
7: new java.lang.SystemClassLoaderAction
dup
getstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
invokespecial java.lang.SystemClassLoaderAction.<init>:(Ljava/lang/ClassLoader;)V
8: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast java.lang.ClassLoader
putstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
9: goto 14
StackMap locals: sun.misc.Launcher java.lang.Throwable
StackMap stack: java.security.PrivilegedActionException
10: astore 2
start local 2 11: aload 2
invokevirtual java.security.PrivilegedActionException.getCause:()Ljava/lang/Throwable;
astore 1
12: aload 1
instanceof java.lang.reflect.InvocationTargetException
ifeq 14
13: aload 1
invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
astore 1
end local 2 14: StackMap locals:
StackMap stack:
aload 1
ifnull 18
15: aload 1
instanceof java.lang.Error
ifeq 17
16: aload 1
checkcast java.lang.Error
athrow
17: StackMap locals:
StackMap stack:
new java.lang.Error
dup
aload 1
invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 18: StackMap locals:
StackMap stack:
iconst_1
putstatic java.lang.ClassLoader.sclSet:Z
end local 0 19: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
4 19 0 l Lsun/misc/Launcher;
6 18 1 oops Ljava/lang/Throwable;
11 14 2 pae Ljava/security/PrivilegedActionException;
Exception table:
from to target type
7 9 10 Class java.security.PrivilegedActionException
boolean isAncestor(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)Z
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
astore 2
start local 2 1: StackMap locals: java.lang.ClassLoader
StackMap stack:
aload 2
getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
astore 2
2: aload 1
aload 2
if_acmpne 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 2
ifnonnull 1
5: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/lang/ClassLoader;
0 6 1 cl Ljava/lang/ClassLoader;
1 6 2 acl Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
cl
private static boolean needsClassLoaderPermissionCheck(java.lang.ClassLoader, java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
ifnonnull 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual java.lang.ClassLoader.isAncestor:(Ljava/lang/ClassLoader;)Z
ifeq 5
iconst_0
goto 6
StackMap locals:
StackMap stack:
5: iconst_1
StackMap locals:
StackMap stack: int
6: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 from Ljava/lang/ClassLoader;
0 7 1 to Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
from
to
static java.lang.ClassLoader getClassLoader(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/ClassLoader;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 caller Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
caller
static void checkClassLoaderPermission(java.lang.ClassLoader, java.lang.Class<?>);
descriptor: (Ljava/lang/ClassLoader;Ljava/lang/Class;)V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 2
start local 2 1: aload 2
ifnull 5
2: aload 1
invokestatic java.lang.ClassLoader.getClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
astore 3
start local 3 3: aload 3
aload 0
invokestatic java.lang.ClassLoader.needsClassLoaderPermissionCheck:(Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Z
ifeq 5
4: aload 2
getstatic sun.security.util.SecurityConstants.GET_CLASSLOADER_PERMISSION:Ljava/lang/RuntimePermission;
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
end local 3 5: StackMap locals: java.lang.SecurityManager
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 cl Ljava/lang/ClassLoader;
0 6 1 caller Ljava/lang/Class<*>;
1 6 2 sm Ljava/lang/SecurityManager;
3 5 3 ccl Ljava/lang/ClassLoader;
Signature: (Ljava/lang/ClassLoader;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
cl
caller
protected java.lang.Package definePackage(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.net.URL);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;)Ljava/lang/Package;
flags: (0x0004) ACC_PROTECTED
Code:
stack=11, locals=11, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
dup
astore 9
monitorenter
1: aload 0
aload 1
invokevirtual java.lang.ClassLoader.getPackage:(Ljava/lang/String;)Ljava/lang/Package;
astore 10
start local 10 2: aload 10
ifnull 4
3: new java.lang.IllegalArgumentException
dup
aload 1
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.util.HashMap java.lang.Package
StackMap stack:
new java.lang.Package
dup
aload 1
aload 2
aload 3
aload 4
5: aload 5
aload 6
aload 7
6: aload 8
aload 0
7: invokespecial java.lang.Package.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;Ljava/lang/ClassLoader;)V
astore 10
8: aload 0
getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
aload 1
aload 10
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: aload 10
aload 9
monitorexit
10: areturn
end local 10 11: StackMap locals: java.lang.ClassLoader java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.net.URL java.util.HashMap
StackMap stack: java.lang.Throwable
aload 9
monitorexit
12: athrow
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/lang/ClassLoader;
0 13 1 name Ljava/lang/String;
0 13 2 specTitle Ljava/lang/String;
0 13 3 specVersion Ljava/lang/String;
0 13 4 specVendor Ljava/lang/String;
0 13 5 implTitle Ljava/lang/String;
0 13 6 implVersion Ljava/lang/String;
0 13 7 implVendor Ljava/lang/String;
0 13 8 sealBase Ljava/net/URL;
2 11 10 pkg Ljava/lang/Package;
Exception table:
from to target type
1 10 11 any
11 12 11 any
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
name
specTitle
specVersion
specVendor
implTitle
implVersion
implVendor
sealBase
protected java.lang.Package getPackage(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Package;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
dup
astore 3
monitorenter
1: aload 0
getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Package
astore 2
start local 2 2: aload 3
monitorexit
3: goto 6
end local 2 StackMap locals: java.lang.ClassLoader java.lang.String top java.util.HashMap
StackMap stack: java.lang.Throwable
4: aload 3
monitorexit
5: athrow
start local 2 6: StackMap locals: java.lang.ClassLoader java.lang.String java.lang.Package
StackMap stack:
aload 2
ifnonnull 22
7: aload 0
getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
ifnull 10
8: aload 0
getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
aload 1
invokevirtual java.lang.ClassLoader.getPackage:(Ljava/lang/String;)Ljava/lang/Package;
astore 2
9: goto 11
10: StackMap locals:
StackMap stack:
aload 1
invokestatic java.lang.Package.getSystemPackage:(Ljava/lang/String;)Ljava/lang/Package;
astore 2
11: StackMap locals:
StackMap stack:
aload 2
ifnull 22
12: aload 0
getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
dup
astore 3
monitorenter
13: aload 0
getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Package
astore 4
start local 4 14: aload 4
ifnonnull 17
15: aload 0
getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
aload 1
aload 2
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
16: goto 18
17: StackMap locals: java.util.HashMap java.lang.Package
StackMap stack:
aload 4
astore 2
end local 4 18: StackMap locals:
StackMap stack:
aload 3
monitorexit
19: goto 22
StackMap locals:
StackMap stack: java.lang.Throwable
20: aload 3
monitorexit
21: athrow
22: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Ljava/lang/ClassLoader;
0 23 1 name Ljava/lang/String;
2 4 2 pkg Ljava/lang/Package;
6 23 2 pkg Ljava/lang/Package;
14 18 4 pkg2 Ljava/lang/Package;
Exception table:
from to target type
1 3 4 any
4 5 4 any
13 19 20 any
20 21 20 any
MethodParameters:
Name Flags
name
protected java.lang.Package[] getPackages();
descriptor: ()[Ljava/lang/Package;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
dup
astore 2
monitorenter
1: new java.util.HashMap
dup
aload 0
getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
astore 1
start local 1 2: aload 2
monitorexit
3: goto 6
end local 1 StackMap locals: java.lang.ClassLoader top java.util.HashMap
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
start local 1 6: StackMap locals: java.lang.ClassLoader java.util.Map
StackMap stack:
aload 0
getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
ifnull 9
7: aload 0
getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
invokevirtual java.lang.ClassLoader.getPackages:()[Ljava/lang/Package;
astore 2
start local 2 8: goto 10
end local 2 9: StackMap locals:
StackMap stack:
invokestatic java.lang.Package.getSystemPackages:()[Ljava/lang/Package;
astore 2
start local 2 10: StackMap locals: java.lang.Package[]
StackMap stack:
aload 2
ifnull 18
11: iconst_0
istore 3
start local 3 12: goto 17
13: StackMap locals: int
StackMap stack:
aload 2
iload 3
aaload
invokevirtual java.lang.Package.getName:()Ljava/lang/String;
astore 4
start local 4 14: aload 1
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 16
15: aload 1
aload 4
aload 2
iload 3
aaload
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 16: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
17: iload 3
aload 2
arraylength
if_icmplt 13
end local 3 18: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Map.values:()Ljava/util/Collection;
aload 1
invokeinterface java.util.Map.size:()I
anewarray java.lang.Package
invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.Package[]
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ljava/lang/ClassLoader;
2 4 1 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/Package;>;
6 19 1 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/Package;>;
8 9 2 pkgs [Ljava/lang/Package;
10 19 2 pkgs [Ljava/lang/Package;
12 18 3 i I
14 16 4 pkgName Ljava/lang/String;
Exception table:
from to target type
1 3 4 any
4 5 4 any
protected java.lang.String findLibrary(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/ClassLoader;
0 1 1 libname Ljava/lang/String;
MethodParameters:
Name Flags
libname
private static java.lang.String[] initializePath(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=1
start local 0 0: aload 0
ldc ""
invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: getstatic java.io.File.pathSeparator:Ljava/lang/String;
astore 2
start local 2 2: aload 1
invokevirtual java.lang.String.length:()I
istore 3
start local 3 3: aload 1
aload 2
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 4
start local 4 4: iconst_0
istore 6
start local 6 5: goto 8
6: StackMap locals: java.lang.String java.lang.String java.lang.String int int top int
StackMap stack:
iinc 6 1
7: aload 1
aload 2
iload 4
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
istore 4
8: StackMap locals:
StackMap stack:
iload 4
ifge 6
9: iload 6
iconst_1
iadd
anewarray java.lang.String
astore 7
start local 7 10: iconst_0
dup
istore 4
istore 6
11: aload 1
aload 2
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 5
start local 5 12: goto 20
13: StackMap locals: java.lang.String java.lang.String java.lang.String int int int int java.lang.String[]
StackMap stack:
iload 5
iload 4
isub
ifle 16
14: aload 7
iload 6
iinc 6 1
aload 1
iload 4
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
aastore
15: goto 18
StackMap locals:
StackMap stack:
16: iload 5
iload 4
isub
ifne 18
17: aload 7
iload 6
iinc 6 1
ldc "."
aastore
18: StackMap locals:
StackMap stack:
iload 5
iconst_1
iadd
istore 4
19: aload 1
aload 2
iload 4
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
istore 5
20: StackMap locals:
StackMap stack:
iload 5
ifge 13
21: aload 7
iload 6
aload 1
iload 4
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
aastore
22: aload 7
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 propname Ljava/lang/String;
1 23 1 ldpath Ljava/lang/String;
2 23 2 ps Ljava/lang/String;
3 23 3 ldlen I
4 23 4 i I
12 23 5 j I
5 23 6 n I
10 23 7 paths [Ljava/lang/String;
MethodParameters:
Name Flags
propname
static void loadLibrary(java.lang.Class, java.lang.String, boolean);
descriptor: (Ljava/lang/Class;Ljava/lang/String;Z)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ifnonnull 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 0
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
2: StackMap locals:
StackMap stack: java.lang.ClassLoader
astore 3
start local 3 3: getstatic java.lang.ClassLoader.sys_paths:[Ljava/lang/String;
ifnonnull 6
4: ldc "java.library.path"
invokestatic java.lang.ClassLoader.initializePath:(Ljava/lang/String;)[Ljava/lang/String;
putstatic java.lang.ClassLoader.usr_paths:[Ljava/lang/String;
5: ldc "sun.boot.library.path"
invokestatic java.lang.ClassLoader.initializePath:(Ljava/lang/String;)[Ljava/lang/String;
putstatic java.lang.ClassLoader.sys_paths:[Ljava/lang/String;
6: StackMap locals: java.lang.ClassLoader
StackMap stack:
iload 2
ifeq 10
7: aload 0
new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokestatic java.lang.ClassLoader.loadLibrary0:(Ljava/lang/Class;Ljava/io/File;)Z
ifeq 9
8: return
9: StackMap locals:
StackMap stack:
new java.lang.UnsatisfiedLinkError
dup
new java.lang.StringBuilder
dup
ldc "Can't load library: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 3
ifnull 21
11: aload 3
aload 1
invokevirtual java.lang.ClassLoader.findLibrary:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 12: aload 4
ifnull 21
13: new java.io.File
dup
aload 4
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 5
start local 5 14: aload 5
invokevirtual java.io.File.isAbsolute:()Z
ifne 18
15: new java.lang.UnsatisfiedLinkError
dup
16: new java.lang.StringBuilder
dup
ldc "ClassLoader.findLibrary failed to return an absolute path: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals: java.lang.String java.io.File
StackMap stack:
aload 0
aload 5
invokestatic java.lang.ClassLoader.loadLibrary0:(Ljava/lang/Class;Ljava/io/File;)Z
ifeq 20
19: return
20: StackMap locals:
StackMap stack:
new java.lang.UnsatisfiedLinkError
dup
new java.lang.StringBuilder
dup
ldc "Can't load "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
athrow
end local 5 end local 4 21: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 22: goto 27
23: StackMap locals: int
StackMap stack:
new java.io.File
dup
getstatic java.lang.ClassLoader.sys_paths:[Ljava/lang/String;
iload 4
aaload
aload 1
invokestatic java.lang.System.mapLibraryName:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 5
start local 5 24: aload 0
aload 5
invokestatic java.lang.ClassLoader.loadLibrary0:(Ljava/lang/Class;Ljava/io/File;)Z
ifeq 26
25: return
end local 5 26: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
27: iload 4
getstatic java.lang.ClassLoader.sys_paths:[Ljava/lang/String;
arraylength
if_icmplt 23
end local 4 28: aload 3
ifnull 38
29: iconst_0
istore 4
start local 4 30: goto 37
31: StackMap locals:
StackMap stack:
new java.io.File
dup
getstatic java.lang.ClassLoader.usr_paths:[Ljava/lang/String;
iload 4
aaload
32: aload 1
invokestatic java.lang.System.mapLibraryName:(Ljava/lang/String;)Ljava/lang/String;
33: invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 5
start local 5 34: aload 0
aload 5
invokestatic java.lang.ClassLoader.loadLibrary0:(Ljava/lang/Class;Ljava/io/File;)Z
ifeq 36
35: return
end local 5 36: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
37: iload 4
getstatic java.lang.ClassLoader.usr_paths:[Ljava/lang/String;
arraylength
if_icmplt 31
end local 4 38: StackMap locals:
StackMap stack:
new java.lang.UnsatisfiedLinkError
dup
new java.lang.StringBuilder
dup
ldc "no "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in java.library.path"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 fromClass Ljava/lang/Class;
0 39 1 name Ljava/lang/String;
0 39 2 isAbsolute Z
3 39 3 loader Ljava/lang/ClassLoader;
12 21 4 libfilename Ljava/lang/String;
14 21 5 libfile Ljava/io/File;
22 28 4 i I
24 26 5 libfile Ljava/io/File;
30 38 4 i I
34 36 5 libfile Ljava/io/File;
MethodParameters:
Name Flags
fromClass
name
isAbsolute
private static boolean loadLibrary0(java.lang.Class, java.io.File);
descriptor: (Ljava/lang/Class;Ljava/io/File;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.lang.ClassLoader.loadLibrary1:(Ljava/lang/Class;Ljava/io/File;)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic java.lang.ClassLoaderHelper.mapAlternativeName:(Ljava/io/File;)Ljava/io/File;
astore 2
start local 2 3: aload 2
ifnull 5
aload 0
aload 2
invokestatic java.lang.ClassLoader.loadLibrary1:(Ljava/lang/Class;Ljava/io/File;)Z
ifeq 5
4: iconst_1
ireturn
5: StackMap locals: java.io.File
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 fromClass Ljava/lang/Class;
0 6 1 file Ljava/io/File;
3 6 2 libfile Ljava/io/File;
MethodParameters:
Name Flags
fromClass
file final
private static boolean loadLibrary1(java.lang.Class, java.io.File);
descriptor: (Ljava/lang/Class;Ljava/io/File;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=12, args_size=2
start local 0 start local 1 0: new java.lang.ClassLoader$3
dup
aload 1
invokespecial java.lang.ClassLoader$3.<init>:(Ljava/io/File;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
ifnull 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 2
start local 2 4: iload 2
ifne 6
5: iconst_0
ireturn
6: StackMap locals: int
StackMap stack:
aload 1
invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
astore 3
start local 3 7: goto 10
end local 3 StackMap locals:
StackMap stack: java.io.IOException
8: pop
9: iconst_0
ireturn
start local 3 10: StackMap locals: java.lang.String
StackMap stack:
aload 0
ifnonnull 11
aconst_null
goto 12
StackMap locals:
StackMap stack:
11: aload 0
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
12: StackMap locals:
StackMap stack: java.lang.ClassLoader
astore 4
start local 4 13: aload 4
ifnull 14
aload 4
getfield java.lang.ClassLoader.nativeLibraries:Ljava/util/Vector;
goto 15
StackMap locals: java.lang.ClassLoader
StackMap stack:
14: getstatic java.lang.ClassLoader.systemNativeLibraries:Ljava/util/Vector;
15: StackMap locals:
StackMap stack: java.util.Vector
astore 5
start local 5 16: aload 5
dup
astore 6
monitorenter
17: aload 5
invokevirtual java.util.Vector.size:()I
istore 7
start local 7 18: iconst_0
istore 8
start local 8 19: goto 25
20: StackMap locals: java.lang.Class java.io.File int java.lang.String java.lang.ClassLoader java.util.Vector java.util.Vector int int
StackMap stack:
aload 5
iload 8
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast java.lang.ClassLoader$NativeLibrary
astore 9
start local 9 21: aload 3
aload 9
getfield java.lang.ClassLoader$NativeLibrary.name:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 24
22: aload 6
monitorexit
23: iconst_1
ireturn
end local 9 24: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
25: iload 8
iload 7
if_icmplt 20
end local 8 26: getstatic java.lang.ClassLoader.loadedLibraryNames:Ljava/util/Vector;
dup
astore 8
monitorenter
27: getstatic java.lang.ClassLoader.loadedLibraryNames:Ljava/util/Vector;
aload 3
invokevirtual java.util.Vector.contains:(Ljava/lang/Object;)Z
ifeq 34
28: new java.lang.UnsatisfiedLinkError
dup
29: new java.lang.StringBuilder
dup
ldc "Native Library "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
30: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
31: ldc " already loaded in another classloader"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
32: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
33: invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
athrow
34: StackMap locals: java.lang.Class java.io.File int java.lang.String java.lang.ClassLoader java.util.Vector java.util.Vector int java.util.Vector
StackMap stack:
getstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
invokevirtual java.util.Stack.size:()I
istore 9
start local 9 35: iconst_0
istore 10
start local 10 36: goto 50
37: StackMap locals: int int
StackMap stack:
getstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
iload 10
invokevirtual java.util.Stack.elementAt:(I)Ljava/lang/Object;
checkcast java.lang.ClassLoader$NativeLibrary
astore 11
start local 11 38: aload 3
aload 11
getfield java.lang.ClassLoader$NativeLibrary.name:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 49
39: aload 4
aload 11
getfield java.lang.ClassLoader$NativeLibrary.fromClass:Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
if_acmpne 43
40: aload 8
monitorexit
41: aload 6
monitorexit
42: iconst_1
ireturn
43: StackMap locals: java.lang.ClassLoader$NativeLibrary
StackMap stack:
new java.lang.UnsatisfiedLinkError
dup
44: new java.lang.StringBuilder
dup
ldc "Native Library "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
45: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
46: ldc " is being loaded in another classloader"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
47: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
48: invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
athrow
end local 11 49: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
50: iload 10
iload 9
if_icmplt 37
end local 10 51: new java.lang.ClassLoader$NativeLibrary
dup
aload 0
aload 3
invokespecial java.lang.ClassLoader$NativeLibrary.<init>:(Ljava/lang/Class;Ljava/lang/String;)V
astore 10
start local 10 52: getstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
aload 10
invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
pop
53: aload 10
aload 3
invokevirtual java.lang.ClassLoader$NativeLibrary.load:(Ljava/lang/String;)V
54: goto 58
StackMap locals: java.lang.Class java.io.File int java.lang.String java.lang.ClassLoader java.util.Vector java.util.Vector int java.util.Vector int java.lang.ClassLoader$NativeLibrary
StackMap stack: java.lang.Throwable
55: astore 11
56: getstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
pop
57: aload 11
athrow
58: StackMap locals:
StackMap stack:
getstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
pop
59: aload 10
getfield java.lang.ClassLoader$NativeLibrary.handle:J
lconst_0
lcmp
ifeq 65
60: getstatic java.lang.ClassLoader.loadedLibraryNames:Ljava/util/Vector;
aload 3
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
61: aload 5
aload 10
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
62: aload 8
monitorexit
63: aload 6
monitorexit
64: iconst_1
ireturn
65: StackMap locals:
StackMap stack:
aload 8
monitorexit
66: aload 6
monitorexit
67: iconst_0
ireturn
end local 10 end local 9 68: StackMap locals: java.lang.Class java.io.File int java.lang.String java.lang.ClassLoader java.util.Vector java.util.Vector int java.util.Vector
StackMap stack: java.lang.Throwable
aload 8
monitorexit
69: athrow
end local 7 70: StackMap locals: java.lang.Class java.io.File int java.lang.String java.lang.ClassLoader java.util.Vector java.util.Vector
StackMap stack: java.lang.Throwable
aload 6
monitorexit
71: athrow
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 72 0 fromClass Ljava/lang/Class;
0 72 1 file Ljava/io/File;
4 72 2 exists Z
7 8 3 name Ljava/lang/String;
10 72 3 name Ljava/lang/String;
13 72 4 loader Ljava/lang/ClassLoader;
16 72 5 libs Ljava/util/Vector<Ljava/lang/ClassLoader$NativeLibrary;>;
18 70 7 size I
19 26 8 i I
21 24 9 lib Ljava/lang/ClassLoader$NativeLibrary;
35 68 9 n I
36 51 10 i I
38 49 11 lib Ljava/lang/ClassLoader$NativeLibrary;
52 68 10 lib Ljava/lang/ClassLoader$NativeLibrary;
Exception table:
from to target type
6 7 8 Class java.io.IOException
53 55 55 any
27 41 68 any
43 63 68 any
65 66 68 any
68 69 68 any
17 23 70 any
24 42 70 any
43 64 70 any
65 67 70 any
68 71 70 any
MethodParameters:
Name Flags
fromClass
file final
static long findNative(java.lang.ClassLoader, java.lang.String);
descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;)J
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 0
ifnull 1
aload 0
getfield java.lang.ClassLoader.nativeLibraries:Ljava/util/Vector;
goto 2
StackMap locals:
StackMap stack:
1: getstatic java.lang.ClassLoader.systemNativeLibraries:Ljava/util/Vector;
2: StackMap locals:
StackMap stack: java.util.Vector
astore 2
start local 2 3: aload 2
dup
astore 3
monitorenter
4: aload 2
invokevirtual java.util.Vector.size:()I
istore 4
start local 4 5: iconst_0
istore 5
start local 5 6: goto 13
7: StackMap locals: java.lang.ClassLoader java.lang.String java.util.Vector java.util.Vector int int
StackMap stack:
aload 2
iload 5
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast java.lang.ClassLoader$NativeLibrary
astore 6
start local 6 8: aload 6
aload 1
invokevirtual java.lang.ClassLoader$NativeLibrary.find:(Ljava/lang/String;)J
lstore 7
start local 7 9: lload 7
lconst_0
lcmp
ifeq 12
10: lload 7
aload 3
monitorexit
11: lreturn
end local 7 end local 6 12: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
13: iload 5
iload 4
if_icmplt 7
end local 5 end local 4 14: aload 3
monitorexit
15: goto 18
StackMap locals: java.lang.ClassLoader java.lang.String java.util.Vector java.util.Vector
StackMap stack: java.lang.Throwable
16: aload 3
monitorexit
17: athrow
18: StackMap locals:
StackMap stack:
lconst_0
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 loader Ljava/lang/ClassLoader;
0 19 1 name Ljava/lang/String;
3 19 2 libs Ljava/util/Vector<Ljava/lang/ClassLoader$NativeLibrary;>;
5 14 4 size I
6 14 5 i I
8 12 6 lib Ljava/lang/ClassLoader$NativeLibrary;
9 12 7 entry J
Exception table:
from to target type
4 11 16 any
12 15 16 any
16 17 16 any
MethodParameters:
Name Flags
loader
name
public void setDefaultAssertionStatus(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield java.lang.ClassLoader.assertionLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
getfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
ifnonnull 3
2: aload 0
invokevirtual java.lang.ClassLoader.initializeJavaAssertionMaps:()V
3: StackMap locals: java.lang.Object
StackMap stack:
aload 0
iload 1
putfield java.lang.ClassLoader.defaultAssertionStatus:Z
4: aload 2
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/lang/ClassLoader;
0 9 1 enabled Z
Exception table:
from to target type
1 5 6 any
6 7 6 any
MethodParameters:
Name Flags
enabled
public void setPackageAssertionStatus(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield java.lang.ClassLoader.assertionLock:Ljava/lang/Object;
dup
astore 3
monitorenter
1: aload 0
getfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
ifnonnull 3
2: aload 0
invokevirtual java.lang.ClassLoader.initializeJavaAssertionMaps:()V
3: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
aload 1
iload 2
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 3
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 3
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/lang/ClassLoader;
0 9 1 packageName Ljava/lang/String;
0 9 2 enabled Z
Exception table:
from to target type
1 5 6 any
6 7 6 any
MethodParameters:
Name Flags
packageName
enabled
public void setClassAssertionStatus(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield java.lang.ClassLoader.assertionLock:Ljava/lang/Object;
dup
astore 3
monitorenter
1: aload 0
getfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
ifnonnull 3
2: aload 0
invokevirtual java.lang.ClassLoader.initializeJavaAssertionMaps:()V
3: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
aload 1
iload 2
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 3
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 3
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/lang/ClassLoader;
0 9 1 className Ljava/lang/String;
0 9 2 enabled Z
Exception table:
from to target type
1 5 6 any
6 7 6 any
MethodParameters:
Name Flags
className
enabled
public void clearAssertionStatus();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield java.lang.ClassLoader.assertionLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
2: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
3: aload 0
iconst_0
putfield java.lang.ClassLoader.defaultAssertionStatus:Z
4: aload 1
monitorexit
5: goto 8
StackMap locals: java.lang.ClassLoader java.lang.Object
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/lang/ClassLoader;
Exception table:
from to target type
1 5 6 any
6 7 6 any
boolean desiredAssertionStatus(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0000)
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield java.lang.ClassLoader.assertionLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
getfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 3
start local 3 2: aload 3
ifnull 5
3: aload 3
invokevirtual java.lang.Boolean.booleanValue:()Z
aload 2
monitorexit
4: ireturn
5: StackMap locals: java.lang.Object java.lang.Boolean
StackMap stack:
aload 1
ldc "."
invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
istore 4
start local 4 6: iload 4
ifge 17
7: aload 0
getfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
aconst_null
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 3
8: aload 3
ifnull 17
9: aload 3
invokevirtual java.lang.Boolean.booleanValue:()Z
aload 2
monitorexit
10: ireturn
11: StackMap locals: int
StackMap stack:
aload 1
iconst_0
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
12: aload 0
getfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 3
13: aload 3
ifnull 16
14: aload 3
invokevirtual java.lang.Boolean.booleanValue:()Z
aload 2
monitorexit
15: ireturn
16: StackMap locals:
StackMap stack:
aload 1
ldc "."
iload 4
iconst_1
isub
invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;I)I
istore 4
17: StackMap locals:
StackMap stack:
iload 4
ifgt 11
18: aload 0
getfield java.lang.ClassLoader.defaultAssertionStatus:Z
aload 2
monitorexit
19: ireturn
end local 4 end local 3 20: StackMap locals: java.lang.ClassLoader java.lang.String java.lang.Object
StackMap stack: java.lang.Throwable
aload 2
monitorexit
21: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Ljava/lang/ClassLoader;
0 22 1 className Ljava/lang/String;
2 20 3 result Ljava/lang/Boolean;
6 20 4 dotIndex I
Exception table:
from to target type
1 4 20 any
5 10 20 any
11 15 20 any
16 19 20 any
20 21 20 any
MethodParameters:
Name Flags
className
private void initializeJavaAssertionMaps();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
2: invokestatic java.lang.ClassLoader.retrieveDirectives:()Ljava/lang/AssertionStatusDirectives;
astore 1
start local 1 3: iconst_0
istore 2
start local 2 4: goto 9
5: StackMap locals: java.lang.AssertionStatusDirectives int
StackMap stack:
aload 0
getfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
aload 1
getfield java.lang.AssertionStatusDirectives.classes:[Ljava/lang/String;
iload 2
aaload
6: aload 1
getfield java.lang.AssertionStatusDirectives.classEnabled:[Z
iload 2
baload
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
7: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
aload 1
getfield java.lang.AssertionStatusDirectives.classes:[Ljava/lang/String;
arraylength
if_icmplt 5
end local 2 10: iconst_0
istore 2
start local 2 11: goto 16
12: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
aload 1
getfield java.lang.AssertionStatusDirectives.packages:[Ljava/lang/String;
iload 2
aaload
13: aload 1
getfield java.lang.AssertionStatusDirectives.packageEnabled:[Z
iload 2
baload
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
14: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: iinc 2 1
StackMap locals:
StackMap stack:
16: iload 2
aload 1
getfield java.lang.AssertionStatusDirectives.packages:[Ljava/lang/String;
arraylength
if_icmplt 12
end local 2 17: aload 0
aload 1
getfield java.lang.AssertionStatusDirectives.deflt:Z
putfield java.lang.ClassLoader.defaultAssertionStatus:Z
18: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ljava/lang/ClassLoader;
3 19 1 directives Ljava/lang/AssertionStatusDirectives;
4 10 2 i I
11 17 2 i I
private static native java.lang.AssertionStatusDirectives retrieveDirectives();
descriptor: ()Ljava/lang/AssertionStatusDirectives;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
}
SourceFile: "ClassLoader.java"
NestMembers:
java.lang.ClassLoader$1 java.lang.ClassLoader$2 java.lang.ClassLoader$3 java.lang.ClassLoader$NativeLibrary java.lang.ClassLoader$ParallelLoaders
InnerClasses:
java.lang.ClassLoader$1
java.lang.ClassLoader$2
java.lang.ClassLoader$3
NativeLibrary = java.lang.ClassLoader$NativeLibrary of java.lang.ClassLoader
private ParallelLoaders = java.lang.ClassLoader$ParallelLoaders of java.lang.ClassLoader