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.String name;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Module unnamedModule;
descriptor: Ljava/lang/Module;
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.concurrent.ConcurrentHashMap<java.lang.String, java.lang.NamedPackage> packages;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Ljava/lang/NamedPackage;>;
private static volatile java.lang.ClassLoader scl;
descriptor: Ljava/lang/ClassLoader;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
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;>;
private volatile java.util.concurrent.ConcurrentHashMap<?, ?> classLoaderValueMap;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/util/concurrent/ConcurrentHashMap<**>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Ljava/lang/ClassLoader;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic java.lang.ClassLoader.$assertionsDisabled:Z
3: invokestatic java.lang.ClassLoader.registerNatives:()V
4: iconst_0
anewarray java.security.cert.Certificate
putstatic java.lang.ClassLoader.nocerts:[Ljava/security/cert/Certificate;
5: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putstatic java.lang.ClassLoader.loadedLibraryNames:Ljava/util/Vector;
6: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
7: putstatic java.lang.ClassLoader.systemNativeLibraries:Ljava/util/Vector;
8: new java.util.Stack
dup
invokespecial java.util.Stack.<init>:()V
putstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
9: 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<*>;
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
c
private java.lang.NamedPackage getNamedPackage(java.lang.String, java.lang.Module);
descriptor: (Ljava/lang/String;Ljava/lang/Module;)Ljava/lang/NamedPackage;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield java.lang.ClassLoader.packages:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.NamedPackage
astore 3
start local 3 1: aload 3
ifnonnull 7
2: new java.lang.NamedPackage
dup
aload 1
aload 2
invokespecial java.lang.NamedPackage.<init>:(Ljava/lang/String;Ljava/lang/Module;)V
astore 3
3: aload 0
getfield java.lang.ClassLoader.packages:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
aload 3
invokevirtual java.util.concurrent.ConcurrentHashMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.NamedPackage
astore 4
start local 4 4: aload 4
ifnull 7
5: aload 4
astore 3
6: getstatic java.lang.ClassLoader.$assertionsDisabled:Z
ifne 7
aload 4
invokevirtual java.lang.NamedPackage.module:()Ljava/lang/Module;
aload 2
if_acmpeq 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 4 7: StackMap locals: java.lang.NamedPackage
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/lang/ClassLoader;
0 8 1 pn Ljava/lang/String;
0 8 2 m Ljava/lang/Module;
1 8 3 p Ljava/lang/NamedPackage;
4 7 4 value Ljava/lang/NamedPackage;
MethodParameters:
Name Flags
pn
m
private static java.lang.Void checkCreateClassLoader();
descriptor: ()Ljava/lang/Void;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: aconst_null
invokestatic java.lang.ClassLoader.checkCreateClassLoader:(Ljava/lang/String;)Ljava/lang/Void;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.Void checkCreateClassLoader(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Void;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
ifnull 2
aload 0
invokevirtual java.lang.String.isEmpty:()Z
ifeq 2
1: new java.lang.IllegalArgumentException
dup
ldc "name must be non-empty or null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
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 1
invokevirtual java.lang.SecurityManager.checkCreateClassLoader:()V
5: StackMap locals: java.lang.SecurityManager
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 name Ljava/lang/String;
3 6 1 security Ljava/lang/SecurityManager;
MethodParameters:
Name Flags
name
private void <init>(java.lang.Void, java.lang.String, java.lang.ClassLoader);
descriptor: (Ljava/lang/Void;Ljava/lang/String;Ljava/lang/ClassLoader;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield java.lang.ClassLoader.classes:Ljava/util/Vector;
2: aload 0
3: 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
4: aconst_null
aload 0
aconst_null
5: 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;
6: aload 0
7: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield java.lang.ClassLoader.packages:Ljava/util/concurrent/ConcurrentHashMap;
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.name:Ljava/lang/String;
13: aload 0
aload 3
putfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
14: aload 0
new java.lang.Module
dup
aload 0
invokespecial java.lang.Module.<init>:(Ljava/lang/ClassLoader;)V
putfield java.lang.ClassLoader.unnamedModule:Ljava/lang/Module;
15: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic java.lang.ClassLoader$ParallelLoaders.isRegistered:(Ljava/lang/Class;)Z
ifeq 20
16: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield java.lang.ClassLoader.parallelLockMap:Ljava/util/concurrent/ConcurrentHashMap;
17: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield java.lang.ClassLoader.package2certs:Ljava/util/Map;
18: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield java.lang.ClassLoader.assertionLock:Ljava/lang/Object;
19: goto 23
20: StackMap locals: java.lang.ClassLoader java.lang.Void java.lang.String java.lang.ClassLoader
StackMap stack:
aload 0
aconst_null
putfield java.lang.ClassLoader.parallelLockMap:Ljava/util/concurrent/ConcurrentHashMap;
21: aload 0
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield java.lang.ClassLoader.package2certs:Ljava/util/Map;
22: aload 0
aload 0
putfield java.lang.ClassLoader.assertionLock:Ljava/lang/Object;
23: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljava/lang/ClassLoader;
0 24 1 unused Ljava/lang/Void;
0 24 2 name Ljava/lang/String;
0 24 3 parent Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
unused
name
parent
protected void <init>(java.lang.String, java.lang.ClassLoader);
descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokestatic java.lang.ClassLoader.checkCreateClassLoader:(Ljava/lang/String;)Ljava/lang/Void;
aload 1
aload 2
invokespecial java.lang.ClassLoader.<init>:(Ljava/lang/Void;Ljava/lang/String;Ljava/lang/ClassLoader;)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 name Ljava/lang/String;
0 2 2 parent Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
name
parent
protected void <init>(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic java.lang.ClassLoader.checkCreateClassLoader:()Ljava/lang/Void;
aconst_null
aload 1
invokespecial java.lang.ClassLoader.<init>:(Ljava/lang/Void;Ljava/lang/String;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=4, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.lang.ClassLoader.checkCreateClassLoader:()Ljava/lang/Void;
aconst_null
invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
invokespecial java.lang.ClassLoader.<init>:(Ljava/lang/Void;Ljava/lang/String;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.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.ClassLoader.name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/ClassLoader;
final java.lang.String name();
descriptor: ()Ljava/lang/String;
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.ClassLoader.name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 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 jdk.internal.perf.PerfCounter.getParentDelegationTime:()Ljdk/internal/perf/PerfCounter;
lload 7
lload 5
lsub
invokevirtual jdk.internal.perf.PerfCounter.addTime:(J)V
14: invokestatic jdk.internal.perf.PerfCounter.getFindClassTime:()Ljdk/internal/perf/PerfCounter;
lload 7
invokevirtual jdk.internal.perf.PerfCounter.addElapsedTimeFrom:(J)V
15: invokestatic jdk.internal.perf.PerfCounter.getFindClasses:()Ljdk/internal/perf/PerfCounter;
invokevirtual jdk.internal.perf.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
final java.lang.Class<?> loadClass(java.lang.Module, java.lang.String);
descriptor: (Ljava/lang/Module;Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual java.lang.ClassLoader.getClassLoadingLock:(Ljava/lang/String;)Ljava/lang/Object;
dup
astore 3
monitorenter
1: aload 0
aload 2
invokevirtual java.lang.ClassLoader.findLoadedClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 4
start local 4 2: aload 4
ifnonnull 4
3: aload 0
aload 1
invokevirtual java.lang.Module.getName:()Ljava/lang/String;
aload 2
invokevirtual java.lang.ClassLoader.findClass:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Class;
astore 4
4: StackMap locals: java.lang.Object java.lang.Class
StackMap stack:
aload 4
ifnull 7
aload 4
invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
aload 1
if_acmpne 7
5: aload 4
aload 3
monitorexit
6: areturn
7: StackMap locals:
StackMap stack:
aload 3
monitorexit
8: aconst_null
areturn
end local 4 9: StackMap locals: java.lang.ClassLoader java.lang.Module java.lang.String java.lang.Object
StackMap stack: java.lang.Throwable
aload 3
monitorexit
10: athrow
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 module Ljava/lang/Module;
0 11 2 name Ljava/lang/String;
2 9 4 c Ljava/lang/Class<*>;
Exception table:
from to target type
1 6 9 any
7 8 9 any
9 10 9 any
Signature: (Ljava/lang/Module;Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
module
name
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
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
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:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/lang/ClassLoader;
0 16 1 cls Ljava/lang/Class<*>;
0 16 2 pd Ljava/security/ProtectionDomain;
1 16 3 sm Ljava/lang/SecurityManager;
5 6 4 intf Ljava/lang/Class<*>;
10 15 4 name Ljava/lang/String;
11 15 5 i I
Signature: (Ljava/lang/Class<*>;Ljava/security/ProtectionDomain;)V
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 java.lang.Class<?> findClass(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 4
1: aload 0
aload 2
invokevirtual java.lang.ClassLoader.findClass:(Ljava/lang/String;)Ljava/lang/Class;
2: areturn
3: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
pop
4: StackMap locals:
StackMap stack:
aconst_null
areturn
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 moduleName Ljava/lang/String;
0 5 2 name Ljava/lang/String;
Exception table:
from to target type
1 2 3 Class java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
moduleName
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(since = "1.1")
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 9
aload 1
ldc "java."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 9
3: aload 0
invokestatic java.lang.ClassLoader.getBuiltinPlatformClassLoader:()Ljava/lang/ClassLoader;
if_acmpeq 9
4: new java.lang.SecurityException
dup
5: new java.lang.StringBuilder
dup
ldc "Prohibited package name: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: 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;
7: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 2
ifnonnull 11
10: aload 0
getfield java.lang.ClassLoader.defaultDomain:Ljava/security/ProtectionDomain;
astore 2
11: StackMap locals:
StackMap stack:
aload 1
ifnull 13
12: 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
13: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/lang/ClassLoader;
0 14 1 name Ljava/lang/String;
0 14 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 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 0
aload 1
invokevirtual java.lang.Class.getPackageName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
invokevirtual java.lang.ClassLoader.getNamedPackage:(Ljava/lang/String;Ljava/lang/Module;)Ljava/lang/NamedPackage;
pop
1: aload 2
invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
ifnull 5
2: aload 2
invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
astore 3
start local 3 3: aload 3
ifnull 5
4: aload 0
aload 1
aload 3
invokevirtual java.lang.ClassLoader.setSigners:(Ljava/lang/Class;[Ljava/lang/Object;)V
end local 3 5: StackMap locals:
StackMap stack:
return
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 c Ljava/lang/Class<*>;
0 6 2 pd Ljava/security/ProtectionDomain;
3 5 3 certs [Ljava/security/cert/Certificate;
Signature: (Ljava/lang/Class<*>;Ljava/security/ProtectionDomain;)V
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=7, locals=8, 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: aload 0
aload 5
invokevirtual java.lang.ClassLoader.defineClassSourceLocation:(Ljava/security/ProtectionDomain;)Ljava/lang/String;
astore 6
start local 6 2: aload 0
aload 1
aload 2
iload 3
iload 4
aload 5
aload 6
invokestatic java.lang.ClassLoader.defineClass1:(Ljava/lang/ClassLoader;Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;
astore 7
start local 7 3: aload 0
aload 7
aload 5
invokevirtual java.lang.ClassLoader.postDefineClass:(Ljava/lang/Class;Ljava/security/ProtectionDomain;)V
4: 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 5 0 this Ljava/lang/ClassLoader;
0 5 1 name Ljava/lang/String;
0 5 2 b [B
0 5 3 off I
0 5 4 len I
0 5 5 protectionDomain Ljava/security/ProtectionDomain;
2 5 6 source Ljava/lang/String;
3 5 7 c Ljava/lang/Class<*>;
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=7, locals=7, 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: aload 0
aload 3
invokevirtual java.lang.ClassLoader.defineClassSourceLocation:(Ljava/security/ProtectionDomain;)Ljava/lang/String;
astore 5
start local 5 12: aload 0
aload 1
aload 2
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
iload 4
aload 3
aload 5
invokestatic java.lang.ClassLoader.defineClass2:(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/nio/ByteBuffer;IILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;
astore 6
start local 6 13: aload 0
aload 6
aload 3
invokevirtual java.lang.ClassLoader.postDefineClass:(Ljava/lang/Class;Ljava/security/ProtectionDomain;)V
14: aload 6
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 15 0 this Ljava/lang/ClassLoader;
0 15 1 name Ljava/lang/String;
0 15 2 b Ljava/nio/ByteBuffer;
0 15 3 protectionDomain Ljava/security/ProtectionDomain;
1 15 4 len I
8 10 5 tb [B
12 15 5 source Ljava/lang/String;
13 15 6 c Ljava/lang/Class<*>;
Exceptions:
throws java.lang.ClassFormatError
Signature: (Ljava/lang/String;Ljava/nio/ByteBuffer;Ljava/security/ProtectionDomain;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
b
protectionDomain
static native java.lang.Class<?> defineClass1(java.lang.ClassLoader, java.lang.String, byte[], int, int, java.security.ProtectionDomain, java.lang.String);
descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0108) ACC_STATIC, ACC_NATIVE
Signature: (Ljava/lang/ClassLoader;Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
loader
name
b
off
len
pd
source
static native java.lang.Class<?> defineClass2(java.lang.ClassLoader, java.lang.String, java.nio.ByteBuffer, int, int, java.security.ProtectionDomain, java.lang.String);
descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/nio/ByteBuffer;IILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0108) ACC_STATIC, ACC_NATIVE
Signature: (Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/nio/ByteBuffer;IILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
loader
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 3
aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpne 4
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/ClassLoader;
0 5 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 29
aload 0
aload 6
aload 5
invokevirtual java.lang.ClassLoader.compareCerts:([Ljava/security/cert/Certificate;[Ljava/security/cert/Certificate;)Z
ifne 29
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"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
27: ldc " 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;
28: invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
29: 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 30 0 this Ljava/lang/ClassLoader;
0 30 1 name Ljava/lang/String;
0 30 2 cs Ljava/security/CodeSource;
1 30 3 i I
4 30 4 pname Ljava/lang/String;
5 30 5 certs [Ljava/security/cert/Certificate;
8 30 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=2, locals=12, 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:
aload 2
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 17
StackMap locals: java.lang.ClassLoader java.security.cert.Certificate[] java.security.cert.Certificate[] top top int int java.security.cert.Certificate[]
StackMap stack:
6: aload 7
iload 5
aaload
astore 4
start local 4 7: iconst_0
istore 3
start local 3 8: aload 1
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 14
StackMap locals: java.lang.ClassLoader java.security.cert.Certificate[] java.security.cert.Certificate[] int java.security.cert.Certificate int int java.security.cert.Certificate[] top int int java.security.cert.Certificate[]
StackMap stack:
9: aload 11
iload 9
aaload
astore 8
start local 8 10: aload 4
aload 8
invokevirtual java.security.cert.Certificate.equals:(Ljava/lang/Object;)Z
ifeq 13
11: iconst_1
istore 3
12: goto 15
end local 8 13: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
14: iload 9
iload 10
if_icmplt 9
15: StackMap locals: java.lang.ClassLoader java.security.cert.Certificate[] java.security.cert.Certificate[] int java.security.cert.Certificate int int java.security.cert.Certificate[]
StackMap stack:
iload 3
ifne 16
iconst_0
ireturn
end local 4 end local 3 16: StackMap locals: java.lang.ClassLoader java.security.cert.Certificate[] java.security.cert.Certificate[] top top int int java.security.cert.Certificate[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
17: iload 5
iload 6
if_icmplt 6
18: aload 1
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 30
StackMap locals:
StackMap stack:
19: aload 7
iload 5
aaload
astore 4
start local 4 20: iconst_0
istore 3
start local 3 21: aload 2
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 27
StackMap locals: java.lang.ClassLoader java.security.cert.Certificate[] java.security.cert.Certificate[] int java.security.cert.Certificate int int java.security.cert.Certificate[] top int int java.security.cert.Certificate[]
StackMap stack:
22: aload 11
iload 9
aaload
astore 8
start local 8 23: aload 4
aload 8
invokevirtual java.security.cert.Certificate.equals:(Ljava/lang/Object;)Z
ifeq 26
24: iconst_1
istore 3
25: goto 28
end local 8 26: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
27: iload 9
iload 10
if_icmplt 22
28: StackMap locals: java.lang.ClassLoader java.security.cert.Certificate[] java.security.cert.Certificate[] int java.security.cert.Certificate int int java.security.cert.Certificate[]
StackMap stack:
iload 3
ifne 29
iconst_0
ireturn
end local 4 end local 3 29: StackMap locals: java.lang.ClassLoader java.security.cert.Certificate[] java.security.cert.Certificate[] top top int int java.security.cert.Certificate[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
30: iload 5
iload 6
if_icmplt 19
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 16 3 match Z
21 29 3 match Z
7 16 4 cert Ljava/security/cert/Certificate;
10 13 8 pcert Ljava/security/cert/Certificate;
20 29 4 pcert Ljava/security/cert/Certificate;
23 26 8 cert Ljava/security/cert/Certificate;
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 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/ClassLoader;
0 3 1 c Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)V
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=2, locals=2, args_size=2
start local 0 start local 1 0: invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
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 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
java.lang.Class<?> findBootstrapClassOrNull(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0000)
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;
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
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
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
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
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
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
protected java.net.URL findResource(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/net/URL;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: aload 0
aload 2
invokevirtual java.lang.ClassLoader.findResource:(Ljava/lang/String;)Ljava/net/URL;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/ClassLoader;
0 3 1 moduleName Ljava/lang/String;
0 3 2 name Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
moduleName
name
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 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
ifnull 4
2: 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 3: goto 5
end local 2 4: StackMap locals:
StackMap stack:
aload 1
invokestatic jdk.internal.loader.BootLoader.findResource:(Ljava/lang/String;)Ljava/net/URL;
astore 2
start local 2 5: StackMap locals: java.net.URL
StackMap stack:
aload 2
ifnonnull 7
6: aload 0
aload 1
invokevirtual java.lang.ClassLoader.findResource:(Ljava/lang/String;)Ljava/net/URL;
astore 2
7: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/lang/ClassLoader;
0 8 1 name Ljava/lang/String;
3 4 2 url Ljava/net/URL;
5 8 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: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: iconst_2
anewarray java.util.Enumeration
astore 2
start local 2 2: aload 0
getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
ifnull 5
3: 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
4: goto 6
5: StackMap locals: java.util.Enumeration[]
StackMap stack:
aload 2
iconst_0
aload 1
invokestatic jdk.internal.loader.BootLoader.findResources:(Ljava/lang/String;)Ljava/util/Enumeration;
aastore
6: StackMap locals:
StackMap stack:
aload 2
iconst_1
aload 0
aload 1
invokevirtual java.lang.ClassLoader.findResources:(Ljava/lang/String;)Ljava/util/Enumeration;
aastore
7: new java.lang.CompoundEnumeration
dup
aload 2
invokespecial java.lang.CompoundEnumeration.<init>:([Ljava/util/Enumeration;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/lang/ClassLoader;
0 8 1 name Ljava/lang/String;
2 8 2 tmp [Ljava/util/Enumeration;
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/String;)Ljava/util/Enumeration<Ljava/net/URL;>;
MethodParameters:
Name Flags
name
public java.util.stream.Stream<java.net.URL> resources(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/stream/Stream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: sipush 1280
istore 2
start local 2 2: aload 0
aload 1
iload 2
invokedynamic get(Ljava/lang/ClassLoader;Ljava/lang/String;I)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
java/lang/ClassLoader.lambda$0(Ljava/lang/String;I)Ljava/util/Spliterator; (7)
()Ljava/util/Spliterator;
astore 3
start local 3 3: aload 3
iload 2
iconst_0
invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/function/Supplier;IZ)Ljava/util/stream/Stream;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/ClassLoader;
0 4 1 name Ljava/lang/String;
2 4 2 characteristics I
3 4 3 si Ljava/util/function/Supplier<Ljava/util/Spliterator<Ljava/net/URL;>;>;
Signature: (Ljava/lang/String;)Ljava/util/stream/Stream<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 jdk.internal.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:
jdk.internal.reflect.CallerSensitive()
public final boolean isRegisteredAsParallelCapable();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic java.lang.ClassLoader$ParallelLoaders.isRegistered:(Ljava/lang/Class;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/ClassLoader;
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=1, args_size=1
start local 0 0: invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
aload 0
invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 name Ljava/lang/String;
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=1, args_size=1
start local 0 0: invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
aload 0
invokevirtual java.lang.ClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 name Ljava/lang/String;
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/String;)Ljava/util/Enumeration<Ljava/net/URL;>;
MethodParameters:
Name Flags
name
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 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
aload 1
invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
astore 2
start local 2 2: aload 2
ifnull 3
aload 2
invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
goto 4
StackMap locals: java.net.URL
StackMap stack:
3: aconst_null
StackMap locals:
StackMap stack: java.io.InputStream
4: areturn
5: StackMap locals:
StackMap stack: java.io.IOException
pop
6: aconst_null
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 7 2 url Ljava/net/URL;
Exception table:
from to target type
2 4 5 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 jdk.internal.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:
jdk.internal.reflect.CallerSensitive()
public final java.lang.Module getUnnamedModule();
descriptor: ()Ljava/lang/Module;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.ClassLoader.unnamedModule:Ljava/lang/Module;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/ClassLoader;
public static java.lang.ClassLoader getPlatformClassLoader();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=0
0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 0
start local 0 1: invokestatic java.lang.ClassLoader.getBuiltinPlatformClassLoader:()Ljava/lang/ClassLoader;
astore 1
start local 1 2: aload 0
ifnull 4
3: aload 1
invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
invokestatic java.lang.ClassLoader.checkClassLoaderPermission:(Ljava/lang/ClassLoader;Ljava/lang/Class;)V
4: StackMap locals: java.lang.SecurityManager java.lang.ClassLoader
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 5 0 sm Ljava/lang/SecurityManager;
2 5 1 loader Ljava/lang/ClassLoader;
RuntimeVisibleAnnotations:
jdk.internal.reflect.CallerSensitive()
public static java.lang.ClassLoader getSystemClassLoader();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=0
0: invokestatic jdk.internal.misc.VM.initLevel:()I
tableswitch { // 0 - 4
0: 1
1: 1
2: 1
3: 2
4: 4
default: 10
}
1: StackMap locals:
StackMap stack:
invokestatic java.lang.ClassLoader.getBuiltinAppClassLoader:()Ljava/lang/ClassLoader;
areturn
2: StackMap locals:
StackMap stack:
ldc "getSystemClassLoader should only be called after VM booted"
astore 0
start local 0 3: new java.lang.InternalError
dup
aload 0
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
end local 0 4: StackMap locals:
StackMap stack:
getstatic java.lang.ClassLoader.$assertionsDisabled:Z
ifne 6
invokestatic jdk.internal.misc.VM.isBooted:()Z
ifeq 5
getstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
ifnonnull 6
StackMap locals:
StackMap stack:
5: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 7: aload 1
ifnull 9
8: getstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
invokestatic java.lang.ClassLoader.checkClassLoaderPermission:(Ljava/lang/ClassLoader;Ljava/lang/Class;)V
9: StackMap locals: top java.lang.SecurityManager
StackMap stack:
getstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
areturn
end local 1 10: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
ldc "should not reach here"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
3 4 0 msg Ljava/lang/String;
7 10 1 sm Ljava/lang/SecurityManager;
RuntimeVisibleAnnotations:
jdk.internal.reflect.CallerSensitive()
static java.lang.ClassLoader getBuiltinPlatformClassLoader();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic jdk.internal.loader.ClassLoaders.platformClassLoader:()Ljava/lang/ClassLoader;
areturn
LocalVariableTable:
Start End Slot Name Signature
static java.lang.ClassLoader getBuiltinAppClassLoader();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic jdk.internal.loader.ClassLoaders.appClassLoader:()Ljava/lang/ClassLoader;
areturn
LocalVariableTable:
Start End Slot Name Signature
static synchronized java.lang.ClassLoader initSystemClassLoader();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x0028) ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=3, args_size=0
0: invokestatic jdk.internal.misc.VM.initLevel:()I
iconst_3
if_icmpeq 4
1: new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "system class loader cannot be set at initLevel "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: invokestatic jdk.internal.misc.VM.initLevel:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
getstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
ifnull 6
5: new java.lang.IllegalStateException
dup
ldc "recursive invocation"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
invokestatic java.lang.ClassLoader.getBuiltinAppClassLoader:()Ljava/lang/ClassLoader;
astore 0
start local 0 7: ldc "java.system.class.loader"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 8: aload 1
ifnull 16
9: aload 1
iconst_0
aload 0
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
iconst_1
anewarray java.lang.Class
dup
iconst_0
10: ldc Ljava/lang/ClassLoader;
aastore
invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
11: astore 2
start local 2 12: aload 2
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ClassLoader
putstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
end local 2 13: goto 17
StackMap locals: java.lang.ClassLoader java.lang.String
StackMap stack: java.lang.Exception
14: astore 2
start local 2 15: new java.lang.Error
dup
aload 2
invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 16: StackMap locals:
StackMap stack:
aload 0
putstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
17: StackMap locals:
StackMap stack:
getstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
7 18 0 builtinLoader Ljava/lang/ClassLoader;
8 18 1 cn Ljava/lang/String;
12 13 2 ctor Ljava/lang/reflect/Constructor<*>;
15 16 2 e Ljava/lang/Exception;
Exception table:
from to target type
9 13 14 Class java.lang.Exception
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
java.lang.Package definePackage(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Package;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Class.isPrimitive:()Z
ifne 1
aload 1
invokevirtual java.lang.Class.isArray:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.Class.getPackageName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
invokevirtual java.lang.ClassLoader.definePackage:(Ljava/lang/String;Ljava/lang/Module;)Ljava/lang/Package;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/ClassLoader;
0 3 1 c Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/Package;
MethodParameters:
Name Flags
c
java.lang.Package definePackage(java.lang.String, java.lang.Module);
descriptor: (Ljava/lang/String;Ljava/lang/Module;)Ljava/lang/Package;
flags: (0x0000)
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.String.isEmpty:()Z
ifeq 2
aload 2
invokevirtual java.lang.Module.isNamed:()Z
ifeq 2
1: new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "unnamed package in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.ClassLoader.packages:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.NamedPackage
astore 3
start local 3 3: aload 3
instanceof java.lang.Package
ifeq 5
4: aload 3
checkcast java.lang.Package
areturn
5: StackMap locals: java.lang.NamedPackage
StackMap stack:
aload 0
getfield java.lang.ClassLoader.packages:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
aload 0
aload 2
invokedynamic apply(Ljava/lang/ClassLoader;Ljava/lang/Module;)Ljava/util/function/BiFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
java/lang/ClassLoader.lambda$1(Ljava/lang/Module;Ljava/lang/String;Ljava/lang/NamedPackage;)Ljava/lang/NamedPackage; (7)
(Ljava/lang/String;Ljava/lang/NamedPackage;)Ljava/lang/NamedPackage;
invokevirtual java.util.concurrent.ConcurrentHashMap.compute:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
checkcast java.lang.Package
areturn
end local 3 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;
0 6 2 m Ljava/lang/Module;
3 6 3 pkg Ljava/lang/NamedPackage;
MethodParameters:
Name Flags
name
m
private java.lang.Package toPackage(java.lang.String, java.lang.NamedPackage, java.lang.Module);
descriptor: (Ljava/lang/String;Ljava/lang/NamedPackage;Ljava/lang/Module;)Ljava/lang/Package;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnonnull 2
1: aload 1
aload 3
invokestatic java.lang.NamedPackage.toPackage:(Ljava/lang/String;Ljava/lang/Module;)Ljava/lang/Package;
areturn
2: StackMap locals:
StackMap stack:
aload 2
instanceof java.lang.Package
ifeq 4
3: aload 2
checkcast java.lang.Package
areturn
4: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.NamedPackage.packageName:()Ljava/lang/String;
aload 2
invokevirtual java.lang.NamedPackage.module:()Ljava/lang/Module;
invokestatic java.lang.NamedPackage.toPackage:(Ljava/lang/String;Ljava/lang/Module;)Ljava/lang/Package;
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 name Ljava/lang/String;
0 5 2 p Ljava/lang/NamedPackage;
0 5 3 m Ljava/lang/Module;
MethodParameters:
Name Flags
name
p
m
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=10, 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 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: new java.lang.Package
dup
aload 1
aload 2
aload 3
aload 4
2: aload 5
aload 6
aload 7
3: aload 8
aload 0
4: 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 9
start local 9 5: aload 0
getfield java.lang.ClassLoader.packages:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
aload 9
invokevirtual java.util.concurrent.ConcurrentHashMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
ifnull 7
6: new java.lang.IllegalArgumentException
dup
aload 1
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: java.lang.Package
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 8 0 this Ljava/lang/ClassLoader;
0 8 1 name Ljava/lang/String;
0 8 2 specTitle Ljava/lang/String;
0 8 3 specVersion Ljava/lang/String;
0 8 4 specVendor Ljava/lang/String;
0 8 5 implTitle Ljava/lang/String;
0 8 6 implVersion Ljava/lang/String;
0 8 7 implVendor Ljava/lang/String;
0 8 8 sealBase Ljava/net/URL;
5 8 9 p Ljava/lang/Package;
MethodParameters:
Name Flags
name
specTitle
specVersion
specVendor
implTitle
implVersion
implVendor
sealBase
public final java.lang.Package getDefinedPackage(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Package;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ldc "name cannot be null"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
getfield java.lang.ClassLoader.packages:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.NamedPackage
astore 2
start local 2 2: aload 2
ifnonnull 4
3: aconst_null
areturn
4: StackMap locals: java.lang.NamedPackage
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual java.lang.NamedPackage.module:()Ljava/lang/Module;
invokevirtual java.lang.ClassLoader.definePackage:(Ljava/lang/String;Ljava/lang/Module;)Ljava/lang/Package;
areturn
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 name Ljava/lang/String;
2 5 2 p Ljava/lang/NamedPackage;
MethodParameters:
Name Flags
name
public final java.lang.Package[] getDefinedPackages();
descriptor: ()[Ljava/lang/Package;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.ClassLoader.packages:()Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/IntFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(I)Ljava/lang/Object;
java/lang/ClassLoader.lambda$2(I)[Ljava/lang/Package; (6)
(I)[Ljava/lang/Package;
invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
checkcast java.lang.Package[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/ClassLoader;
protected java.lang.Package getPackage(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Package;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.ClassLoader.getDefinedPackage:(Ljava/lang/String;)Ljava/lang/Package;
astore 2
start local 2 1: aload 2
ifnonnull 6
2: aload 0
getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
ifnull 5
3: 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
4: goto 6
5: StackMap locals: java.lang.Package
StackMap stack:
aload 1
invokestatic jdk.internal.loader.BootLoader.getDefinedPackage:(Ljava/lang/String;)Ljava/lang/Package;
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;
1 7 2 pkg Ljava/lang/Package;
RuntimeVisibleAnnotations:
java.lang.Deprecated(since = "9")
MethodParameters:
Name Flags
name
protected java.lang.Package[] getPackages();
descriptor: ()[Ljava/lang/Package;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.ClassLoader.packages:()Ljava/util/stream/Stream;
astore 1
start local 1 1: aload 0
getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
astore 2
start local 2 2: goto 5
3: StackMap locals: java.util.stream.Stream java.lang.ClassLoader
StackMap stack:
aload 2
invokevirtual java.lang.ClassLoader.packages:()Ljava/util/stream/Stream;
aload 1
invokestatic java.util.stream.Stream.concat:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
astore 1
4: aload 2
getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
astore 2
5: StackMap locals:
StackMap stack:
aload 2
ifnonnull 3
6: invokestatic jdk.internal.loader.BootLoader.packages:()Ljava/util/stream/Stream;
aload 1
invokestatic java.util.stream.Stream.concat:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
7: invokedynamic apply()Ljava/util/function/IntFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(I)Ljava/lang/Object;
java/lang/ClassLoader.lambda$2(I)[Ljava/lang/Package; (6)
(I)[Ljava/lang/Package;
invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
checkcast java.lang.Package[]
8: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/lang/ClassLoader;
1 9 1 pkgs Ljava/util/stream/Stream<Ljava/lang/Package;>;
2 9 2 ld Ljava/lang/ClassLoader;
java.util.stream.Stream<java.lang.Package> packages();
descriptor: ()Ljava/util/stream/Stream;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.ClassLoader.packages:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
1: aload 0
invokedynamic apply(Ljava/lang/ClassLoader;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/lang/ClassLoader.lambda$4(Ljava/lang/NamedPackage;)Ljava/lang/Package; (7)
(Ljava/lang/NamedPackage;)Ljava/lang/Package;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/ClassLoader;
Signature: ()Ljava/util/stream/Stream<Ljava/lang/Package;>;
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=9, 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: aload 1
invokevirtual java.lang.String.length:()I
istore 2
start local 2 2: getstatic java.io.File.pathSeparatorChar:C
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: aload 1
iload 3
invokevirtual java.lang.String.indexOf:(I)I
istore 5
start local 5 5: goto 8
6: StackMap locals: java.lang.String java.lang.String int int int int
StackMap stack:
iinc 4 1
7: aload 1
iload 3
iload 5
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 5
8: StackMap locals:
StackMap stack:
iload 5
ifge 6
end local 5 9: iload 4
iconst_1
iadd
anewarray java.lang.String
astore 5
start local 5 10: iconst_0
istore 6
start local 6 11: iconst_0
istore 7
start local 7 12: goto 20
13: StackMap locals: java.lang.String java.lang.String int int int java.lang.String[] int int
StackMap stack:
aload 1
iload 3
iload 6
invokevirtual java.lang.String.indexOf:(II)I
istore 8
start local 8 14: aload 5
iload 7
iload 6
iload 8
if_icmpge 16
15: aload 1
iload 6
iload 8
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
goto 17
StackMap locals: java.lang.String java.lang.String int int int java.lang.String[] int int int
StackMap stack: java.lang.String[] int
16: ldc "."
17: StackMap locals: java.lang.String java.lang.String int int int java.lang.String[] int int int
StackMap stack: java.lang.String[] int java.lang.String
aastore
18: iload 8
iconst_1
iadd
istore 6
end local 8 19: iinc 7 1
StackMap locals:
StackMap stack:
20: iload 7
iload 4
if_icmplt 13
end local 7 21: aload 5
iload 4
iload 6
iload 2
if_icmpge 23
22: aload 1
iload 6
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
goto 24
StackMap locals: java.lang.String java.lang.String int int int java.lang.String[] int
StackMap stack: java.lang.String[] int
23: ldc "."
24: StackMap locals: java.lang.String java.lang.String int int int java.lang.String[] int
StackMap stack: java.lang.String[] int java.lang.String
aastore
25: 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 26 0 propName Ljava/lang/String;
1 26 1 ldPath Ljava/lang/String;
2 26 2 ldLen I
3 26 3 ps C
4 26 4 psCount I
5 9 5 i I
10 26 5 paths [Ljava/lang/String;
11 26 6 pathStart I
12 21 7 j I
14 19 8 pathEnd I
MethodParameters:
Name Flags
propName
static void loadLibrary(java.lang.Class<?>, java.lang.String, );
descriptor: (Ljava/lang/Class;Ljava/lang/String;Z)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=9, 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:
getstatic java.lang.ClassLoader.sys_paths:[Ljava/lang/String;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 30
StackMap locals: java.lang.Class java.lang.String int java.lang.ClassLoader top int int java.lang.String[]
StackMap stack:
22: aload 7
iload 5
aaload
astore 4
start local 4 23: new java.io.File
dup
aload 4
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 8
start local 8 24: aload 0
aload 8
invokestatic java.lang.ClassLoader.loadLibrary0:(Ljava/lang/Class;Ljava/io/File;)Z
ifeq 26
25: return
26: StackMap locals: java.lang.Class java.lang.String int java.lang.ClassLoader java.lang.String int int java.lang.String[] java.io.File
StackMap stack:
aload 8
invokestatic java.lang.ClassLoaderHelper.mapAlternativeName:(Ljava/io/File;)Ljava/io/File;
astore 8
27: aload 8
ifnull 29
aload 0
aload 8
invokestatic java.lang.ClassLoader.loadLibrary0:(Ljava/lang/Class;Ljava/io/File;)Z
ifeq 29
28: return
end local 8 end local 4 29: StackMap locals: java.lang.Class java.lang.String int java.lang.ClassLoader top int int java.lang.String[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
30: iload 5
iload 6
if_icmplt 22
31: aload 3
ifnull 42
32: getstatic java.lang.ClassLoader.usr_paths:[Ljava/lang/String;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 41
StackMap locals:
StackMap stack:
33: aload 7
iload 5
aaload
astore 4
start local 4 34: new java.io.File
dup
aload 4
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 8
start local 8 35: aload 0
aload 8
invokestatic java.lang.ClassLoader.loadLibrary0:(Ljava/lang/Class;Ljava/io/File;)Z
ifeq 37
36: return
37: StackMap locals: java.lang.Class java.lang.String int java.lang.ClassLoader java.lang.String int int java.lang.String[] java.io.File
StackMap stack:
aload 8
invokestatic java.lang.ClassLoaderHelper.mapAlternativeName:(Ljava/io/File;)Ljava/io/File;
astore 8
38: aload 8
ifnull 40
aload 0
aload 8
invokestatic java.lang.ClassLoader.loadLibrary0:(Ljava/lang/Class;Ljava/io/File;)Z
ifeq 40
39: return
end local 8 end local 4 40: StackMap locals: java.lang.Class java.lang.String int java.lang.ClassLoader top int int java.lang.String[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
41: iload 5
iload 6
if_icmplt 33
42: StackMap locals: java.lang.Class java.lang.String int java.lang.ClassLoader
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 43 0 fromClass Ljava/lang/Class<*>;
0 43 1 name Ljava/lang/String;
0 43 2 isAbsolute Z
3 43 3 loader Ljava/lang/ClassLoader;
12 21 4 libfilename Ljava/lang/String;
14 21 5 libfile Ljava/io/File;
23 29 4 sys_path Ljava/lang/String;
24 29 8 libfile Ljava/io/File;
34 40 4 usr_path Ljava/lang/String;
35 40 8 libfile Ljava/io/File;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Z)V
MethodParameters:
Name Flags
fromClass
name
isAbsolute
static native java.lang.String findBuiltinLib(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0108) ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
name
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=5, locals=12, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.File.getName:()Ljava/lang/String;
invokestatic java.lang.ClassLoader.findBuiltinLib:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnull 2
iconst_1
goto 3
StackMap locals: java.lang.String
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 3
start local 3 4: iload 3
ifne 9
5: new java.lang.ClassLoader$2
dup
aload 1
invokespecial java.lang.ClassLoader$2.<init>:(Ljava/io/File;)V
6: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
7: aload 2
ifnonnull 9
8: iconst_0
ireturn
9: StackMap locals: int
StackMap stack:
aload 0
ifnonnull 10
aconst_null
goto 11
StackMap locals:
StackMap stack:
10: aload 0
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
11: StackMap locals:
StackMap stack: java.lang.ClassLoader
astore 4
start local 4 12: aload 4
ifnull 13
aload 4
getfield java.lang.ClassLoader.nativeLibraries:Ljava/util/Vector;
goto 14
StackMap locals: java.lang.ClassLoader
StackMap stack:
13: getstatic java.lang.ClassLoader.systemNativeLibraries:Ljava/util/Vector;
14: StackMap locals:
StackMap stack: java.util.Vector
astore 5
start local 5 15: aload 5
dup
astore 6
monitorenter
16: aload 5
invokevirtual java.util.Vector.size:()I
istore 7
start local 7 17: iconst_0
istore 8
start local 8 18: goto 24
19: StackMap locals: java.lang.Class java.io.File java.lang.String int 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 20: aload 2
aload 9
getfield java.lang.ClassLoader$NativeLibrary.name:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
21: aload 6
monitorexit
22: iconst_1
ireturn
end local 9 23: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
24: iload 8
iload 7
if_icmplt 19
end local 8 25: getstatic java.lang.ClassLoader.loadedLibraryNames:Ljava/util/Vector;
dup
astore 8
monitorenter
26: getstatic java.lang.ClassLoader.loadedLibraryNames:Ljava/util/Vector;
aload 2
invokevirtual java.util.Vector.contains:(Ljava/lang/Object;)Z
ifeq 33
27: new java.lang.UnsatisfiedLinkError
dup
28: new java.lang.StringBuilder
dup
ldc "Native Library "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
29: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
30: ldc " already loaded in another classloader"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
31: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
32: invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
athrow
33: StackMap locals: java.lang.Class java.io.File java.lang.String int 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 34: iconst_0
istore 10
start local 10 35: goto 49
36: 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 37: aload 2
aload 11
getfield java.lang.ClassLoader$NativeLibrary.name:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 48
38: aload 4
aload 11
getfield java.lang.ClassLoader$NativeLibrary.fromClass:Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
if_acmpne 42
39: aload 8
monitorexit
40: aload 6
monitorexit
41: iconst_1
ireturn
42: StackMap locals: java.lang.ClassLoader$NativeLibrary
StackMap stack:
new java.lang.UnsatisfiedLinkError
dup
43: new java.lang.StringBuilder
dup
ldc "Native Library "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
44: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
45: ldc " is being loaded in another classloader"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
46: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
47: invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
athrow
end local 11 48: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
49: iload 10
iload 9
if_icmplt 36
end local 10 50: new java.lang.ClassLoader$NativeLibrary
dup
aload 0
aload 2
iload 3
invokespecial java.lang.ClassLoader$NativeLibrary.<init>:(Ljava/lang/Class;Ljava/lang/String;Z)V
astore 10
start local 10 51: getstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
aload 10
invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
pop
52: aload 10
aload 2
iload 3
invokevirtual java.lang.ClassLoader$NativeLibrary.load:(Ljava/lang/String;Z)V
53: goto 57
StackMap locals: java.lang.Class java.io.File java.lang.String int java.lang.ClassLoader java.util.Vector java.util.Vector int java.util.Vector int java.lang.ClassLoader$NativeLibrary
StackMap stack: java.lang.Throwable
54: astore 11
55: getstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
pop
56: aload 11
athrow
57: StackMap locals:
StackMap stack:
getstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
pop
58: aload 10
getfield java.lang.ClassLoader$NativeLibrary.loaded:Z
ifeq 64
59: getstatic java.lang.ClassLoader.loadedLibraryNames:Ljava/util/Vector;
aload 2
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
60: aload 5
aload 10
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
61: aload 8
monitorexit
62: aload 6
monitorexit
63: iconst_1
ireturn
64: StackMap locals:
StackMap stack:
aload 8
monitorexit
65: aload 6
monitorexit
66: iconst_0
ireturn
end local 10 end local 9 67: StackMap locals: java.lang.Class java.io.File java.lang.String int java.lang.ClassLoader java.util.Vector java.util.Vector int java.util.Vector
StackMap stack: java.lang.Throwable
aload 8
monitorexit
68: athrow
end local 7 69: StackMap locals: java.lang.Class java.io.File java.lang.String int java.lang.ClassLoader java.util.Vector java.util.Vector
StackMap stack: java.lang.Throwable
aload 6
monitorexit
70: 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 71 0 fromClass Ljava/lang/Class<*>;
0 71 1 file Ljava/io/File;
1 71 2 name Ljava/lang/String;
4 71 3 isBuiltin Z
12 71 4 loader Ljava/lang/ClassLoader;
15 71 5 libs Ljava/util/Vector<Ljava/lang/ClassLoader$NativeLibrary;>;
17 69 7 size I
18 25 8 i I
20 23 9 lib Ljava/lang/ClassLoader$NativeLibrary;
34 67 9 n I
35 50 10 i I
37 48 11 lib Ljava/lang/ClassLoader$NativeLibrary;
51 67 10 lib Ljava/lang/ClassLoader$NativeLibrary;
Exception table:
from to target type
52 54 54 any
26 40 67 any
42 62 67 any
64 65 67 any
67 68 67 any
16 22 69 any
23 41 69 any
42 63 69 any
64 66 69 any
67 70 69 any
Signature: (Ljava/lang/Class<*>;Ljava/io/File;)Z
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
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)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
bipush 46
iload 4
iconst_1
isub
invokevirtual java.lang.String.lastIndexOf:(II)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
java.util.concurrent.ConcurrentHashMap<?, ?> createOrGetClassLoaderValueMap();
descriptor: ()Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield java.lang.ClassLoader.classLoaderValueMap:Ljava/util/concurrent/ConcurrentHashMap;
astore 1
start local 1 1: aload 1
ifnonnull 6
2: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
astore 1
3: aload 0
ldc "classLoaderValueMap"
aload 1
invokevirtual java.lang.ClassLoader.trySetObjectField:(Ljava/lang/String;Ljava/lang/Object;)Z
istore 2
start local 2 4: iload 2
ifne 6
5: aload 0
getfield java.lang.ClassLoader.classLoaderValueMap:Ljava/util/concurrent/ConcurrentHashMap;
astore 1
end local 2 6: StackMap locals: java.util.concurrent.ConcurrentHashMap
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/lang/ClassLoader;
1 7 1 map Ljava/util/concurrent/ConcurrentHashMap<**>;
4 6 2 set Z
Signature: ()Ljava/util/concurrent/ConcurrentHashMap<**>;
private boolean trySetObjectField(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: invokestatic jdk.internal.misc.Unsafe.getUnsafe:()Ljdk/internal/misc/Unsafe;
astore 3
start local 3 1: ldc Ljava/lang/ClassLoader;
astore 4
start local 4 2: aload 4
aload 1
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 7
start local 7 3: aload 3
aload 7
invokevirtual jdk.internal.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
lstore 5
end local 7 start local 5 4: goto 7
end local 5 StackMap locals: java.lang.ClassLoader java.lang.String java.lang.Object jdk.internal.misc.Unsafe java.lang.Class
StackMap stack: java.lang.NoSuchFieldException
5: astore 7
start local 7 6: new java.lang.InternalError
dup
aload 7
invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 7 start local 5 7: StackMap locals: long
StackMap stack:
aload 3
aload 0
lload 5
aconst_null
aload 2
invokevirtual jdk.internal.misc.Unsafe.compareAndSetObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
ireturn
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 8 0 this Ljava/lang/ClassLoader;
0 8 1 name Ljava/lang/String;
0 8 2 obj Ljava/lang/Object;
1 8 3 unsafe Ljdk/internal/misc/Unsafe;
2 8 4 k Ljava/lang/Class<*>;
4 5 5 offset J
7 8 5 offset J
3 4 7 f Ljava/lang/reflect/Field;
6 7 7 e Ljava/lang/NoSuchFieldException;
Exception table:
from to target type
2 4 5 Class java.lang.NoSuchFieldException
MethodParameters:
Name Flags
name
obj
private java.util.Spliterator lambda$0(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Ljava/util/Spliterator;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=4, args_size=3
start local 0 0: aload 0
aload 1
invokevirtual java.lang.ClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
invokeinterface java.util.Enumeration.asIterator:()Ljava/util/Iterator;
iload 2
1: invokestatic java.util.Spliterators.spliteratorUnknownSize:(Ljava/util/Iterator;I)Ljava/util/Spliterator;
2: areturn
3: StackMap locals:
StackMap stack: java.io.IOException
astore 3
start local 3 4: new java.io.UncheckedIOException
dup
aload 3
invokespecial java.io.UncheckedIOException.<init>:(Ljava/io/IOException;)V
athrow
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/ClassLoader;
4 5 3 e Ljava/io/IOException;
Exception table:
from to target type
0 2 3 Class java.io.IOException
private java.lang.NamedPackage lambda$1(java.lang.Module, java.lang.String, java.lang.NamedPackage);
descriptor: (Ljava/lang/Module;Ljava/lang/String;Ljava/lang/NamedPackage;)Ljava/lang/NamedPackage;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 2
aload 3
aload 1
invokevirtual java.lang.ClassLoader.toPackage:(Ljava/lang/String;Ljava/lang/NamedPackage;Ljava/lang/Module;)Ljava/lang/Package;
areturn
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/ClassLoader;
0 1 2 n Ljava/lang/String;
0 1 3 p Ljava/lang/NamedPackage;
private static java.lang.Package[] lambda$2(int);
descriptor: (I)[Ljava/lang/Package;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: iload 0
anewarray java.lang.Package
areturn
LocalVariableTable:
Start End Slot Name Signature
private java.lang.Package lambda$4(java.lang.NamedPackage);
descriptor: (Ljava/lang/NamedPackage;)Ljava/lang/Package;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.NamedPackage.packageName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.NamedPackage.module:()Ljava/lang/Module;
invokevirtual java.lang.ClassLoader.definePackage:(Ljava/lang/String;Ljava/lang/Module;)Ljava/lang/Package;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/ClassLoader;
0 1 1 p Ljava/lang/NamedPackage;
}
SourceFile: "ClassLoader.java"
NestMembers:
java.lang.ClassLoader$1 java.lang.ClassLoader$2 java.lang.ClassLoader$NativeLibrary java.lang.ClassLoader$ParallelLoaders
InnerClasses:
java.lang.ClassLoader$1
java.lang.ClassLoader$2
NativeLibrary = java.lang.ClassLoader$NativeLibrary of java.lang.ClassLoader
private ParallelLoaders = java.lang.ClassLoader$ParallelLoaders of java.lang.ClassLoader
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles