public final class java.lang.ModuleLayer
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: java.lang.ModuleLayer
super_class: java.lang.Object
{
private static final java.lang.ModuleLayer EMPTY_LAYER;
descriptor: Ljava/lang/ModuleLayer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.lang.module.Configuration cf;
descriptor: Ljava/lang/module/Configuration;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<java.lang.ModuleLayer> parents;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/ModuleLayer;>;
private final java.util.Map<java.lang.String, java.lang.Module> nameToModule;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Module;>;
private volatile java.util.List<java.lang.ModuleLayer> allLayers;
descriptor: Ljava/util/List;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/util/List<Ljava/lang/ModuleLayer;>;
private volatile java.util.Set<java.lang.Module> modules;
descriptor: Ljava/util/Set;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/util/Set<Ljava/lang/Module;>;
private volatile jdk.internal.module.ServicesCatalog servicesCatalog;
descriptor: Ljdk/internal/module/ServicesCatalog;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private static final jdk.internal.loader.ClassLoaderValue<java.util.List<java.lang.ModuleLayer>> CLV;
descriptor: Ljdk/internal/loader/ClassLoaderValue;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljdk/internal/loader/ClassLoaderValue<Ljava/util/List<Ljava/lang/ModuleLayer;>;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: new java.lang.ModuleLayer
dup
invokestatic java.lang.module.Configuration.empty:()Ljava/lang/module/Configuration;
invokestatic java.util.List.of:()Ljava/util/List;
aconst_null
invokespecial java.lang.ModuleLayer.<init>:(Ljava/lang/module/Configuration;Ljava/util/List;Ljava/util/function/Function;)V
1: putstatic java.lang.ModuleLayer.EMPTY_LAYER:Ljava/lang/ModuleLayer;
2: new jdk.internal.loader.ClassLoaderValue
dup
invokespecial jdk.internal.loader.ClassLoaderValue.<init>:()V
putstatic java.lang.ModuleLayer.CLV:Ljdk/internal/loader/ClassLoaderValue;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(java.lang.module.Configuration, java.util.List<java.lang.ModuleLayer>, java.util.function.Function<java.lang.String, java.lang.ClassLoader>);
descriptor: (Ljava/lang/module/Configuration;Ljava/util/List;Ljava/util/function/Function;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, 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
aload 1
putfield java.lang.ModuleLayer.cf:Ljava/lang/module/Configuration;
2: aload 0
aload 2
putfield java.lang.ModuleLayer.parents:Ljava/util/List;
3: aload 2
invokeinterface java.util.List.isEmpty:()Z
ifeq 6
4: invokestatic java.util.Map.of:()Ljava/util/Map;
astore 4
start local 4 5: goto 7
end local 4 6: StackMap locals: java.lang.ModuleLayer java.lang.module.Configuration java.util.List java.util.function.Function
StackMap stack:
aload 1
aload 3
aload 0
invokestatic java.lang.Module.defineModules:(Ljava/lang/module/Configuration;Ljava/util/function/Function;Ljava/lang/ModuleLayer;)Ljava/util/Map;
astore 4
start local 4 7: StackMap locals: java.util.Map
StackMap stack:
aload 0
aload 4
putfield java.lang.ModuleLayer.nameToModule:Ljava/util/Map;
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/lang/ModuleLayer;
0 9 1 cf Ljava/lang/module/Configuration;
0 9 2 parents Ljava/util/List<Ljava/lang/ModuleLayer;>;
0 9 3 clf Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;
5 6 4 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/Module;>;
7 9 4 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/Module;>;
Signature: (Ljava/lang/module/Configuration;Ljava/util/List<Ljava/lang/ModuleLayer;>;Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;)V
MethodParameters:
Name Flags
cf
parents
clf
public java.lang.ModuleLayer defineModulesWithOneLoader(java.lang.module.Configuration, java.lang.ClassLoader);
descriptor: (Ljava/lang/module/Configuration;Ljava/lang/ClassLoader;)Ljava/lang/ModuleLayer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
invokestatic java.util.List.of:(Ljava/lang/Object;)Ljava/util/List;
aload 2
invokestatic java.lang.ModuleLayer.defineModulesWithOneLoader:(Ljava/lang/module/Configuration;Ljava/util/List;Ljava/lang/ClassLoader;)Ljava/lang/ModuleLayer$Controller;
invokevirtual java.lang.ModuleLayer$Controller.layer:()Ljava/lang/ModuleLayer;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/ModuleLayer;
0 1 1 cf Ljava/lang/module/Configuration;
0 1 2 parentLoader Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
cf
parentLoader
public java.lang.ModuleLayer defineModulesWithManyLoaders(java.lang.module.Configuration, java.lang.ClassLoader);
descriptor: (Ljava/lang/module/Configuration;Ljava/lang/ClassLoader;)Ljava/lang/ModuleLayer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
invokestatic java.util.List.of:(Ljava/lang/Object;)Ljava/util/List;
aload 2
invokestatic java.lang.ModuleLayer.defineModulesWithManyLoaders:(Ljava/lang/module/Configuration;Ljava/util/List;Ljava/lang/ClassLoader;)Ljava/lang/ModuleLayer$Controller;
invokevirtual java.lang.ModuleLayer$Controller.layer:()Ljava/lang/ModuleLayer;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/ModuleLayer;
0 1 1 cf Ljava/lang/module/Configuration;
0 1 2 parentLoader Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
cf
parentLoader
public java.lang.ModuleLayer defineModules(java.lang.module.Configuration, java.util.function.Function<java.lang.String, java.lang.ClassLoader>);
descriptor: (Ljava/lang/module/Configuration;Ljava/util/function/Function;)Ljava/lang/ModuleLayer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
invokestatic java.util.List.of:(Ljava/lang/Object;)Ljava/util/List;
aload 2
invokestatic java.lang.ModuleLayer.defineModules:(Ljava/lang/module/Configuration;Ljava/util/List;Ljava/util/function/Function;)Ljava/lang/ModuleLayer$Controller;
invokevirtual java.lang.ModuleLayer$Controller.layer:()Ljava/lang/ModuleLayer;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/ModuleLayer;
0 1 1 cf Ljava/lang/module/Configuration;
0 1 2 clf Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;
Signature: (Ljava/lang/module/Configuration;Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;)Ljava/lang/ModuleLayer;
MethodParameters:
Name Flags
cf
clf
public static java.lang.ModuleLayer$Controller defineModulesWithOneLoader(java.lang.module.Configuration, java.util.List<java.lang.ModuleLayer>, java.lang.ClassLoader);
descriptor: (Ljava/lang/module/Configuration;Ljava/util/List;Ljava/lang/ClassLoader;)Ljava/lang/ModuleLayer$Controller;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
aload 1
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 3
start local 3 1: aload 0
aload 3
invokestatic java.lang.ModuleLayer.checkConfiguration:(Ljava/lang/module/Configuration;Ljava/util/List;)V
2: invokestatic java.lang.ModuleLayer.checkCreateClassLoaderPermission:()V
3: invokestatic java.lang.ModuleLayer.checkGetClassLoaderPermission:()V
4: new jdk.internal.loader.Loader
dup
aload 0
invokevirtual java.lang.module.Configuration.modules:()Ljava/util/Set;
aload 2
invokespecial jdk.internal.loader.Loader.<init>:(Ljava/util/Collection;Ljava/lang/ClassLoader;)V
astore 4
start local 4 5: aload 4
aload 0
aload 3
invokevirtual jdk.internal.loader.Loader.initRemotePackageMap:(Ljava/lang/module/Configuration;Ljava/util/List;)Ljdk/internal/loader/Loader;
pop
6: new java.lang.ModuleLayer
dup
aload 0
aload 3
aload 4
invokedynamic apply(Ljdk/internal/loader/Loader;)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/ModuleLayer.lambda$0(Ljdk/internal/loader/Loader;Ljava/lang/String;)Ljava/lang/ClassLoader; (6)
(Ljava/lang/String;)Ljava/lang/ClassLoader;
invokespecial java.lang.ModuleLayer.<init>:(Ljava/lang/module/Configuration;Ljava/util/List;Ljava/util/function/Function;)V
astore 5
start local 5 7: new java.lang.ModuleLayer$Controller
dup
aload 5
invokespecial java.lang.ModuleLayer$Controller.<init>:(Ljava/lang/ModuleLayer;)V
8: areturn
end local 5 end local 4 9: StackMap locals: java.lang.module.Configuration java.util.List java.lang.ClassLoader java.util.List
StackMap stack: java.lang.RuntimeException
astore 4
start local 4 10: new java.lang.LayerInstantiationException
dup
aload 4
invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
invokespecial java.lang.LayerInstantiationException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 cf Ljava/lang/module/Configuration;
0 11 1 parentLayers Ljava/util/List<Ljava/lang/ModuleLayer;>;
0 11 2 parentLoader Ljava/lang/ClassLoader;
1 11 3 parents Ljava/util/List<Ljava/lang/ModuleLayer;>;
5 9 4 loader Ljdk/internal/loader/Loader;
7 9 5 layer Ljava/lang/ModuleLayer;
10 11 4 e Ljava/lang/RuntimeException;
Exception table:
from to target type
4 8 9 Class java.lang.IllegalArgumentException
4 8 9 Class java.lang.IllegalStateException
Signature: (Ljava/lang/module/Configuration;Ljava/util/List<Ljava/lang/ModuleLayer;>;Ljava/lang/ClassLoader;)Ljava/lang/ModuleLayer$Controller;
MethodParameters:
Name Flags
cf
parentLayers
parentLoader
public static java.lang.ModuleLayer$Controller defineModulesWithManyLoaders(java.lang.module.Configuration, java.util.List<java.lang.ModuleLayer>, java.lang.ClassLoader);
descriptor: (Ljava/lang/module/Configuration;Ljava/util/List;Ljava/lang/ClassLoader;)Ljava/lang/ModuleLayer$Controller;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
aload 1
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 3
start local 3 1: aload 0
aload 3
invokestatic java.lang.ModuleLayer.checkConfiguration:(Ljava/lang/module/Configuration;Ljava/util/List;)V
2: invokestatic java.lang.ModuleLayer.checkCreateClassLoaderPermission:()V
3: invokestatic java.lang.ModuleLayer.checkGetClassLoaderPermission:()V
4: new jdk.internal.loader.LoaderPool
dup
aload 0
aload 3
aload 2
invokespecial jdk.internal.loader.LoaderPool.<init>:(Ljava/lang/module/Configuration;Ljava/util/List;Ljava/lang/ClassLoader;)V
astore 4
start local 4 5: new java.lang.ModuleLayer
dup
aload 0
aload 3
aload 4
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic apply(Ljdk/internal/loader/LoaderPool;)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;
jdk/internal/loader/LoaderPool.loaderFor(Ljava/lang/String;)Ljdk/internal/loader/Loader; (5)
(Ljava/lang/String;)Ljava/lang/ClassLoader;
invokespecial java.lang.ModuleLayer.<init>:(Ljava/lang/module/Configuration;Ljava/util/List;Ljava/util/function/Function;)V
astore 5
start local 5 6: new java.lang.ModuleLayer$Controller
dup
aload 5
invokespecial java.lang.ModuleLayer$Controller.<init>:(Ljava/lang/ModuleLayer;)V
7: areturn
end local 5 8: StackMap locals: java.lang.module.Configuration java.util.List java.lang.ClassLoader java.util.List jdk.internal.loader.LoaderPool
StackMap stack: java.lang.RuntimeException
astore 5
start local 5 9: new java.lang.LayerInstantiationException
dup
aload 5
invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
invokespecial java.lang.LayerInstantiationException.<init>:(Ljava/lang/String;)V
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 10 0 cf Ljava/lang/module/Configuration;
0 10 1 parentLayers Ljava/util/List<Ljava/lang/ModuleLayer;>;
0 10 2 parentLoader Ljava/lang/ClassLoader;
1 10 3 parents Ljava/util/List<Ljava/lang/ModuleLayer;>;
5 10 4 pool Ljdk/internal/loader/LoaderPool;
6 8 5 layer Ljava/lang/ModuleLayer;
9 10 5 e Ljava/lang/RuntimeException;
Exception table:
from to target type
5 7 8 Class java.lang.IllegalArgumentException
5 7 8 Class java.lang.IllegalStateException
Signature: (Ljava/lang/module/Configuration;Ljava/util/List<Ljava/lang/ModuleLayer;>;Ljava/lang/ClassLoader;)Ljava/lang/ModuleLayer$Controller;
MethodParameters:
Name Flags
cf
parentLayers
parentLoader
public static java.lang.ModuleLayer$Controller defineModules(java.lang.module.Configuration, java.util.List<java.lang.ModuleLayer>, java.util.function.Function<java.lang.String, java.lang.ClassLoader>);
descriptor: (Ljava/lang/module/Configuration;Ljava/util/List;Ljava/util/function/Function;)Ljava/lang/ModuleLayer$Controller;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
aload 1
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 3
start local 3 1: aload 0
aload 3
invokestatic java.lang.ModuleLayer.checkConfiguration:(Ljava/lang/module/Configuration;Ljava/util/List;)V
2: aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
3: invokestatic java.lang.ModuleLayer.checkGetClassLoaderPermission:()V
4: invokestatic java.lang.ModuleLayer.boot:()Ljava/lang/ModuleLayer;
ifnull 6
5: aload 0
aload 2
invokestatic java.lang.ModuleLayer.checkForDuplicatePkgs:(Ljava/lang/module/Configuration;Ljava/util/function/Function;)V
6: StackMap locals: java.util.List
StackMap stack:
new java.lang.ModuleLayer
dup
aload 0
aload 3
aload 2
invokespecial java.lang.ModuleLayer.<init>:(Ljava/lang/module/Configuration;Ljava/util/List;Ljava/util/function/Function;)V
astore 4
start local 4 7: new java.lang.ModuleLayer$Controller
dup
aload 4
invokespecial java.lang.ModuleLayer$Controller.<init>:(Ljava/lang/ModuleLayer;)V
8: areturn
end local 4 9: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 4
start local 4 10: new java.lang.LayerInstantiationException
dup
aload 4
invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
invokespecial java.lang.LayerInstantiationException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 cf Ljava/lang/module/Configuration;
0 11 1 parentLayers Ljava/util/List<Ljava/lang/ModuleLayer;>;
0 11 2 clf Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;
1 11 3 parents Ljava/util/List<Ljava/lang/ModuleLayer;>;
7 9 4 layer Ljava/lang/ModuleLayer;
10 11 4 e Ljava/lang/RuntimeException;
Exception table:
from to target type
6 8 9 Class java.lang.IllegalArgumentException
6 8 9 Class java.lang.IllegalStateException
Signature: (Ljava/lang/module/Configuration;Ljava/util/List<Ljava/lang/ModuleLayer;>;Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;)Ljava/lang/ModuleLayer$Controller;
MethodParameters:
Name Flags
cf
parentLayers
clf
private static void checkConfiguration(java.lang.module.Configuration, java.util.List<java.lang.ModuleLayer>);
descriptor: (Ljava/lang/module/Configuration;Ljava/util/List;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
invokevirtual java.lang.module.Configuration.parents:()Ljava/util/List;
astore 2
start local 2 2: aload 1
invokeinterface java.util.List.size:()I
aload 2
invokeinterface java.util.List.size:()I
if_icmpeq 4
3: new java.lang.IllegalArgumentException
dup
ldc "wrong number of parents"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.util.List
StackMap stack:
iconst_0
istore 3
start local 3 5: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 12
StackMap locals: java.lang.module.Configuration java.util.List java.util.List int top java.util.Iterator
StackMap stack:
6: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.ModuleLayer
astore 4
start local 4 7: aload 4
invokevirtual java.lang.ModuleLayer.configuration:()Ljava/lang/module/Configuration;
aload 2
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
if_acmpeq 11
8: new java.lang.IllegalArgumentException
dup
9: ldc "Parent of configuration != configuration of this Layer"
10: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: java.lang.module.Configuration java.util.List java.util.List int java.lang.ModuleLayer java.util.Iterator
StackMap stack:
iinc 3 1
end local 4 12: StackMap locals: java.lang.module.Configuration java.util.List java.util.List int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
13: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 cf Ljava/lang/module/Configuration;
0 14 1 parentLayers Ljava/util/List<Ljava/lang/ModuleLayer;>;
2 14 2 parentConfigurations Ljava/util/List<Ljava/lang/module/Configuration;>;
5 14 3 index I
7 12 4 parent Ljava/lang/ModuleLayer;
Signature: (Ljava/lang/module/Configuration;Ljava/util/List<Ljava/lang/ModuleLayer;>;)V
MethodParameters:
Name Flags
cf
parentLayers
private static void checkCreateClassLoaderPermission();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 0
start local 0 1: aload 0
ifnull 3
2: aload 0
getstatic sun.security.util.SecurityConstants.CREATE_CLASSLOADER_PERMISSION:Ljava/lang/RuntimePermission;
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 sm Ljava/lang/SecurityManager;
private static void checkGetClassLoaderPermission();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 0
start local 0 1: aload 0
ifnull 3
2: aload 0
getstatic sun.security.util.SecurityConstants.GET_CLASSLOADER_PERMISSION:Ljava/lang/RuntimePermission;
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 sm Ljava/lang/SecurityManager;
private static void checkForDuplicatePkgs(java.lang.module.Configuration, java.util.function.Function<java.lang.String, java.lang.ClassLoader>);
descriptor: (Ljava/lang/module/Configuration;Ljava/util/function/Function;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=11, args_size=2
start local 0 start local 1 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 1: aload 0
invokevirtual java.lang.module.Configuration.modules:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 15
StackMap locals: java.lang.module.Configuration java.util.function.Function java.util.Map top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ResolvedModule
astore 3
start local 3 3: aload 3
invokevirtual java.lang.module.ResolvedModule.reference:()Ljava/lang/module/ModuleReference;
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
astore 5
start local 5 4: aload 1
aload 5
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ClassLoader
astore 6
start local 6 5: aload 2
aload 6
invokedynamic apply()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/ModuleLayer.lambda$2(Ljava/lang/ClassLoader;)Ljava/util/Set; (6)
(Ljava/lang/ClassLoader;)Ljava/util/Set;
invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast java.util.Set
6: astore 7
start local 7 7: aload 5
invokevirtual java.lang.module.ModuleDescriptor.packages:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 14
StackMap locals: java.lang.module.Configuration java.util.function.Function java.util.Map java.lang.module.ResolvedModule java.util.Iterator java.lang.module.ModuleDescriptor java.lang.ClassLoader java.util.Set top java.util.Iterator
StackMap stack:
8: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 8
start local 8 9: aload 7
aload 8
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
istore 10
start local 10 10: iload 10
ifne 14
11: ldc "More than one module with package %s mapped to the same class loader"
iconst_1
anewarray java.lang.Object
dup
iconst_0
12: aload 8
aastore
13: invokestatic java.lang.ModuleLayer.fail:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/LayerInstantiationException;
athrow
end local 10 end local 8 14: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
end local 7 end local 6 end local 5 end local 3 15: StackMap locals: java.lang.module.Configuration java.util.function.Function java.util.Map top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
16: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 cf Ljava/lang/module/Configuration;
0 17 1 clf Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;
1 17 2 loaderToPackages Ljava/util/Map<Ljava/lang/ClassLoader;Ljava/util/Set<Ljava/lang/String;>;>;
3 15 3 resolvedModule Ljava/lang/module/ResolvedModule;
4 15 5 descriptor Ljava/lang/module/ModuleDescriptor;
5 15 6 loader Ljava/lang/ClassLoader;
7 15 7 loaderPackages Ljava/util/Set<Ljava/lang/String;>;
9 14 8 pkg Ljava/lang/String;
10 14 10 added Z
Signature: (Ljava/lang/module/Configuration;Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;)V
MethodParameters:
Name Flags
cf
clf
private static java.lang.LayerInstantiationException fail(java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/LayerInstantiationException;
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 2
start local 2 1: new java.lang.LayerInstantiationException
dup
aload 2
invokespecial java.lang.LayerInstantiationException.<init>:(Ljava/lang/String;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 fmt Ljava/lang/String;
0 2 1 args [Ljava/lang/Object;
1 2 2 msg Ljava/lang/String;
MethodParameters:
Name Flags
fmt
args
public java.lang.module.Configuration configuration();
descriptor: ()Ljava/lang/module/Configuration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.ModuleLayer.cf:Ljava/lang/module/Configuration;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/ModuleLayer;
public java.util.List<java.lang.ModuleLayer> parents();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.ModuleLayer.parents:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/ModuleLayer;
Signature: ()Ljava/util/List<Ljava/lang/ModuleLayer;>;
java.util.stream.Stream<java.lang.ModuleLayer> layers();
descriptor: ()Ljava/util/stream/Stream;
flags: (0x0000)
Code:
stack=3, locals=7, args_size=1
start local 0 0: aload 0
getfield java.lang.ModuleLayer.allLayers:Ljava/util/List;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
areturn
3: StackMap locals: java.util.List
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
4: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 2
start local 2 5: new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
astore 3
start local 3 6: aload 2
aload 0
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
7: aload 3
aload 0
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
8: goto 19
9: StackMap locals: java.util.Set java.util.Deque
StackMap stack:
aload 3
invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
checkcast java.lang.ModuleLayer
astore 4
start local 4 10: aload 1
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
11: aload 4
getfield java.lang.ModuleLayer.parents:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 5
start local 5 12: goto 18
13: StackMap locals: java.lang.ModuleLayer int
StackMap stack:
aload 4
getfield java.lang.ModuleLayer.parents:Ljava/util/List;
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.ModuleLayer
astore 6
start local 6 14: aload 2
aload 6
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 17
15: aload 2
aload 6
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
16: aload 3
aload 6
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
end local 6 17: StackMap locals:
StackMap stack:
iinc 5 -1
StackMap locals:
StackMap stack:
18: iload 5
ifge 13
end local 5 end local 4 19: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Deque.isEmpty:()Z
ifeq 9
20: aload 0
aload 1
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
dup
astore 1
putfield java.lang.ModuleLayer.allLayers:Ljava/util/List;
21: aload 1
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Ljava/lang/ModuleLayer;
1 22 1 allLayers Ljava/util/List<Ljava/lang/ModuleLayer;>;
5 22 2 visited Ljava/util/Set<Ljava/lang/ModuleLayer;>;
6 22 3 stack Ljava/util/Deque<Ljava/lang/ModuleLayer;>;
10 19 4 layer Ljava/lang/ModuleLayer;
12 19 5 i I
14 17 6 parent Ljava/lang/ModuleLayer;
Signature: ()Ljava/util/stream/Stream<Ljava/lang/ModuleLayer;>;
public java.util.Set<java.lang.Module> modules();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield java.lang.ModuleLayer.modules:Ljava/util/Set;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aload 0
aload 0
getfield java.lang.ModuleLayer.nameToModule:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokestatic java.util.Set.copyOf:(Ljava/util/Collection;)Ljava/util/Set;
dup
astore 1
putfield java.lang.ModuleLayer.modules:Ljava/util/Set;
3: StackMap locals: java.util.Set
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/ModuleLayer;
1 4 1 modules Ljava/util/Set<Ljava/lang/Module;>;
Signature: ()Ljava/util/Set<Ljava/lang/Module;>;
public java.util.Optional<java.lang.Module> findModule(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, 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
getstatic java.lang.ModuleLayer.EMPTY_LAYER:Ljava/lang/ModuleLayer;
if_acmpne 3
2: invokestatic java.util.Optional.empty:()Ljava/util/Optional;
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.ModuleLayer.nameToModule:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Module
astore 2
start local 2 4: aload 2
ifnull 6
5: aload 2
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
areturn
6: StackMap locals: java.lang.Module
StackMap stack:
aload 0
invokevirtual java.lang.ModuleLayer.layers:()Ljava/util/stream/Stream;
7: lconst_1
invokeinterface java.util.stream.Stream.skip:(J)Ljava/util/stream/Stream;
8: aload 1
invokedynamic apply(Ljava/lang/String;)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/ModuleLayer.lambda$3(Ljava/lang/String;Ljava/lang/ModuleLayer;)Ljava/lang/Module; (6)
(Ljava/lang/ModuleLayer;)Ljava/lang/Module;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
9: invokedynamic test()Ljava/util/function/Predicate;
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;)Z
java/util/Objects.nonNull(Ljava/lang/Object;)Z (6)
(Ljava/lang/Module;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
10: invokeinterface java.util.stream.Stream.findAny:()Ljava/util/Optional;
11: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/lang/ModuleLayer;
0 12 1 name Ljava/lang/String;
4 12 2 m Ljava/lang/Module;
Signature: (Ljava/lang/String;)Ljava/util/Optional<Ljava/lang/Module;>;
MethodParameters:
Name Flags
name
public java.lang.ClassLoader findLoader(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/ClassLoader;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.ModuleLayer.findModule:(Ljava/lang/String;)Ljava/util/Optional;
astore 2
start local 2 1: aload 2
invokevirtual java.util.Optional.isPresent:()Z
ifeq 3
2: aload 2
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast java.lang.Module
invokevirtual java.lang.Module.getClassLoader:()Ljava/lang/ClassLoader;
areturn
3: StackMap locals: java.util.Optional
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Module "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc " not known to this layer"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/lang/ModuleLayer;
0 6 1 name Ljava/lang/String;
1 6 2 om Ljava/util/Optional<Ljava/lang/Module;>;
MethodParameters:
Name Flags
name
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.ModuleLayer.modules:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
1: invokedynamic apply()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/Module.getName()Ljava/lang/String; (5)
(Ljava/lang/Module;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
2: ldc ", "
invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.lang.String
3: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/ModuleLayer;
public static java.lang.ModuleLayer empty();
descriptor: ()Ljava/lang/ModuleLayer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic java.lang.ModuleLayer.EMPTY_LAYER:Ljava/lang/ModuleLayer;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.ModuleLayer boot();
descriptor: ()Ljava/lang/ModuleLayer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic java.lang.System.bootLayer:Ljava/lang/ModuleLayer;
areturn
LocalVariableTable:
Start End Slot Name Signature
jdk.internal.module.ServicesCatalog getServicesCatalog();
descriptor: ()Ljdk/internal/module/ServicesCatalog;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield java.lang.ModuleLayer.servicesCatalog:Ljdk/internal/module/ServicesCatalog;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: jdk.internal.module.ServicesCatalog
StackMap stack:
aload 0
dup
astore 2
monitorenter
4: aload 0
getfield java.lang.ModuleLayer.servicesCatalog:Ljdk/internal/module/ServicesCatalog;
astore 1
5: aload 1
ifnonnull 9
6: invokestatic jdk.internal.module.ServicesCatalog.create:()Ljdk/internal/module/ServicesCatalog;
astore 1
7: aload 0
getfield java.lang.ModuleLayer.nameToModule:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
aload 1
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Ljdk/internal/module/ServicesCatalog;)Ljava/util/function/Consumer;
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;)V
jdk/internal/module/ServicesCatalog.register(Ljava/lang/Module;)V (5)
(Ljava/lang/Module;)V
invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
8: aload 0
aload 1
putfield java.lang.ModuleLayer.servicesCatalog:Ljdk/internal/module/ServicesCatalog;
9: StackMap locals: java.lang.ModuleLayer
StackMap stack:
aload 2
monitorexit
10: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
11: aload 2
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/lang/ModuleLayer;
1 14 1 servicesCatalog Ljdk/internal/module/ServicesCatalog;
Exception table:
from to target type
4 10 11 any
11 12 11 any
void bindToLoader(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: getstatic java.lang.ModuleLayer.CLV:Ljdk/internal/loader/ClassLoaderValue;
aload 1
invokevirtual jdk.internal.loader.ClassLoaderValue.get:(Ljava/lang/ClassLoader;)Ljava/lang/Object;
checkcast java.util.List
astore 2
start local 2 1: aload 2
ifnonnull 5
2: new java.util.concurrent.CopyOnWriteArrayList
dup
invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
astore 2
3: getstatic java.lang.ModuleLayer.CLV:Ljdk/internal/loader/ClassLoaderValue;
aload 1
aload 2
invokevirtual jdk.internal.loader.ClassLoaderValue.putIfAbsent:(Ljava/lang/ClassLoader;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 3
start local 3 4: aload 3
ifnull 5
aload 3
astore 2
end local 3 5: StackMap locals: java.util.List
StackMap stack:
aload 2
aload 0
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/lang/ModuleLayer;
0 7 1 loader Ljava/lang/ClassLoader;
1 7 2 list Ljava/util/List<Ljava/lang/ModuleLayer;>;
4 5 3 previous Ljava/util/List<Ljava/lang/ModuleLayer;>;
MethodParameters:
Name Flags
loader
static java.util.stream.Stream<java.lang.ModuleLayer> layers(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)Ljava/util/stream/Stream;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic java.lang.ModuleLayer.CLV:Ljdk/internal/loader/ClassLoaderValue;
aload 0
invokevirtual jdk.internal.loader.ClassLoaderValue.get:(Ljava/lang/ClassLoader;)Ljava/lang/Object;
checkcast java.util.List
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
areturn
3: StackMap locals: java.util.List
StackMap stack:
invokestatic java.util.stream.Stream.empty:()Ljava/util/stream/Stream;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 loader Ljava/lang/ClassLoader;
1 4 1 list Ljava/util/List<Ljava/lang/ModuleLayer;>;
Signature: (Ljava/lang/ClassLoader;)Ljava/util/stream/Stream<Ljava/lang/ModuleLayer;>;
MethodParameters:
Name Flags
loader
private static java.lang.ClassLoader lambda$0(jdk.internal.loader.Loader, java.lang.String);
descriptor: (Ljdk/internal/loader/Loader;Ljava/lang/String;)Ljava/lang/ClassLoader;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 1 0: aload 0
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 mn Ljava/lang/String;
private static java.util.Set lambda$2(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)Ljava/util/Set;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 k Ljava/lang/ClassLoader;
private static java.lang.Module lambda$3(java.lang.String, java.lang.ModuleLayer);
descriptor: (Ljava/lang/String;Ljava/lang/ModuleLayer;)Ljava/lang/Module;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
getfield java.lang.ModuleLayer.nameToModule:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Module
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 l Ljava/lang/ModuleLayer;
}
SourceFile: "ModuleLayer.java"
NestMembers:
java.lang.ModuleLayer$Controller
InnerClasses:
public final Controller = java.lang.ModuleLayer$Controller of java.lang.ModuleLayer
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles