public class jdk.internal.module.Modules
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.internal.module.Modules
super_class: java.lang.Object
{
private static final jdk.internal.misc.JavaLangAccess JLA;
descriptor: Ljdk/internal/misc/JavaLangAccess;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static volatile java.lang.ModuleLayer topLayer;
descriptor: Ljava/lang/ModuleLayer;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
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=1, locals=0, args_size=0
0: ldc Ljdk/internal/module/Modules;
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 jdk.internal.module.Modules.$assertionsDisabled:Z
3: invokestatic jdk.internal.misc.SharedSecrets.getJavaLangAccess:()Ljdk/internal/misc/JavaLangAccess;
putstatic jdk.internal.module.Modules.JLA:Ljdk/internal/misc/JavaLangAccess;
4: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/module/Modules;
public static java.lang.Module defineModule(java.lang.ClassLoader, java.lang.module.ModuleDescriptor, java.net.URI);
descriptor: (Ljava/lang/ClassLoader;Ljava/lang/module/ModuleDescriptor;Ljava/net/URI;)Ljava/lang/Module;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.internal.module.Modules.JLA:Ljdk/internal/misc/JavaLangAccess;
aload 0
aload 1
aload 2
invokeinterface jdk.internal.misc.JavaLangAccess.defineModule:(Ljava/lang/ClassLoader;Ljava/lang/module/ModuleDescriptor;Ljava/net/URI;)Ljava/lang/Module;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 loader Ljava/lang/ClassLoader;
0 1 1 descriptor Ljava/lang/module/ModuleDescriptor;
0 1 2 uri Ljava/net/URI;
MethodParameters:
Name Flags
loader
descriptor
uri
public static void addReads(java.lang.Module, java.lang.Module);
descriptor: (Ljava/lang/Module;Ljava/lang/Module;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic jdk.internal.module.Modules.JLA:Ljdk/internal/misc/JavaLangAccess;
aload 0
aload 1
invokeinterface jdk.internal.misc.JavaLangAccess.addReads:(Ljava/lang/Module;Ljava/lang/Module;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 m1 Ljava/lang/Module;
0 2 1 m2 Ljava/lang/Module;
MethodParameters:
Name Flags
m1
m2
public static void addReadsAllUnnamed(java.lang.Module);
descriptor: (Ljava/lang/Module;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic jdk.internal.module.Modules.JLA:Ljdk/internal/misc/JavaLangAccess;
aload 0
invokeinterface jdk.internal.misc.JavaLangAccess.addReadsAllUnnamed:(Ljava/lang/Module;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 m Ljava/lang/Module;
MethodParameters:
Name Flags
m
public static void addExports(java.lang.Module, java.lang.String, java.lang.Module);
descriptor: (Ljava/lang/Module;Ljava/lang/String;Ljava/lang/Module;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.internal.module.Modules.JLA:Ljdk/internal/misc/JavaLangAccess;
aload 0
aload 1
aload 2
invokeinterface jdk.internal.misc.JavaLangAccess.addExports:(Ljava/lang/Module;Ljava/lang/String;Ljava/lang/Module;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 m1 Ljava/lang/Module;
0 2 1 pn Ljava/lang/String;
0 2 2 m2 Ljava/lang/Module;
MethodParameters:
Name Flags
m1
pn
m2
public static void addExportsToAllUnnamed(java.lang.Module, java.lang.String);
descriptor: (Ljava/lang/Module;Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic jdk.internal.module.Modules.JLA:Ljdk/internal/misc/JavaLangAccess;
aload 0
aload 1
invokeinterface jdk.internal.misc.JavaLangAccess.addExportsToAllUnnamed:(Ljava/lang/Module;Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 m Ljava/lang/Module;
0 2 1 pn Ljava/lang/String;
MethodParameters:
Name Flags
m
pn
public static void addOpens(java.lang.Module, java.lang.String, java.lang.Module);
descriptor: (Ljava/lang/Module;Ljava/lang/String;Ljava/lang/Module;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.internal.module.Modules.JLA:Ljdk/internal/misc/JavaLangAccess;
aload 0
aload 1
aload 2
invokeinterface jdk.internal.misc.JavaLangAccess.addOpens:(Ljava/lang/Module;Ljava/lang/String;Ljava/lang/Module;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 m1 Ljava/lang/Module;
0 2 1 pn Ljava/lang/String;
0 2 2 m2 Ljava/lang/Module;
MethodParameters:
Name Flags
m1
pn
m2
public static void addOpensToAllUnnamed(java.lang.Module, java.lang.String);
descriptor: (Ljava/lang/Module;Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic jdk.internal.module.Modules.JLA:Ljdk/internal/misc/JavaLangAccess;
aload 0
aload 1
invokeinterface jdk.internal.misc.JavaLangAccess.addOpensToAllUnnamed:(Ljava/lang/Module;Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 m Ljava/lang/Module;
0 2 1 pn Ljava/lang/String;
MethodParameters:
Name Flags
m
pn
public static void addUses(java.lang.Module, java.lang.Class<?>);
descriptor: (Ljava/lang/Module;Ljava/lang/Class;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic jdk.internal.module.Modules.JLA:Ljdk/internal/misc/JavaLangAccess;
aload 0
aload 1
invokeinterface jdk.internal.misc.JavaLangAccess.addUses:(Ljava/lang/Module;Ljava/lang/Class;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 m Ljava/lang/Module;
0 2 1 service Ljava/lang/Class<*>;
Signature: (Ljava/lang/Module;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
m
service
public static void addProvides(java.lang.Module, java.lang.Class<?>, java.lang.Class<?>);
descriptor: (Ljava/lang/Module;Ljava/lang/Class;Ljava/lang/Class;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.lang.Module.getLayer:()Ljava/lang/ModuleLayer;
astore 3
start local 3 1: aload 0
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic run(Ljava/lang/Module;)Ljava/security/PrivilegedAction;
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/Module.getClassLoader()Ljava/lang/ClassLoader; (5)
()Ljava/lang/ClassLoader;
astore 4
start local 4 2: aload 4
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.ClassLoader
astore 6
start local 6 3: invokestatic jdk.internal.loader.ClassLoaders.platformClassLoader:()Ljava/lang/ClassLoader;
astore 7
start local 7 4: aload 3
ifnull 5
aload 6
ifnull 5
aload 6
aload 7
if_acmpne 10
5: StackMap locals: java.lang.Module java.lang.Class java.lang.Class java.lang.ModuleLayer java.security.PrivilegedAction top java.lang.ClassLoader java.lang.ClassLoader
StackMap stack:
aload 6
ifnonnull 8
6: invokestatic jdk.internal.loader.BootLoader.getServicesCatalog:()Ljdk/internal/module/ServicesCatalog;
astore 8
start local 8 7: goto 9
end local 8 8: StackMap locals:
StackMap stack:
aload 6
invokestatic jdk.internal.module.ServicesCatalog.getServicesCatalog:(Ljava/lang/ClassLoader;)Ljdk/internal/module/ServicesCatalog;
astore 8
start local 8 9: StackMap locals: jdk.internal.module.ServicesCatalog
StackMap stack:
aload 8
aload 0
aload 1
aload 2
invokevirtual jdk.internal.module.ServicesCatalog.addProvider:(Ljava/lang/Module;Ljava/lang/Class;Ljava/lang/Class;)V
end local 8 10: StackMap locals:
StackMap stack:
aload 3
ifnull 12
11: getstatic jdk.internal.module.Modules.JLA:Ljdk/internal/misc/JavaLangAccess;
aload 3
invokeinterface jdk.internal.misc.JavaLangAccess.getServicesCatalog:(Ljava/lang/ModuleLayer;)Ljdk/internal/module/ServicesCatalog;
aload 0
aload 1
aload 2
invokevirtual jdk.internal.module.ServicesCatalog.addProvider:(Ljava/lang/Module;Ljava/lang/Class;Ljava/lang/Class;)V
12: StackMap locals:
StackMap stack:
return
end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 m Ljava/lang/Module;
0 13 1 service Ljava/lang/Class<*>;
0 13 2 impl Ljava/lang/Class<*>;
1 13 3 layer Ljava/lang/ModuleLayer;
2 13 4 pa Ljava/security/PrivilegedAction<Ljava/lang/ClassLoader;>;
3 13 6 loader Ljava/lang/ClassLoader;
4 13 7 platformClassLoader Ljava/lang/ClassLoader;
7 8 8 catalog Ljdk/internal/module/ServicesCatalog;
9 10 8 catalog Ljdk/internal/module/ServicesCatalog;
Signature: (Ljava/lang/Module;Ljava/lang/Class<*>;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
m
service
impl
public static void transformedByAgent(java.lang.Module);
descriptor: (Ljava/lang/Module;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic jdk.internal.loader.BootLoader.getUnnamedModule:()Ljava/lang/Module;
invokestatic jdk.internal.module.Modules.addReads:(Ljava/lang/Module;Ljava/lang/Module;)V
1: aload 0
invokestatic jdk.internal.loader.ClassLoaders.appClassLoader:()Ljava/lang/ClassLoader;
invokevirtual java.lang.ClassLoader.getUnnamedModule:()Ljava/lang/Module;
invokestatic jdk.internal.module.Modules.addReads:(Ljava/lang/Module;Ljava/lang/Module;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 m Ljava/lang/Module;
MethodParameters:
Name Flags
m
public static synchronized java.lang.Module loadModule(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Module;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=16, args_size=1
start local 0 0: getstatic jdk.internal.module.Modules.topLayer:Ljava/lang/ModuleLayer;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: invokestatic java.lang.ModuleLayer.boot:()Ljava/lang/ModuleLayer;
astore 1
3: StackMap locals: java.lang.ModuleLayer
StackMap stack:
aload 1
aload 0
invokevirtual java.lang.ModuleLayer.findModule:(Ljava/lang/String;)Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Module
astore 2
start local 2 4: aload 2
ifnull 6
5: aload 2
areturn
6: StackMap locals: java.lang.Module
StackMap stack:
iconst_0
anewarray java.nio.file.Path
invokestatic java.lang.module.ModuleFinder.of:([Ljava/nio/file/Path;)Ljava/lang/module/ModuleFinder;
astore 3
start local 3 7: invokestatic jdk.internal.module.ModuleBootstrap.unlimitedFinder:()Ljava/lang/module/ModuleFinder;
astore 4
start local 4 8: aload 0
invokestatic java.util.Set.of:(Ljava/lang/Object;)Ljava/util/Set;
astore 5
start local 5 9: aload 1
invokevirtual java.lang.ModuleLayer.configuration:()Ljava/lang/module/Configuration;
aload 3
aload 4
aload 5
invokevirtual java.lang.module.Configuration.resolveAndBind:(Ljava/lang/module/ModuleFinder;Ljava/lang/module/ModuleFinder;Ljava/util/Collection;)Ljava/lang/module/Configuration;
astore 6
start local 6 10: aload 6
invokestatic jdk.internal.module.ModuleLoaderMap.mappingFunction:(Ljava/lang/module/Configuration;)Ljava/util/function/Function;
astore 7
start local 7 11: aload 1
aload 6
aload 7
invokevirtual java.lang.ModuleLayer.defineModules:(Ljava/lang/module/Configuration;Ljava/util/function/Function;)Ljava/lang/ModuleLayer;
astore 8
start local 8 12: aload 8
invokevirtual java.lang.ModuleLayer.modules:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
13: 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;
14: invokestatic java.util.function.Function.identity:()Ljava/util/function/Function;
15: invokestatic java.util.stream.Collectors.toMap:(Ljava/util/function/Function;Ljava/util/function/Function;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.Map
16: astore 9
start local 9 17: aload 1
astore 10
start local 10 18: goto 33
19: StackMap locals: java.lang.String java.lang.ModuleLayer java.lang.Module java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.module.Configuration java.util.function.Function java.lang.ModuleLayer java.util.Map java.lang.ModuleLayer
StackMap stack:
aload 10
invokevirtual java.lang.ModuleLayer.modules:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 12
goto 27
StackMap locals: java.lang.String java.lang.ModuleLayer java.lang.Module java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.module.Configuration java.util.function.Function java.lang.ModuleLayer java.util.Map java.lang.ModuleLayer top java.util.Iterator
StackMap stack:
20: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Module
astore 11
start local 11 21: aload 11
invokevirtual java.lang.Module.getDescriptor:()Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.exports:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
22: 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/lang/module/ModuleDescriptor$Exports.isQualified()Z (5)
(Ljava/lang/module/ModuleDescriptor$Exports;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
23: aload 9
aload 11
invokedynamic accept(Ljava/util/Map;Ljava/lang/Module;)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/Modules.lambda$3(Ljava/util/Map;Ljava/lang/Module;Ljava/lang/module/ModuleDescriptor$Exports;)V (6)
(Ljava/lang/module/ModuleDescriptor$Exports;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
24: aload 11
invokevirtual java.lang.Module.getDescriptor:()Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.opens:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
25: 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/lang/module/ModuleDescriptor$Opens.isQualified()Z (5)
(Ljava/lang/module/ModuleDescriptor$Opens;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
26: aload 9
aload 11
invokedynamic accept(Ljava/util/Map;Ljava/lang/Module;)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/Modules.lambda$6(Ljava/util/Map;Ljava/lang/Module;Ljava/lang/module/ModuleDescriptor$Opens;)V (6)
(Ljava/lang/module/ModuleDescriptor$Opens;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
end local 11 27: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 20
28: aload 10
invokevirtual java.lang.ModuleLayer.parents:()Ljava/util/List;
astore 11
start local 11 29: getstatic jdk.internal.module.Modules.$assertionsDisabled:Z
ifne 30
aload 11
invokeinterface java.util.List.size:()I
iconst_1
if_icmple 30
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
30: StackMap locals: java.lang.String java.lang.ModuleLayer java.lang.Module java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.module.Configuration java.util.function.Function java.lang.ModuleLayer java.util.Map java.lang.ModuleLayer java.util.List
StackMap stack:
aload 11
invokeinterface java.util.List.isEmpty:()Z
ifeq 31
aconst_null
goto 32
StackMap locals:
StackMap stack:
31: aload 11
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.ModuleLayer
StackMap locals:
StackMap stack: java.lang.ModuleLayer
32: astore 10
end local 11 33: StackMap locals:
StackMap stack:
aload 10
ifnonnull 19
34: getstatic jdk.internal.module.Modules.JLA:Ljdk/internal/misc/JavaLangAccess;
aload 8
invokeinterface jdk.internal.misc.JavaLangAccess.addNonExportedPackages:(Ljava/lang/ModuleLayer;)V
35: aload 6
invokevirtual java.lang.module.Configuration.modules:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 12
goto 44
StackMap locals: java.lang.String java.lang.ModuleLayer java.lang.Module java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.module.Configuration java.util.function.Function java.lang.ModuleLayer java.util.Map java.lang.ModuleLayer top java.util.Iterator
StackMap stack:
36: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ResolvedModule
astore 11
start local 11 37: aload 11
invokevirtual java.lang.module.ResolvedModule.reference:()Ljava/lang/module/ModuleReference;
astore 13
start local 13 38: aload 13
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
astore 14
start local 14 39: aload 7
aload 14
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ClassLoader
astore 15
start local 15 40: aload 15
ifnonnull 43
41: aload 13
invokestatic jdk.internal.loader.BootLoader.loadModule:(Ljava/lang/module/ModuleReference;)V
42: goto 44
43: StackMap locals: java.lang.String java.lang.ModuleLayer java.lang.Module java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.module.Configuration java.util.function.Function java.lang.ModuleLayer java.util.Map java.lang.ModuleLayer java.lang.module.ResolvedModule java.util.Iterator java.lang.module.ModuleReference java.lang.String java.lang.ClassLoader
StackMap stack:
aload 15
checkcast jdk.internal.loader.BuiltinClassLoader
aload 13
invokevirtual jdk.internal.loader.BuiltinClassLoader.loadModule:(Ljava/lang/module/ModuleReference;)V
end local 15 end local 14 end local 13 end local 11 44: StackMap locals: java.lang.String java.lang.ModuleLayer java.lang.Module java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.module.Configuration java.util.function.Function java.lang.ModuleLayer java.util.Map java.lang.ModuleLayer top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 36
45: aload 8
putstatic jdk.internal.module.Modules.topLayer:Ljava/lang/ModuleLayer;
46: aload 8
aload 0
invokevirtual java.lang.ModuleLayer.findModule:(Ljava/lang/String;)Ljava/util/Optional;
47: invokedynamic get()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;
jdk/internal/module/Modules.lambda$8()Ljava/lang/InternalError; (6)
()Ljava/lang/InternalError;
invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
checkcast java.lang.Module
48: areturn
end local 10 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 49 0 name Ljava/lang/String;
1 49 1 top Ljava/lang/ModuleLayer;
4 49 2 module Ljava/lang/Module;
7 49 3 empty Ljava/lang/module/ModuleFinder;
8 49 4 finder Ljava/lang/module/ModuleFinder;
9 49 5 roots Ljava/util/Set<Ljava/lang/String;>;
10 49 6 cf Ljava/lang/module/Configuration;
11 49 7 clf Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;
12 49 8 newLayer Ljava/lang/ModuleLayer;
17 49 9 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/Module;>;
18 49 10 layer Ljava/lang/ModuleLayer;
21 27 11 m Ljava/lang/Module;
29 33 11 parents Ljava/util/List<Ljava/lang/ModuleLayer;>;
37 44 11 resolvedModule Ljava/lang/module/ResolvedModule;
38 44 13 mref Ljava/lang/module/ModuleReference;
39 44 14 mn Ljava/lang/String;
40 44 15 cl Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
name
public static java.util.Optional<java.lang.Module> findLoadedModule(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Optional;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic jdk.internal.module.Modules.topLayer:Ljava/lang/ModuleLayer;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: invokestatic java.lang.ModuleLayer.boot:()Ljava/lang/ModuleLayer;
astore 1
3: StackMap locals: java.lang.ModuleLayer
StackMap stack:
aload 1
aload 0
invokevirtual java.lang.ModuleLayer.findModule:(Ljava/lang/String;)Ljava/util/Optional;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 name Ljava/lang/String;
1 4 1 top Ljava/lang/ModuleLayer;
Signature: (Ljava/lang/String;)Ljava/util/Optional<Ljava/lang/Module;>;
MethodParameters:
Name Flags
name
private static void lambda$3(java.util.Map, java.lang.Module, java.lang.module.ModuleDescriptor$Exports);
descriptor: (Ljava/util/Map;Ljava/lang/Module;Ljava/lang/module/ModuleDescriptor$Exports;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=3, args_size=3
start local 2 0: aload 2
invokevirtual java.lang.module.ModuleDescriptor$Exports.targets:()Ljava/util/Set;
aload 0
aload 1
aload 2
invokedynamic accept(Ljava/util/Map;Ljava/lang/Module;Ljava/lang/module/ModuleDescriptor$Exports;)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/Modules.lambda$4(Ljava/util/Map;Ljava/lang/Module;Ljava/lang/module/ModuleDescriptor$Exports;Ljava/lang/String;)V (6)
(Ljava/lang/String;)V
invokeinterface java.util.Set.forEach:(Ljava/util/function/Consumer;)V
1: return
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 2 2 e Ljava/lang/module/ModuleDescriptor$Exports;
private static void lambda$6(java.util.Map, java.lang.Module, java.lang.module.ModuleDescriptor$Opens);
descriptor: (Ljava/util/Map;Ljava/lang/Module;Ljava/lang/module/ModuleDescriptor$Opens;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=3, args_size=3
start local 2 0: aload 2
invokevirtual java.lang.module.ModuleDescriptor$Opens.targets:()Ljava/util/Set;
aload 0
aload 1
aload 2
invokedynamic accept(Ljava/util/Map;Ljava/lang/Module;Ljava/lang/module/ModuleDescriptor$Opens;)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/Modules.lambda$7(Ljava/util/Map;Ljava/lang/Module;Ljava/lang/module/ModuleDescriptor$Opens;Ljava/lang/String;)V (6)
(Ljava/lang/String;)V
invokeinterface java.util.Set.forEach:(Ljava/util/function/Consumer;)V
1: return
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 2 2 o Ljava/lang/module/ModuleDescriptor$Opens;
private static java.lang.InternalError lambda$8();
descriptor: ()Ljava/lang/InternalError;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=0, args_size=0
0: new java.lang.InternalError
dup
ldc "module not loaded"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
areturn
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$4(java.util.Map, java.lang.Module, java.lang.module.ModuleDescriptor$Exports, java.lang.String);
descriptor: (Ljava/util/Map;Ljava/lang/Module;Ljava/lang/module/ModuleDescriptor$Exports;Ljava/lang/String;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=5, args_size=4
start local 3 0: aload 0
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Module
astore 4
start local 4 1: aload 4
ifnull 3
2: aload 1
aload 2
invokevirtual java.lang.module.ModuleDescriptor$Exports.source:()Ljava/lang/String;
aload 4
invokestatic jdk.internal.module.Modules.addExports:(Ljava/lang/Module;Ljava/lang/String;Ljava/lang/Module;)V
end local 4 3: StackMap locals:
StackMap stack:
return
end local 3 LocalVariableTable:
Start End Slot Name Signature
0 4 3 target Ljava/lang/String;
1 3 4 other Ljava/lang/Module;
private static void lambda$7(java.util.Map, java.lang.Module, java.lang.module.ModuleDescriptor$Opens, java.lang.String);
descriptor: (Ljava/util/Map;Ljava/lang/Module;Ljava/lang/module/ModuleDescriptor$Opens;Ljava/lang/String;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=5, args_size=4
start local 3 0: aload 0
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Module
astore 4
start local 4 1: aload 4
ifnull 3
2: aload 1
aload 2
invokevirtual java.lang.module.ModuleDescriptor$Opens.source:()Ljava/lang/String;
aload 4
invokestatic jdk.internal.module.Modules.addOpens:(Ljava/lang/Module;Ljava/lang/String;Ljava/lang/Module;)V
end local 4 3: StackMap locals:
StackMap stack:
return
end local 3 LocalVariableTable:
Start End Slot Name Signature
0 4 3 target Ljava/lang/String;
1 3 4 other Ljava/lang/Module;
}
SourceFile: "Modules.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Exports = java.lang.module.ModuleDescriptor$Exports of java.lang.module.ModuleDescriptor
public final Opens = java.lang.module.ModuleDescriptor$Opens of java.lang.module.ModuleDescriptor