public final class jdk.internal.module.ModuleBootstrap
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.internal.module.ModuleBootstrap
super_class: java.lang.Object
{
private static final java.lang.String JAVA_BASE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java.base"
private static final java.lang.String ALL_DEFAULT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "ALL-DEFAULT"
private static final java.lang.String ALL_UNNAMED;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "ALL-UNNAMED"
private static final java.lang.String ALL_SYSTEM;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "ALL-SYSTEM"
private static final java.lang.String ALL_MODULE_PATH;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "ALL-MODULE-PATH"
private static final jdk.internal.misc.JavaLangModuleAccess JLMA;
descriptor: Ljdk/internal/misc/JavaLangModuleAccess;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.internal.module.ModulePatcher patcher;
descriptor: Ljdk/internal/module/ModulePatcher;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static volatile java.lang.module.ModuleFinder unlimitedFinder;
descriptor: Ljava/lang/module/ModuleFinder;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static volatile java.lang.module.ModuleFinder limitedFinder;
descriptor: Ljava/lang/module/ModuleFinder;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static final java.lang.String ADD_MODULES;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "--add-modules"
private static final java.lang.String ADD_EXPORTS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "--add-exports"
private static final java.lang.String ADD_OPENS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "--add-opens"
private static final java.lang.String ADD_READS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "--add-reads"
private static final java.lang.String PATCH_MODULE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "--patch-module"
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic jdk.internal.misc.SharedSecrets.getJavaLangModuleAccess:()Ljdk/internal/misc/JavaLangModuleAccess;
1: putstatic jdk.internal.module.ModuleBootstrap.JLMA:Ljdk/internal/misc/JavaLangModuleAccess;
2: invokestatic jdk.internal.module.ModuleBootstrap.initModulePatcher:()Ljdk/internal/module/ModulePatcher;
putstatic jdk.internal.module.ModuleBootstrap.patcher:Ljdk/internal/module/ModulePatcher;
3: 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/ModuleBootstrap;
public static jdk.internal.module.ModulePatcher patcher();
descriptor: ()Ljdk/internal/module/ModulePatcher;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic jdk.internal.module.ModuleBootstrap.patcher:Ljdk/internal/module/ModulePatcher;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.module.ModuleFinder unlimitedFinder();
descriptor: ()Ljava/lang/module/ModuleFinder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=0
0: getstatic jdk.internal.module.ModuleBootstrap.unlimitedFinder:Ljava/lang/module/ModuleFinder;
astore 0
start local 0 1: aload 0
ifnonnull 3
2: invokestatic java.lang.module.ModuleFinder.ofSystem:()Ljava/lang/module/ModuleFinder;
areturn
3: StackMap locals: java.lang.module.ModuleFinder
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 finder Ljava/lang/module/ModuleFinder;
public static java.lang.module.ModuleFinder limitedFinder();
descriptor: ()Ljava/lang/module/ModuleFinder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=0
0: getstatic jdk.internal.module.ModuleBootstrap.limitedFinder:Ljava/lang/module/ModuleFinder;
astore 0
start local 0 1: aload 0
ifnonnull 3
2: invokestatic jdk.internal.module.ModuleBootstrap.unlimitedFinder:()Ljava/lang/module/ModuleFinder;
areturn
3: StackMap locals: java.lang.module.ModuleFinder
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 finder Ljava/lang/module/ModuleFinder;
public static java.lang.ModuleLayer boot();
descriptor: ()Ljava/lang/ModuleLayer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=39, args_size=0
0: invokestatic java.lang.System.nanoTime:()J
lstore 0
start local 0 1: ldc "jdk.module.upgrade.path"
invokestatic jdk.internal.module.ModuleBootstrap.finderFor:(Ljava/lang/String;)Ljava/lang/module/ModuleFinder;
astore 2
start local 2 2: ldc "jdk.module.path"
invokestatic jdk.internal.module.ModuleBootstrap.finderFor:(Ljava/lang/String;)Ljava/lang/module/ModuleFinder;
astore 3
start local 3 3: getstatic jdk.internal.module.ModuleBootstrap.patcher:Ljdk/internal/module/ModulePatcher;
invokevirtual jdk.internal.module.ModulePatcher.hasPatches:()Z
istore 4
start local 4 4: ldc "jdk.module.main"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 5: invokestatic jdk.internal.module.ModuleBootstrap.addModules:()Ljava/util/Set;
astore 6
start local 6 6: invokestatic jdk.internal.module.ModuleBootstrap.limitModules:()Ljava/util/Set;
astore 7
start local 7 7: aconst_null
astore 8
start local 8 8: ldc "jdk.module.showModuleResolution"
invokestatic jdk.internal.module.ModuleBootstrap.getAndRemoveProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 9
start local 9 9: aload 9
ifnull 11
aload 9
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
ifeq 11
10: getstatic java.lang.System.out:Ljava/io/PrintStream;
astore 8
11: StackMap locals: long java.lang.module.ModuleFinder java.lang.module.ModuleFinder int java.lang.String java.util.Set java.util.Set java.io.PrintStream java.lang.String
StackMap stack:
invokestatic java.lang.System.nanoTime:()J
lstore 10
start local 10 12: aconst_null
astore 12
start local 12 13: aload 3
ifnonnull 14
aload 2
ifnonnull 14
iconst_0
goto 15
StackMap locals: long jdk.internal.module.SystemModules
StackMap stack:
14: iconst_1
StackMap locals:
StackMap stack: int
15: istore 14
start local 14 16: iconst_1
istore 15
start local 15 17: iconst_0
istore 16
start local 16 18: aload 5
invokestatic jdk.internal.module.ArchivedModuleGraph.get:(Ljava/lang/String;)Ljdk/internal/module/ArchivedModuleGraph;
astore 17
start local 17 19: aload 17
ifnull 30
20: iload 14
ifne 30
21: aload 6
invokeinterface java.util.Set.isEmpty:()Z
ifeq 30
22: aload 7
invokeinterface java.util.Set.isEmpty:()Z
ifeq 30
23: iload 4
ifne 30
24: aload 17
invokevirtual jdk.internal.module.ArchivedModuleGraph.systemModules:()Ljdk/internal/module/SystemModules;
astore 12
25: aload 17
invokevirtual jdk.internal.module.ArchivedModuleGraph.finder:()Ljava/lang/module/ModuleFinder;
astore 13
start local 13 26: aload 8
ifnull 27
iconst_1
goto 28
StackMap locals: long java.lang.module.ModuleFinder java.lang.module.ModuleFinder int java.lang.String java.util.Set java.util.Set java.io.PrintStream java.lang.String long jdk.internal.module.SystemModules java.lang.module.ModuleFinder int int int jdk.internal.module.ArchivedModuleGraph
StackMap stack:
27: iconst_0
StackMap locals:
StackMap stack: int
28: istore 15
29: goto 44
end local 13 30: StackMap locals: long java.lang.module.ModuleFinder java.lang.module.ModuleFinder int java.lang.String java.util.Set java.util.Set java.io.PrintStream java.lang.String long jdk.internal.module.SystemModules top int int int jdk.internal.module.ArchivedModuleGraph
StackMap stack:
iload 14
ifne 37
aload 6
invokeinterface java.util.Set.isEmpty:()Z
ifeq 37
aload 7
invokeinterface java.util.Set.isEmpty:()Z
ifeq 37
31: aload 5
invokestatic jdk.internal.module.SystemModuleFinders.systemModules:(Ljava/lang/String;)Ljdk/internal/module/SystemModules;
astore 12
32: aload 12
ifnull 37
iload 4
ifne 37
33: aload 8
ifnull 34
iconst_1
goto 35
StackMap locals:
StackMap stack:
34: iconst_0
StackMap locals:
StackMap stack: int
35: istore 15
36: iconst_1
istore 16
37: StackMap locals:
StackMap stack:
aload 12
ifnonnull 39
38: invokestatic jdk.internal.module.SystemModuleFinders.allSystemModules:()Ljdk/internal/module/SystemModules;
astore 12
39: StackMap locals:
StackMap stack:
aload 12
ifnull 42
40: aload 12
invokestatic jdk.internal.module.SystemModuleFinders.of:(Ljdk/internal/module/SystemModules;)Ljava/lang/module/ModuleFinder;
astore 13
start local 13 41: goto 44
end local 13 42: StackMap locals:
StackMap stack:
new jdk.internal.module.ExplodedSystemModules
dup
invokespecial jdk.internal.module.ExplodedSystemModules.<init>:()V
astore 12
43: invokestatic jdk.internal.module.SystemModuleFinders.ofSystem:()Ljava/lang/module/ModuleFinder;
astore 13
start local 13 44: StackMap locals: long java.lang.module.ModuleFinder java.lang.module.ModuleFinder int java.lang.String java.util.Set java.util.Set java.io.PrintStream java.lang.String long jdk.internal.module.SystemModules java.lang.module.ModuleFinder int int int jdk.internal.module.ArchivedModuleGraph
StackMap stack:
ldc "jdk.module.boot.1.systemModulesTime"
lload 10
invokestatic jdk.internal.module.ModuleBootstrap$Counters.add:(Ljava/lang/String;J)V
45: invokestatic java.lang.System.nanoTime:()J
lstore 18
start local 18 46: aload 13
ldc "java.base"
invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.module.ModuleReference
astore 20
start local 20 47: aload 20
ifnonnull 49
48: new java.lang.InternalError
dup
ldc "java.base not found"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
49: StackMap locals: long java.lang.module.ModuleReference
StackMap stack:
aload 20
invokevirtual java.lang.module.ModuleReference.location:()Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.net.URI
astore 21
start local 21 50: aload 21
ifnonnull 52
51: new java.lang.InternalError
dup
ldc "java.base does not have a location"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
52: StackMap locals: java.net.URI
StackMap stack:
aload 20
invokestatic jdk.internal.loader.BootLoader.loadModule:(Ljava/lang/module/ModuleReference;)V
53: aconst_null
aload 20
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
aload 21
invokestatic jdk.internal.module.Modules.defineModule:(Ljava/lang/ClassLoader;Ljava/lang/module/ModuleDescriptor;Ljava/net/URI;)Ljava/lang/Module;
pop
54: ldc "jdk.module.boot.2.defineBaseTime"
lload 18
invokestatic jdk.internal.module.ModuleBootstrap$Counters.add:(Ljava/lang/String;J)V
55: ldc "jdk.module.validation"
invokestatic jdk.internal.module.ModuleBootstrap.getAndRemoveProperty:(Ljava/lang/String;)Ljava/lang/String;
ifnull 59
56: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokestatic jdk.internal.module.ModulePathValidator.scanAllModules:(Ljava/io/PrintStream;)I
istore 22
start local 22 57: iload 22
ifle 59
58: ldc "Validation of module path failed"
invokestatic jdk.internal.module.ModuleBootstrap.fail:(Ljava/lang/String;)V
end local 22 59: StackMap locals:
StackMap stack:
invokestatic java.lang.System.nanoTime:()J
lstore 22
start local 22 60: aconst_null
astore 24
start local 24 61: iload 15
ifeq 112
62: aload 2
ifnull 66
63: iconst_2
anewarray java.lang.module.ModuleFinder
dup
iconst_0
aload 2
aastore
dup
iconst_1
64: aload 13
aastore
65: invokestatic java.lang.module.ModuleFinder.compose:([Ljava/lang/module/ModuleFinder;)Ljava/lang/module/ModuleFinder;
astore 13
66: StackMap locals: long java.lang.module.ModuleFinder
StackMap stack:
aload 3
ifnull 69
67: iconst_2
anewarray java.lang.module.ModuleFinder
dup
iconst_0
aload 13
aastore
dup
iconst_1
aload 3
aastore
invokestatic java.lang.module.ModuleFinder.compose:([Ljava/lang/module/ModuleFinder;)Ljava/lang/module/ModuleFinder;
astore 25
start local 25 68: goto 70
end local 25 69: StackMap locals:
StackMap stack:
aload 13
astore 25
start local 25 70: StackMap locals: java.lang.module.ModuleFinder
StackMap stack:
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 26
start local 26 71: aload 5
ifnull 73
72: aload 26
aload 5
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
73: StackMap locals: java.util.Set
StackMap stack:
iconst_0
istore 27
start local 27 74: iconst_0
istore 28
start local 28 75: iconst_0
istore 29
start local 29 76: aload 6
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 31
goto 89
StackMap locals: long java.lang.module.ModuleFinder java.lang.module.ModuleFinder int java.lang.String java.util.Set java.util.Set java.io.PrintStream java.lang.String long jdk.internal.module.SystemModules java.lang.module.ModuleFinder int int int jdk.internal.module.ArchivedModuleGraph long java.lang.module.ModuleReference java.net.URI long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set int int int top java.util.Iterator
StackMap stack:
77: aload 31
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 30
start local 30 78: aload 30
dup
astore 32
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 3
-1057501189: 79
564408789: 80
1070226586: 81
default: 88
}
StackMap locals: long java.lang.module.ModuleFinder java.lang.module.ModuleFinder int java.lang.String java.util.Set java.util.Set java.io.PrintStream java.lang.String long jdk.internal.module.SystemModules java.lang.module.ModuleFinder int int int jdk.internal.module.ArchivedModuleGraph long java.lang.module.ModuleReference java.net.URI long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set int int int java.lang.String java.util.Iterator java.lang.String
StackMap stack:
79: aload 32
ldc "ALL-SYSTEM"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 84
goto 88
StackMap locals:
StackMap stack:
80: aload 32
ldc "ALL-DEFAULT"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 82
goto 88
StackMap locals:
StackMap stack:
81: aload 32
ldc "ALL-MODULE-PATH"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 86
goto 88
82: StackMap locals:
StackMap stack:
iconst_1
istore 27
83: goto 89
84: StackMap locals:
StackMap stack:
iconst_1
istore 28
85: goto 89
86: StackMap locals:
StackMap stack:
iconst_1
istore 29
87: goto 89
88: StackMap locals:
StackMap stack:
aload 26
aload 30
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 30 89: StackMap locals: long java.lang.module.ModuleFinder java.lang.module.ModuleFinder int java.lang.String java.util.Set java.util.Set java.io.PrintStream java.lang.String long jdk.internal.module.SystemModules java.lang.module.ModuleFinder int int int jdk.internal.module.ArchivedModuleGraph long java.lang.module.ModuleReference java.net.URI long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set int int int top java.util.Iterator
StackMap stack:
aload 31
invokeinterface java.util.Iterator.hasNext:()Z
ifne 77
90: aload 25
astore 24
91: aload 7
invokeinterface java.util.Set.isEmpty:()Z
ifne 93
92: aload 25
aload 7
aload 26
invokestatic jdk.internal.module.ModuleBootstrap.limitFinder:(Ljava/lang/module/ModuleFinder;Ljava/util/Set;Ljava/util/Set;)Ljava/lang/module/ModuleFinder;
astore 25
93: StackMap locals: long java.lang.module.ModuleFinder java.lang.module.ModuleFinder int java.lang.String java.util.Set java.util.Set java.io.PrintStream java.lang.String long jdk.internal.module.SystemModules java.lang.module.ModuleFinder int int int jdk.internal.module.ArchivedModuleGraph long java.lang.module.ModuleReference java.net.URI long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set int int int
StackMap stack:
aload 5
ifnull 94
iload 27
ifeq 95
94: StackMap locals:
StackMap stack:
aload 26
aload 13
aload 25
invokestatic jdk.internal.module.DefaultRoots.compute:(Ljava/lang/module/ModuleFinder;Ljava/lang/module/ModuleFinder;)Ljava/util/Set;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
95: StackMap locals:
StackMap stack:
iload 28
ifeq 103
96: aload 25
astore 30
start local 30 97: aload 13
invokeinterface java.lang.module.ModuleFinder.findAll:()Ljava/util/Set;
98: invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
99: 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/ModuleReference.descriptor()Ljava/lang/module/ModuleDescriptor; (5)
(Ljava/lang/module/ModuleReference;)Ljava/lang/module/ModuleDescriptor;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
100: 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/ModuleDescriptor.name()Ljava/lang/String; (5)
(Ljava/lang/module/ModuleDescriptor;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
101: aload 30
invokedynamic test(Ljava/lang/module/ModuleFinder;)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
jdk/internal/module/ModuleBootstrap.lambda$2(Ljava/lang/module/ModuleFinder;Ljava/lang/String;)Z (6)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
102: aload 26
invokedynamic accept(Ljava/util/Set;)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/ModuleBootstrap.lambda$3(Ljava/util/Set;Ljava/lang/String;)V (6)
(Ljava/lang/String;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
end local 30 103: StackMap locals:
StackMap stack:
aload 3
ifnull 114
iload 29
ifeq 114
104: aload 25
astore 30
start local 30 105: aload 3
invokeinterface java.lang.module.ModuleFinder.findAll:()Ljava/util/Set;
106: invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
107: 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/ModuleReference.descriptor()Ljava/lang/module/ModuleDescriptor; (5)
(Ljava/lang/module/ModuleReference;)Ljava/lang/module/ModuleDescriptor;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
108: 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/ModuleDescriptor.name()Ljava/lang/String; (5)
(Ljava/lang/module/ModuleDescriptor;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
109: aload 30
invokedynamic test(Ljava/lang/module/ModuleFinder;)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
jdk/internal/module/ModuleBootstrap.lambda$6(Ljava/lang/module/ModuleFinder;Ljava/lang/String;)Z (6)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
110: aload 26
invokedynamic accept(Ljava/util/Set;)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/ModuleBootstrap.lambda$7(Ljava/util/Set;Ljava/lang/String;)V (6)
(Ljava/lang/String;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
end local 30 end local 29 end local 28 end local 27 111: goto 114
end local 26 end local 25 112: StackMap locals: long java.lang.module.ModuleFinder java.lang.module.ModuleFinder int java.lang.String java.util.Set java.util.Set java.io.PrintStream java.lang.String long jdk.internal.module.SystemModules java.lang.module.ModuleFinder int int int jdk.internal.module.ArchivedModuleGraph long java.lang.module.ModuleReference java.net.URI long java.lang.module.ModuleFinder
StackMap stack:
aload 13
astore 25
start local 25 113: aconst_null
astore 26
start local 26 114: StackMap locals: java.lang.module.ModuleFinder java.util.Set
StackMap stack:
ldc "jdk.module.boot.3.optionsAndRootsTime"
lload 22
invokestatic jdk.internal.module.ModuleBootstrap$Counters.add:(Ljava/lang/String;J)V
115: invokestatic java.lang.System.nanoTime:()J
lstore 27
start local 27 116: iload 15
ifeq 119
117: getstatic jdk.internal.module.ModuleBootstrap.JLMA:Ljdk/internal/misc/JavaLangModuleAccess;
aload 25
aload 26
aload 8
invokeinterface jdk.internal.misc.JavaLangModuleAccess.resolveAndBind:(Ljava/lang/module/ModuleFinder;Ljava/util/Collection;Ljava/io/PrintStream;)Ljava/lang/module/Configuration;
astore 29
start local 29 118: goto 124
end local 29 119: StackMap locals: long
StackMap stack:
aload 17
ifnull 122
120: aload 17
invokevirtual jdk.internal.module.ArchivedModuleGraph.configuration:()Ljava/lang/module/Configuration;
astore 29
start local 29 121: goto 124
end local 29 122: StackMap locals:
StackMap stack:
aload 12
invokeinterface jdk.internal.module.SystemModules.moduleReads:()Ljava/util/Map;
astore 30
start local 30 123: getstatic jdk.internal.module.ModuleBootstrap.JLMA:Ljdk/internal/misc/JavaLangModuleAccess;
aload 13
aload 30
invokeinterface jdk.internal.misc.JavaLangModuleAccess.newConfiguration:(Ljava/lang/module/ModuleFinder;Ljava/util/Map;)Ljava/lang/module/Configuration;
astore 29
end local 30 start local 29 124: StackMap locals: java.lang.module.Configuration
StackMap stack:
iload 4
ifeq 129
125: getstatic jdk.internal.module.ModuleBootstrap.patcher:Ljdk/internal/module/ModulePatcher;
invokevirtual jdk.internal.module.ModulePatcher.patchedModules:()Ljava/util/Set;
126: invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
127: aload 29
invokedynamic test(Ljava/lang/module/Configuration;)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
jdk/internal/module/ModuleBootstrap.lambda$8(Ljava/lang/module/Configuration;Ljava/lang/String;)Z (6)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
128: invokedynamic accept()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/ModuleBootstrap.lambda$9(Ljava/lang/String;)V (6)
(Ljava/lang/String;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
129: StackMap locals:
StackMap stack:
ldc "jdk.module.boot.4.resolveTime"
lload 27
invokestatic jdk.internal.module.ModuleBootstrap$Counters.add:(Ljava/lang/String;J)V
130: invokestatic java.lang.System.nanoTime:()J
lstore 30
start local 30 131: aload 29
invokestatic jdk.internal.module.ModuleLoaderMap.mappingFunction:(Ljava/lang/module/Configuration;)Ljava/util/function/Function;
astore 32
start local 32 132: iload 14
ifeq 145
133: aload 29
invokevirtual java.lang.module.Configuration.modules:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 34
goto 144
StackMap locals: long java.lang.module.ModuleFinder java.lang.module.ModuleFinder int java.lang.String java.util.Set java.util.Set java.io.PrintStream java.lang.String long jdk.internal.module.SystemModules java.lang.module.ModuleFinder int int int jdk.internal.module.ArchivedModuleGraph long java.lang.module.ModuleReference java.net.URI long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set long java.lang.module.Configuration long java.util.function.Function top java.util.Iterator
StackMap stack:
134: aload 34
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ResolvedModule
astore 33
start local 33 135: aload 33
invokevirtual java.lang.module.ResolvedModule.reference:()Ljava/lang/module/ModuleReference;
astore 35
start local 35 136: aload 35
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
astore 36
start local 36 137: aload 32
aload 36
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ClassLoader
astore 37
start local 37 138: aload 37
ifnonnull 144
139: aload 2
ifnull 142
140: aload 2
aload 36
invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
invokevirtual java.util.Optional.isPresent:()Z
ifeq 142
141: new java.lang.StringBuilder
dup
aload 36
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": cannot be loaded from upgrade module path"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic jdk.internal.module.ModuleBootstrap.fail:(Ljava/lang/String;)V
142: StackMap locals: long java.lang.module.ModuleFinder java.lang.module.ModuleFinder int java.lang.String java.util.Set java.util.Set java.io.PrintStream java.lang.String long jdk.internal.module.SystemModules java.lang.module.ModuleFinder int int int jdk.internal.module.ArchivedModuleGraph long java.lang.module.ModuleReference java.net.URI long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set long java.lang.module.Configuration long java.util.function.Function java.lang.module.ResolvedModule java.util.Iterator java.lang.module.ModuleReference java.lang.String java.lang.ClassLoader
StackMap stack:
aload 13
aload 36
invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
invokevirtual java.util.Optional.isPresent:()Z
ifne 144
143: new java.lang.StringBuilder
dup
aload 36
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": cannot be loaded from application module path"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic jdk.internal.module.ModuleBootstrap.fail:(Ljava/lang/String;)V
end local 37 end local 36 end local 35 end local 33 144: StackMap locals: long java.lang.module.ModuleFinder java.lang.module.ModuleFinder int java.lang.String java.util.Set java.util.Set java.io.PrintStream java.lang.String long jdk.internal.module.SystemModules java.lang.module.ModuleFinder int int int jdk.internal.module.ArchivedModuleGraph long java.lang.module.ModuleReference java.net.URI long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set long java.lang.module.Configuration long java.util.function.Function top java.util.Iterator
StackMap stack:
aload 34
invokeinterface java.util.Iterator.hasNext:()Z
ifne 134
145: StackMap locals: long java.lang.module.ModuleFinder java.lang.module.ModuleFinder int java.lang.String java.util.Set java.util.Set java.io.PrintStream java.lang.String long jdk.internal.module.SystemModules java.lang.module.ModuleFinder int int int jdk.internal.module.ArchivedModuleGraph long java.lang.module.ModuleReference java.net.URI long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set long java.lang.module.Configuration long java.util.function.Function
StackMap stack:
aload 12
invokeinterface jdk.internal.module.SystemModules.hasSplitPackages:()Z
ifne 146
iload 4
ifne 146
iload 14
ifeq 147
146: StackMap locals:
StackMap stack:
aload 29
aload 32
invokestatic jdk.internal.module.ModuleBootstrap.checkSplitPackages:(Ljava/lang/module/Configuration;Ljava/util/function/Function;)V
147: StackMap locals:
StackMap stack:
aload 29
aload 32
invokestatic jdk.internal.module.ModuleBootstrap.loadModules:(Ljava/lang/module/Configuration;Ljava/util/function/Function;)V
148: ldc "jdk.module.boot.5.loadModulesTime"
lload 30
invokestatic jdk.internal.module.ModuleBootstrap$Counters.add:(Ljava/lang/String;J)V
149: invokestatic java.lang.System.nanoTime:()J
lstore 33
start local 33 150: invokestatic java.lang.ModuleLayer.empty:()Ljava/lang/ModuleLayer;
aload 29
aload 32
invokevirtual java.lang.ModuleLayer.defineModules:(Ljava/lang/module/Configuration;Ljava/util/function/Function;)Ljava/lang/ModuleLayer;
astore 35
start local 35 151: ldc "jdk.module.boot.6.layerCreateTime"
lload 33
invokestatic jdk.internal.module.ModuleBootstrap$Counters.add:(Ljava/lang/String;J)V
152: aload 12
invokeinterface jdk.internal.module.SystemModules.hasIncubatorModules:()Z
ifne 153
iload 14
ifeq 154
153: StackMap locals: long java.lang.ModuleLayer
StackMap stack:
aload 29
invokestatic jdk.internal.module.ModuleBootstrap.checkIncubatingStatus:(Ljava/lang/module/Configuration;)V
154: StackMap locals:
StackMap stack:
invokestatic java.lang.System.nanoTime:()J
lstore 36
start local 36 155: aload 35
invokestatic jdk.internal.module.ModuleBootstrap.addExtraReads:(Ljava/lang/ModuleLayer;)V
156: aload 35
invokestatic jdk.internal.module.ModuleBootstrap.addExtraExportsAndOpens:(Ljava/lang/ModuleLayer;)Z
istore 38
start local 38 157: aload 2
aload 12
aload 35
iload 38
invokestatic jdk.internal.module.ModuleBootstrap.addIllegalAccess:(Ljava/lang/module/ModuleFinder;Ljdk/internal/module/SystemModules;Ljava/lang/ModuleLayer;Z)V
158: ldc "jdk.module.boot.7.adjustModulesTime"
lload 36
invokestatic jdk.internal.module.ModuleBootstrap$Counters.add:(Ljava/lang/String;J)V
159: aload 24
ifnull 163
160: new jdk.internal.module.ModuleBootstrap$SafeModuleFinder
dup
aload 24
invokespecial jdk.internal.module.ModuleBootstrap$SafeModuleFinder.<init>:(Ljava/lang/module/ModuleFinder;)V
putstatic jdk.internal.module.ModuleBootstrap.unlimitedFinder:Ljava/lang/module/ModuleFinder;
161: aload 24
aload 25
if_acmpeq 163
162: new jdk.internal.module.ModuleBootstrap$SafeModuleFinder
dup
aload 25
invokespecial jdk.internal.module.ModuleBootstrap$SafeModuleFinder.<init>:(Ljava/lang/module/ModuleFinder;)V
putstatic jdk.internal.module.ModuleBootstrap.limitedFinder:Ljava/lang/module/ModuleFinder;
163: StackMap locals: long int
StackMap stack:
iload 16
ifeq 167
aload 5
ifnonnull 167
164: aload 5
aload 12
165: aload 13
aload 29
166: invokestatic jdk.internal.module.ArchivedModuleGraph.archive:(Ljava/lang/String;Ljdk/internal/module/SystemModules;Ljava/lang/module/ModuleFinder;Ljava/lang/module/Configuration;)V
167: StackMap locals:
StackMap stack:
ldc "jdk.module.boot.totalTime"
lload 0
invokestatic jdk.internal.module.ModuleBootstrap$Counters.add:(Ljava/lang/String;J)V
168: invokestatic jdk.internal.module.ModuleBootstrap$Counters.publish:()V
169: aload 35
areturn
end local 38 end local 36 end local 35 end local 33 end local 32 end local 30 end local 29 end local 27 end local 26 end local 25 end local 24 end local 22 end local 21 end local 20 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 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 0 LocalVariableTable:
Start End Slot Name Signature
1 170 0 t0 J
2 170 2 upgradeModulePath Ljava/lang/module/ModuleFinder;
3 170 3 appModulePath Ljava/lang/module/ModuleFinder;
4 170 4 isPatched Z
5 170 5 mainModule Ljava/lang/String;
6 170 6 addModules Ljava/util/Set<Ljava/lang/String;>;
7 170 7 limitModules Ljava/util/Set<Ljava/lang/String;>;
8 170 8 traceOutput Ljava/io/PrintStream;
9 170 9 trace Ljava/lang/String;
12 170 10 t1 J
13 170 12 systemModules Ljdk/internal/module/SystemModules;
26 30 13 systemModuleFinder Ljava/lang/module/ModuleFinder;
41 42 13 systemModuleFinder Ljava/lang/module/ModuleFinder;
44 170 13 systemModuleFinder Ljava/lang/module/ModuleFinder;
16 170 14 haveModulePath Z
17 170 15 needResolution Z
18 170 16 canArchive Z
19 170 17 archivedModuleGraph Ljdk/internal/module/ArchivedModuleGraph;
46 170 18 t2 J
47 170 20 base Ljava/lang/module/ModuleReference;
50 170 21 baseUri Ljava/net/URI;
57 59 22 errors I
60 170 22 t3 J
61 170 24 savedModuleFinder Ljava/lang/module/ModuleFinder;
68 69 25 finder Ljava/lang/module/ModuleFinder;
70 112 25 finder Ljava/lang/module/ModuleFinder;
113 170 25 finder Ljava/lang/module/ModuleFinder;
71 112 26 roots Ljava/util/Set<Ljava/lang/String;>;
114 170 26 roots Ljava/util/Set<Ljava/lang/String;>;
74 111 27 addAllDefaultModules Z
75 111 28 addAllSystemModules Z
76 111 29 addAllApplicationModules Z
78 89 30 mod Ljava/lang/String;
97 103 30 f Ljava/lang/module/ModuleFinder;
105 111 30 f Ljava/lang/module/ModuleFinder;
116 170 27 t4 J
118 119 29 cf Ljava/lang/module/Configuration;
121 122 29 cf Ljava/lang/module/Configuration;
124 170 29 cf Ljava/lang/module/Configuration;
123 124 30 map Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;
131 170 30 t5 J
132 170 32 clf Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;
135 144 33 resolvedModule Ljava/lang/module/ResolvedModule;
136 144 35 mref Ljava/lang/module/ModuleReference;
137 144 36 name Ljava/lang/String;
138 144 37 cl Ljava/lang/ClassLoader;
150 170 33 t6 J
151 170 35 bootLayer Ljava/lang/ModuleLayer;
155 170 36 t7 J
157 170 38 extraExportsOrOpens Z
Exceptions:
throws java.lang.Exception
private static void loadModules(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=2, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.module.Configuration.modules:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 11
StackMap locals: java.lang.module.Configuration java.util.function.Function top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ResolvedModule
astore 2
start local 2 2: aload 2
invokevirtual java.lang.module.ResolvedModule.reference:()Ljava/lang/module/ModuleReference;
astore 4
start local 4 3: aload 2
invokevirtual java.lang.module.ResolvedModule.name:()Ljava/lang/String;
astore 5
start local 5 4: aload 1
aload 5
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ClassLoader
astore 6
start local 6 5: aload 6
ifnonnull 9
6: aload 5
ldc "java.base"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 11
7: aload 4
invokestatic jdk.internal.loader.BootLoader.loadModule:(Ljava/lang/module/ModuleReference;)V
8: goto 11
StackMap locals: java.lang.module.Configuration java.util.function.Function java.lang.module.ResolvedModule java.util.Iterator java.lang.module.ModuleReference java.lang.String java.lang.ClassLoader
StackMap stack:
9: aload 6
instanceof jdk.internal.loader.BuiltinClassLoader
ifeq 11
10: aload 6
checkcast jdk.internal.loader.BuiltinClassLoader
aload 4
invokevirtual jdk.internal.loader.BuiltinClassLoader.loadModule:(Ljava/lang/module/ModuleReference;)V
end local 6 end local 5 end local 4 end local 2 11: StackMap locals: java.lang.module.Configuration java.util.function.Function top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 cf Ljava/lang/module/Configuration;
0 13 1 clf Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;
2 11 2 resolvedModule Ljava/lang/module/ResolvedModule;
3 11 4 mref Ljava/lang/module/ModuleReference;
4 11 5 name Ljava/lang/String;
5 11 6 loader Ljava/lang/ClassLoader;
Signature: (Ljava/lang/module/Configuration;Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;)V
MethodParameters:
Name Flags
cf
clf
private static void checkSplitPackages(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=3, locals=12, 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 16
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 5
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
astore 6
start local 6 5: aload 1
aload 6
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ClassLoader
astore 7
start local 7 6: aload 7
ifnull 7
aload 7
instanceof jdk.internal.loader.BuiltinClassLoader
ifeq 16
7: 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.String java.lang.ClassLoader
StackMap stack:
aload 5
invokevirtual java.lang.module.ModuleDescriptor.packages:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 15
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.String java.lang.ClassLoader 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 2
aload 8
aload 6
invokeinterface java.util.Map.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 10
start local 10 10: aload 10
ifnull 15
11: new java.lang.StringBuilder
dup
ldc "Package "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in both module "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " and module "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 11
start local 11 14: new java.lang.LayerInstantiationException
dup
aload 11
invokespecial java.lang.LayerInstantiationException.<init>:(Ljava/lang/String;)V
athrow
end local 11 end local 10 end local 8 15: 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 16: 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
17: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 cf Ljava/lang/module/Configuration;
0 18 1 clf Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;
1 18 2 packageToModule Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
3 16 3 resolvedModule Ljava/lang/module/ResolvedModule;
4 16 5 descriptor Ljava/lang/module/ModuleDescriptor;
5 16 6 name Ljava/lang/String;
6 16 7 loader Ljava/lang/ClassLoader;
9 15 8 p Ljava/lang/String;
10 15 10 other Ljava/lang/String;
14 15 11 msg Ljava/lang/String;
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.module.ModuleFinder limitFinder(java.lang.module.ModuleFinder, java.util.Set<java.lang.String>, java.util.Set<java.lang.String>);
descriptor: (Ljava/lang/module/ModuleFinder;Ljava/util/Set;Ljava/util/Set;)Ljava/lang/module/ModuleFinder;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.lang.module.Configuration.empty:()Ljava/lang/module/Configuration;
aload 0
iconst_0
anewarray java.nio.file.Path
1: invokestatic java.lang.module.ModuleFinder.of:([Ljava/nio/file/Path;)Ljava/lang/module/ModuleFinder;
2: aload 1
3: invokevirtual java.lang.module.Configuration.resolve:(Ljava/lang/module/ModuleFinder;Ljava/lang/module/ModuleFinder;Ljava/util/Collection;)Ljava/lang/module/Configuration;
astore 3
start local 3 4: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 4
start local 4 5: aload 3
invokevirtual java.lang.module.Configuration.modules:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
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/module/ResolvedModule.reference()Ljava/lang/module/ModuleReference; (5)
(Ljava/lang/module/ResolvedModule;)Ljava/lang/module/ModuleReference;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
7: aload 4
invokedynamic accept(Ljava/util/Map;)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/ModuleBootstrap.lambda$11(Ljava/util/Map;Ljava/lang/module/ModuleReference;)V (6)
(Ljava/lang/module/ModuleReference;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
8: aload 2
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
9: aload 0
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic apply(Ljava/lang/module/ModuleFinder;)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/ModuleFinder.find(Ljava/lang/String;)Ljava/util/Optional; (9 itf)
(Ljava/lang/String;)Ljava/util/Optional;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
10: 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/util/Optional.stream()Ljava/util/stream/Stream; (5)
(Ljava/util/Optional;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
11: aload 4
invokedynamic accept(Ljava/util/Map;)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/ModuleBootstrap.lambda$14(Ljava/util/Map;Ljava/lang/module/ModuleReference;)V (6)
(Ljava/lang/module/ModuleReference;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
12: new java.util.HashSet
dup
aload 4
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 6
start local 6 13: new jdk.internal.module.ModuleBootstrap$1
dup
aload 4
aload 6
invokespecial jdk.internal.module.ModuleBootstrap$1.<init>:(Ljava/util/Map;Ljava/util/Set;)V
areturn
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 14 0 finder Ljava/lang/module/ModuleFinder;
0 14 1 roots Ljava/util/Set<Ljava/lang/String;>;
0 14 2 otherMods Ljava/util/Set<Ljava/lang/String;>;
4 14 3 cf Ljava/lang/module/Configuration;
5 14 4 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/module/ModuleReference;>;
13 14 6 mrefs Ljava/util/Set<Ljava/lang/module/ModuleReference;>;
Signature: (Ljava/lang/module/ModuleFinder;Ljava/util/Set<Ljava/lang/String;>;Ljava/util/Set<Ljava/lang/String;>;)Ljava/lang/module/ModuleFinder;
MethodParameters:
Name Flags
finder
roots
otherMods
private static java.lang.module.ModuleFinder finderFor(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/module/ModuleFinder;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=9, args_size=1
start local 0 0: aload 0
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 1
getstatic java.io.File.pathSeparator:Ljava/lang/String;
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 2
start local 2 4: aload 2
arraylength
anewarray java.nio.file.Path
astore 3
start local 3 5: iconst_0
istore 4
start local 4 6: aload 2
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 10
StackMap locals: java.lang.String java.lang.String java.lang.String[] java.nio.file.Path[] int top int int java.lang.String[]
StackMap stack:
7: aload 8
iload 6
aaload
astore 5
start local 5 8: aload 3
iload 4
iinc 4 1
aload 5
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Path.of:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
aastore
end local 5 9: iinc 6 1
StackMap locals:
StackMap stack:
10: iload 6
iload 7
if_icmplt 7
11: getstatic jdk.internal.module.ModuleBootstrap.patcher:Ljdk/internal/module/ModulePatcher;
aload 3
invokestatic jdk.internal.module.ModulePath.of:(Ljdk/internal/module/ModulePatcher;[Ljava/nio/file/Path;)Ljava/lang/module/ModuleFinder;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 prop Ljava/lang/String;
1 12 1 s Ljava/lang/String;
4 12 2 dirs [Ljava/lang/String;
5 12 3 paths [Ljava/nio/file/Path;
6 12 4 i I
8 9 5 dir Ljava/lang/String;
MethodParameters:
Name Flags
prop
private static jdk.internal.module.ModulePatcher initModulePatcher();
descriptor: ()Ljdk/internal/module/ModulePatcher;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: ldc "jdk.module.patch."
1: getstatic java.io.File.pathSeparator:Ljava/lang/String;
2: iconst_0
3: invokestatic jdk.internal.module.ModuleBootstrap.decode:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/Map;
astore 0
start local 0 4: new jdk.internal.module.ModulePatcher
dup
aload 0
invokespecial jdk.internal.module.ModulePatcher.<init>:(Ljava/util/Map;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
4 5 0 map Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
private static java.util.Set<java.lang.String> addModules();
descriptor: ()Ljava/util/Set;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=8, args_size=0
0: ldc "jdk.module.addmods."
astore 0
start local 0 1: iconst_0
istore 1
start local 1 2: new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic jdk.internal.module.ModuleBootstrap.getAndRemoveProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 3: aload 2
ifnonnull 5
4: invokestatic java.util.Set.of:()Ljava/util/Set;
areturn
5: StackMap locals: java.lang.String int java.lang.String
StackMap stack:
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3
start local 3 6: goto 15
7: StackMap locals: java.util.Set
StackMap stack:
aload 2
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 12
StackMap locals: java.lang.String int java.lang.String java.util.Set top int int java.lang.String[]
StackMap stack:
8: aload 7
iload 5
aaload
astore 4
start local 4 9: aload 4
invokevirtual java.lang.String.isEmpty:()Z
ifne 11
10: aload 3
aload 4
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 4 11: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
12: iload 5
iload 6
if_icmplt 8
13: iinc 1 1
14: new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic jdk.internal.module.ModuleBootstrap.getAndRemoveProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
15: StackMap locals: java.lang.String int java.lang.String java.util.Set
StackMap stack:
aload 2
ifnonnull 7
16: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 17 0 prefix Ljava/lang/String;
2 17 1 index I
3 17 2 value Ljava/lang/String;
6 17 3 modules Ljava/util/Set<Ljava/lang/String;>;
9 11 4 s Ljava/lang/String;
Signature: ()Ljava/util/Set<Ljava/lang/String;>;
private static java.util.Set<java.lang.String> limitModules();
descriptor: ()Ljava/util/Set;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=0
0: ldc "jdk.module.limitmods"
invokestatic jdk.internal.module.ModuleBootstrap.getAndRemoveProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 0
start local 0 1: aload 0
ifnonnull 3
2: invokestatic java.util.Set.of:()Ljava/util/Set;
areturn
3: StackMap locals: java.lang.String
StackMap stack:
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 1
start local 1 4: aload 0
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 8
StackMap locals: java.lang.String java.util.Set top int int java.lang.String[]
StackMap stack:
5: aload 5
iload 3
aaload
astore 2
start local 2 6: aload 2
invokevirtual java.lang.String.length:()I
ifle 7
aload 1
aload 2
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 2 7: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
iload 4
if_icmplt 5
9: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 10 0 value Ljava/lang/String;
4 10 1 names Ljava/util/Set<Ljava/lang/String;>;
6 7 2 name Ljava/lang/String;
Signature: ()Ljava/util/Set<Ljava/lang/String;>;
private static void (java.lang.ModuleLayer);
descriptor: (Ljava/lang/ModuleLayer;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=9, args_size=1
start local 0 0: ldc "jdk.module.addreads."
invokestatic jdk.internal.module.ModuleBootstrap.decode:(Ljava/lang/String;)Ljava/util/Map;
astore 1
start local 1 1: aload 1
invokeinterface java.util.Map.isEmpty:()Z
ifeq 3
2: return
3: StackMap locals: java.util.Map
StackMap stack:
aload 1
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 22
StackMap locals: java.lang.ModuleLayer java.util.Map top java.util.Iterator
StackMap stack:
4: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 5: aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 6: aload 0
aload 4
invokevirtual java.lang.ModuleLayer.findModule:(Ljava/lang/String;)Ljava/util/Optional;
astore 5
start local 5 7: aload 5
invokevirtual java.util.Optional.isPresent:()Z
ifne 10
8: ldc "--add-reads"
aload 4
invokestatic jdk.internal.module.ModuleBootstrap.warnUnknownModule:(Ljava/lang/String;Ljava/lang/String;)V
9: goto 22
10: StackMap locals: java.lang.ModuleLayer java.util.Map java.util.Map$Entry java.util.Iterator java.lang.String java.util.Optional
StackMap stack:
aload 5
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast java.lang.Module
astore 6
start local 6 11: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 21
StackMap locals: java.lang.ModuleLayer java.util.Map java.util.Map$Entry java.util.Iterator java.lang.String java.util.Optional java.lang.Module top java.util.Iterator
StackMap stack:
12: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 13: ldc "ALL-UNNAMED"
aload 7
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
14: aload 6
invokestatic jdk.internal.module.Modules.addReadsAllUnnamed:(Ljava/lang/Module;)V
15: goto 21
16: StackMap locals: java.lang.ModuleLayer java.util.Map java.util.Map$Entry java.util.Iterator java.lang.String java.util.Optional java.lang.Module java.lang.String java.util.Iterator
StackMap stack:
aload 0
aload 7
invokevirtual java.lang.ModuleLayer.findModule:(Ljava/lang/String;)Ljava/util/Optional;
astore 5
17: aload 5
invokevirtual java.util.Optional.isPresent:()Z
ifeq 20
18: aload 6
aload 5
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast java.lang.Module
invokestatic jdk.internal.module.Modules.addReads:(Ljava/lang/Module;Ljava/lang/Module;)V
19: goto 21
20: StackMap locals:
StackMap stack:
ldc "--add-reads"
aload 7
invokestatic jdk.internal.module.ModuleBootstrap.warnUnknownModule:(Ljava/lang/String;Ljava/lang/String;)V
end local 7 21: StackMap locals: java.lang.ModuleLayer java.util.Map java.util.Map$Entry java.util.Iterator java.lang.String java.util.Optional java.lang.Module top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
end local 6 end local 5 end local 4 end local 2 22: StackMap locals: java.lang.ModuleLayer java.util.Map top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
23: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 bootLayer Ljava/lang/ModuleLayer;
1 24 1 map Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
5 22 2 e Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
6 22 4 mn Ljava/lang/String;
7 22 5 om Ljava/util/Optional<Ljava/lang/Module;>;
11 22 6 m Ljava/lang/Module;
13 21 7 name Ljava/lang/String;
MethodParameters:
Name Flags
bootLayer
private static boolean addExtraExportsAndOpens(java.lang.ModuleLayer);
descriptor: (Ljava/lang/ModuleLayer;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: ldc "jdk.module.addexports."
astore 2
start local 2 2: aload 2
invokestatic jdk.internal.module.ModuleBootstrap.decode:(Ljava/lang/String;)Ljava/util/Map;
astore 3
start local 3 3: aload 3
invokeinterface java.util.Map.isEmpty:()Z
ifne 6
4: aload 0
aload 3
iconst_0
invokestatic jdk.internal.module.ModuleBootstrap.addExtraExportsOrOpens:(Ljava/lang/ModuleLayer;Ljava/util/Map;Z)V
5: iconst_1
istore 1
6: StackMap locals: int java.lang.String java.util.Map
StackMap stack:
ldc "jdk.module.addopens."
astore 2
7: aload 2
invokestatic jdk.internal.module.ModuleBootstrap.decode:(Ljava/lang/String;)Ljava/util/Map;
astore 4
start local 4 8: aload 4
invokeinterface java.util.Map.isEmpty:()Z
ifne 11
9: aload 0
aload 4
iconst_1
invokestatic jdk.internal.module.ModuleBootstrap.addExtraExportsOrOpens:(Ljava/lang/ModuleLayer;Ljava/util/Map;Z)V
10: iconst_1
istore 1
11: StackMap locals: java.util.Map
StackMap stack:
iload 1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 bootLayer Ljava/lang/ModuleLayer;
1 12 1 extraExportsOrOpens Z
2 12 2 prefix Ljava/lang/String;
3 12 3 extraExports Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
8 12 4 extraOpens Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
MethodParameters:
Name Flags
bootLayer
private static void addExtraExportsOrOpens(java.lang.ModuleLayer, java.util.Map<java.lang.String, java.util.List<java.lang.String>>, );
descriptor: (Ljava/lang/ModuleLayer;Ljava/util/Map;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=16, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifeq 1
ldc "--add-opens"
goto 2
StackMap locals:
StackMap stack:
1: ldc "--add-exports"
StackMap locals:
StackMap stack: java.lang.String
2: astore 3
start local 3 3: aload 1
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 45
StackMap locals: java.lang.ModuleLayer java.util.Map int java.lang.String top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 5: aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 6: aload 6
ldc "/"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 7
start local 7 7: aload 7
arraylength
iconst_2
if_icmpeq 9
8: aload 3
ldc "<module>/<package>"
aload 6
invokestatic jdk.internal.module.ModuleBootstrap.unableToParse:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokestatic jdk.internal.module.ModuleBootstrap.fail:(Ljava/lang/String;)V
9: StackMap locals: java.lang.ModuleLayer java.util.Map int java.lang.String java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String[]
StackMap stack:
aload 7
iconst_0
aaload
astore 8
start local 8 10: aload 7
iconst_1
aaload
astore 9
start local 9 11: aload 8
invokevirtual java.lang.String.isEmpty:()Z
ifne 12
aload 9
invokevirtual java.lang.String.isEmpty:()Z
ifeq 13
12: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 3
ldc "<module>/<package>"
aload 6
invokestatic jdk.internal.module.ModuleBootstrap.unableToParse:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokestatic jdk.internal.module.ModuleBootstrap.fail:(Ljava/lang/String;)V
13: StackMap locals:
StackMap stack:
aload 0
aload 8
invokevirtual java.lang.ModuleLayer.findModule:(Ljava/lang/String;)Ljava/util/Optional;
astore 11
start local 11 14: aload 11
invokevirtual java.util.Optional.isPresent:()Z
ifne 17
15: aload 3
aload 8
invokestatic jdk.internal.module.ModuleBootstrap.warnUnknownModule:(Ljava/lang/String;Ljava/lang/String;)V
16: goto 45
17: StackMap locals: java.lang.ModuleLayer java.util.Map int java.lang.String java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String[] java.lang.String java.lang.String top java.util.Optional
StackMap stack:
aload 11
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast java.lang.Module
astore 10
start local 10 18: aload 10
invokevirtual java.lang.Module.getDescriptor:()Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.packages:()Ljava/util/Set;
aload 9
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 21
19: new java.lang.StringBuilder
dup
ldc "package "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " not in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic jdk.internal.module.ModuleBootstrap.warn:(Ljava/lang/String;)V
20: goto 45
21: StackMap locals: java.lang.ModuleLayer java.util.Map int java.lang.String java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String[] java.lang.String java.lang.String java.lang.Module java.util.Optional
StackMap stack:
aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 13
goto 44
StackMap locals: java.lang.ModuleLayer java.util.Map int java.lang.String java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String[] java.lang.String java.lang.String java.lang.Module java.util.Optional top java.util.Iterator
StackMap stack:
22: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 12
start local 12 23: iconst_0
istore 14
start local 14 24: aconst_null
astore 15
start local 15 25: ldc "ALL-UNNAMED"
aload 12
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 28
26: iconst_1
istore 14
27: goto 34
28: StackMap locals: java.lang.ModuleLayer java.util.Map int java.lang.String java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String[] java.lang.String java.lang.String java.lang.Module java.util.Optional java.lang.String java.util.Iterator int java.lang.Module
StackMap stack:
aload 0
aload 12
invokevirtual java.lang.ModuleLayer.findModule:(Ljava/lang/String;)Ljava/util/Optional;
astore 11
29: aload 11
invokevirtual java.util.Optional.isPresent:()Z
ifeq 32
30: aload 11
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast java.lang.Module
astore 15
31: goto 34
32: StackMap locals:
StackMap stack:
aload 3
aload 12
invokestatic jdk.internal.module.ModuleBootstrap.warnUnknownModule:(Ljava/lang/String;Ljava/lang/String;)V
33: goto 44
34: StackMap locals:
StackMap stack:
iload 14
ifeq 40
35: iload 2
ifeq 38
36: aload 10
aload 9
invokestatic jdk.internal.module.Modules.addOpensToAllUnnamed:(Ljava/lang/Module;Ljava/lang/String;)V
37: goto 44
38: StackMap locals:
StackMap stack:
aload 10
aload 9
invokestatic jdk.internal.module.Modules.addExportsToAllUnnamed:(Ljava/lang/Module;Ljava/lang/String;)V
39: goto 44
40: StackMap locals:
StackMap stack:
iload 2
ifeq 43
41: aload 10
aload 9
aload 15
invokestatic jdk.internal.module.Modules.addOpens:(Ljava/lang/Module;Ljava/lang/String;Ljava/lang/Module;)V
42: goto 44
43: StackMap locals:
StackMap stack:
aload 10
aload 9
aload 15
invokestatic jdk.internal.module.Modules.addExports:(Ljava/lang/Module;Ljava/lang/String;Ljava/lang/Module;)V
end local 15 end local 14 end local 12 44: StackMap locals: java.lang.ModuleLayer java.util.Map int java.lang.String java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String[] java.lang.String java.lang.String java.lang.Module java.util.Optional top java.util.Iterator
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 4 45: StackMap locals: java.lang.ModuleLayer java.util.Map int java.lang.String top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
46: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 bootLayer Ljava/lang/ModuleLayer;
0 47 1 map Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
0 47 2 opens Z
3 47 3 option Ljava/lang/String;
5 45 4 e Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
6 45 6 key Ljava/lang/String;
7 45 7 s [Ljava/lang/String;
10 45 8 mn Ljava/lang/String;
11 45 9 pn Ljava/lang/String;
18 45 10 m Ljava/lang/Module;
14 45 11 om Ljava/util/Optional<Ljava/lang/Module;>;
23 44 12 name Ljava/lang/String;
24 44 14 allUnnamed Z
25 44 15 other Ljava/lang/Module;
Signature: (Ljava/lang/ModuleLayer;Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;Z)V
MethodParameters:
Name Flags
bootLayer
map
opens
private static void addIllegalAccess(java.lang.module.ModuleFinder, jdk.internal.module.SystemModules, java.lang.ModuleLayer, boolean);
descriptor: (Ljava/lang/module/ModuleFinder;Ljdk/internal/module/SystemModules;Ljava/lang/ModuleLayer;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=18, args_size=4
start local 0 start local 1 start local 2 start local 3 0: ldc "jdk.module.illegalAccess"
invokestatic jdk.internal.module.ModuleBootstrap.getAndRemoveProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 1: getstatic jdk.internal.module.IllegalAccessLogger$Mode.ONESHOT:Ljdk/internal/module/IllegalAccessLogger$Mode;
astore 5
start local 5 2: aload 4
ifnull 17
3: aload 4
dup
astore 6
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 4
-991722469: 4
3079692: 5
3641990: 6
95458899: 7
default: 13
}
StackMap locals: java.lang.String jdk.internal.module.IllegalAccessLogger$Mode java.lang.String
StackMap stack:
4: aload 6
ldc "permit"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 17
goto 13
StackMap locals:
StackMap stack:
5: aload 6
ldc "deny"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
goto 13
StackMap locals:
StackMap stack:
6: aload 6
ldc "warn"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
goto 13
StackMap locals:
StackMap stack:
7: aload 6
ldc "debug"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 11
goto 13
8: StackMap locals:
StackMap stack:
return
9: StackMap locals:
StackMap stack:
getstatic jdk.internal.module.IllegalAccessLogger$Mode.WARN:Ljdk/internal/module/IllegalAccessLogger$Mode;
astore 5
10: goto 17
11: StackMap locals:
StackMap stack:
getstatic jdk.internal.module.IllegalAccessLogger$Mode.DEBUG:Ljdk/internal/module/IllegalAccessLogger$Mode;
astore 5
12: goto 17
13: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Value specified to --illegal-access not recognized: '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
14: aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic jdk.internal.module.ModuleBootstrap.fail:(Ljava/lang/String;)V
16: return
17: StackMap locals:
StackMap stack:
new jdk.internal.module.IllegalAccessLogger$Builder
dup
aload 5
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokespecial jdk.internal.module.IllegalAccessLogger$Builder.<init>:(Ljdk/internal/module/IllegalAccessLogger$Mode;Ljava/io/PrintStream;)V
18: astore 7
start local 7 19: aload 1
invokeinterface jdk.internal.module.SystemModules.concealedPackagesToOpen:()Ljava/util/Map;
astore 8
start local 8 20: aload 1
invokeinterface jdk.internal.module.SystemModules.exportedPackagesToOpen:()Ljava/util/Map;
astore 9
start local 9 21: aload 8
invokeinterface java.util.Map.isEmpty:()Z
ifeq 25
aload 9
invokeinterface java.util.Map.isEmpty:()Z
ifeq 25
22: invokestatic jdk.internal.module.ModuleBootstrap.limitedFinder:()Ljava/lang/module/ModuleFinder;
invokestatic jdk.internal.module.IllegalAccessMaps.generate:(Ljava/lang/module/ModuleFinder;)Ljdk/internal/module/IllegalAccessMaps;
astore 10
start local 10 23: aload 10
invokevirtual jdk.internal.module.IllegalAccessMaps.concealedPackagesToOpen:()Ljava/util/Map;
astore 8
24: aload 10
invokevirtual jdk.internal.module.IllegalAccessMaps.exportedPackagesToOpen:()Ljava/util/Map;
astore 9
end local 10 25: StackMap locals: java.lang.module.ModuleFinder jdk.internal.module.SystemModules java.lang.ModuleLayer int java.lang.String jdk.internal.module.IllegalAccessLogger$Mode top jdk.internal.module.IllegalAccessLogger$Builder java.util.Map java.util.Map
StackMap stack:
aload 2
invokevirtual java.lang.ModuleLayer.modules:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 11
goto 58
StackMap locals: java.lang.module.ModuleFinder jdk.internal.module.SystemModules java.lang.ModuleLayer int java.lang.String jdk.internal.module.IllegalAccessLogger$Mode top jdk.internal.module.IllegalAccessLogger$Builder java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
26: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Module
astore 10
start local 10 27: aload 10
invokevirtual java.lang.Module.getDescriptor:()Ljava/lang/module/ModuleDescriptor;
astore 12
start local 12 28: aload 10
invokevirtual java.lang.Module.getName:()Ljava/lang/String;
astore 13
start local 13 29: aload 12
invokevirtual java.lang.module.ModuleDescriptor.isOpen:()Z
ifeq 31
30: goto 58
31: StackMap locals: java.lang.module.ModuleFinder jdk.internal.module.SystemModules java.lang.ModuleLayer int java.lang.String jdk.internal.module.IllegalAccessLogger$Mode top jdk.internal.module.IllegalAccessLogger$Builder java.util.Map java.util.Map java.lang.Module java.util.Iterator java.lang.module.ModuleDescriptor java.lang.String
StackMap stack:
aload 0
ifnull 34
32: aload 0
aload 13
invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
invokevirtual java.util.Optional.isPresent:()Z
ifeq 34
33: goto 58
34: StackMap locals:
StackMap stack:
aload 8
aload 13
invokestatic java.util.Set.of:()Ljava/util/Set;
invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
astore 14
start local 14 35: aload 9
aload 13
invokestatic java.util.Set.of:()Ljava/util/Set;
invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
astore 15
start local 15 36: iload 3
ifeq 52
37: new java.util.HashSet
dup
aload 14
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 14
38: new java.util.HashSet
dup
aload 15
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 15
39: aload 14
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 16
start local 16 40: goto 45
41: StackMap locals: java.util.Set java.util.Set java.util.Iterator
StackMap stack:
aload 16
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 17
start local 17 42: aload 10
aload 17
invokestatic jdk.internal.loader.BootLoader.getUnnamedModule:()Ljava/lang/Module;
invokevirtual java.lang.Module.isExported:(Ljava/lang/String;Ljava/lang/Module;)Z
ifeq 45
43: aload 16
invokeinterface java.util.Iterator.remove:()V
44: aload 15
aload 17
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 17 45: StackMap locals:
StackMap stack:
aload 16
invokeinterface java.util.Iterator.hasNext:()Z
ifne 41
46: aload 15
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 16
47: goto 51
48: StackMap locals:
StackMap stack:
aload 16
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 17
start local 17 49: aload 10
aload 17
invokestatic jdk.internal.loader.BootLoader.getUnnamedModule:()Ljava/lang/Module;
invokevirtual java.lang.Module.isOpen:(Ljava/lang/String;Ljava/lang/Module;)Z
ifeq 51
50: aload 16
invokeinterface java.util.Iterator.remove:()V
end local 17 51: StackMap locals:
StackMap stack:
aload 16
invokeinterface java.util.Iterator.hasNext:()Z
ifne 48
end local 16 52: StackMap locals:
StackMap stack:
aload 7
aload 10
aload 14
invokevirtual jdk.internal.module.IllegalAccessLogger$Builder.logAccessToConcealedPackages:(Ljava/lang/Module;Ljava/util/Set;)Ljdk/internal/module/IllegalAccessLogger$Builder;
pop
53: aload 7
aload 10
aload 15
invokevirtual jdk.internal.module.IllegalAccessLogger$Builder.logAccessToExportedPackages:(Ljava/lang/Module;Ljava/util/Set;)Ljdk/internal/module/IllegalAccessLogger$Builder;
pop
54: invokestatic jdk.internal.misc.SharedSecrets.getJavaLangAccess:()Ljdk/internal/misc/JavaLangAccess;
astore 16
start local 16 55: aload 16
aload 10
aload 14
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
56: aload 15
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
57: invokestatic jdk.internal.module.ModuleBootstrap.concat:(Ljava/util/Iterator;Ljava/util/Iterator;)Ljava/util/Iterator;
invokeinterface jdk.internal.misc.JavaLangAccess.addOpensToAllUnnamed:(Ljava/lang/Module;Ljava/util/Iterator;)V
end local 16 end local 15 end local 14 end local 13 end local 12 end local 10 58: StackMap locals: java.lang.module.ModuleFinder jdk.internal.module.SystemModules java.lang.ModuleLayer int java.lang.String jdk.internal.module.IllegalAccessLogger$Mode top jdk.internal.module.IllegalAccessLogger$Builder java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
59: aload 7
invokevirtual jdk.internal.module.IllegalAccessLogger$Builder.complete:()V
60: return
end local 9 end local 8 end local 7 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 61 0 upgradeModulePath Ljava/lang/module/ModuleFinder;
0 61 1 systemModules Ljdk/internal/module/SystemModules;
0 61 2 bootLayer Ljava/lang/ModuleLayer;
0 61 3 extraExportsOrOpens Z
1 61 4 value Ljava/lang/String;
2 61 5 mode Ljdk/internal/module/IllegalAccessLogger$Mode;
19 61 7 builder Ljdk/internal/module/IllegalAccessLogger$Builder;
20 61 8 map1 Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;
21 61 9 map2 Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;
23 25 10 maps Ljdk/internal/module/IllegalAccessMaps;
27 58 10 m Ljava/lang/Module;
28 58 12 descriptor Ljava/lang/module/ModuleDescriptor;
29 58 13 name Ljava/lang/String;
35 58 14 concealedPackages Ljava/util/Set<Ljava/lang/String;>;
36 58 15 exportedPackages Ljava/util/Set<Ljava/lang/String;>;
40 52 16 iterator Ljava/util/Iterator<Ljava/lang/String;>;
42 45 17 pn Ljava/lang/String;
49 51 17 pn Ljava/lang/String;
55 58 16 jla Ljdk/internal/misc/JavaLangAccess;
MethodParameters:
Name Flags
upgradeModulePath
systemModules
bootLayer
extraExportsOrOpens
private static java.util.Map<java.lang.String, java.util.List<java.lang.String>> decode(java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=15, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic jdk.internal.module.ModuleBootstrap.getAndRemoveProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 2: aload 4
ifnonnull 4
3: invokestatic java.util.Map.of:()Ljava/util/Map;
areturn
4: StackMap locals: int java.lang.String
StackMap stack:
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 5
start local 5 5: goto 30
6: StackMap locals: java.util.Map
StackMap stack:
aload 4
bipush 61
invokevirtual java.lang.String.indexOf:(I)I
istore 6
start local 6 7: iload 6
iconst_m1
if_icmpne 9
8: aload 0
invokestatic jdk.internal.module.ModuleBootstrap.option:(Ljava/lang/String;)Ljava/lang/String;
ldc "<module>=<value>"
aload 4
invokestatic jdk.internal.module.ModuleBootstrap.unableToParse:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokestatic jdk.internal.module.ModuleBootstrap.fail:(Ljava/lang/String;)V
9: StackMap locals: int
StackMap stack:
iload 6
ifne 11
10: aload 0
invokestatic jdk.internal.module.ModuleBootstrap.option:(Ljava/lang/String;)Ljava/lang/String;
ldc "<module>=<value>"
aload 4
invokestatic jdk.internal.module.ModuleBootstrap.unableToParse:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokestatic jdk.internal.module.ModuleBootstrap.fail:(Ljava/lang/String;)V
11: StackMap locals:
StackMap stack:
aload 4
iconst_0
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 7
start local 7 12: aload 4
iload 6
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 8
start local 8 13: aload 8
invokevirtual java.lang.String.isEmpty:()Z
ifeq 15
14: aload 0
invokestatic jdk.internal.module.ModuleBootstrap.option:(Ljava/lang/String;)Ljava/lang/String;
ldc "<module>=<value>"
aload 4
invokestatic jdk.internal.module.ModuleBootstrap.unableToParse:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokestatic jdk.internal.module.ModuleBootstrap.fail:(Ljava/lang/String;)V
15: StackMap locals: java.lang.String java.lang.String
StackMap stack:
iload 2
ifne 17
aload 5
aload 7
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 17
16: new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " specified more than once to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokestatic jdk.internal.module.ModuleBootstrap.option:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic jdk.internal.module.ModuleBootstrap.fail:(Ljava/lang/String;)V
17: StackMap locals:
StackMap stack:
aload 5
aload 7
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;
jdk/internal/module/ModuleBootstrap.lambda$15(Ljava/lang/String;)Ljava/util/List; (6)
(Ljava/lang/String;)Ljava/util/List;
invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast java.util.List
astore 9
start local 9 18: iconst_0
istore 10
start local 10 19: aload 8
aload 1
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
dup
astore 14
arraylength
istore 13
iconst_0
istore 12
goto 25
StackMap locals: java.lang.String java.lang.String int int java.lang.String java.util.Map int java.lang.String java.lang.String java.util.List int top int int java.lang.String[]
StackMap stack:
20: aload 14
iload 12
aaload
astore 11
start local 11 21: aload 11
invokevirtual java.lang.String.isEmpty:()Z
ifne 24
22: aload 9
aload 11
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
23: iinc 10 1
end local 11 24: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
25: iload 12
iload 13
if_icmplt 20
26: iload 10
ifne 28
27: new java.lang.StringBuilder
dup
ldc "Target must be specified: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokestatic jdk.internal.module.ModuleBootstrap.option:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic jdk.internal.module.ModuleBootstrap.fail:(Ljava/lang/String;)V
28: StackMap locals: java.lang.String java.lang.String int int java.lang.String java.util.Map int java.lang.String java.lang.String java.util.List int
StackMap stack:
iinc 3 1
29: new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic jdk.internal.module.ModuleBootstrap.getAndRemoveProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 4
end local 10 end local 9 end local 8 end local 7 end local 6 30: StackMap locals: java.lang.String java.lang.String int int java.lang.String java.util.Map
StackMap stack:
aload 4
ifnonnull 6
31: aload 5
areturn
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 32 0 prefix Ljava/lang/String;
0 32 1 regex Ljava/lang/String;
0 32 2 allowDuplicates Z
1 32 3 index I
2 32 4 value Ljava/lang/String;
5 32 5 map Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
7 30 6 pos I
12 30 7 key Ljava/lang/String;
13 30 8 rhs Ljava/lang/String;
18 30 9 values Ljava/util/List<Ljava/lang/String;>;
19 30 10 ntargets I
21 24 11 s Ljava/lang/String;
Signature: (Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
MethodParameters:
Name Flags
prefix
regex
allowDuplicates
private static java.util.Map<java.lang.String, java.util.List<java.lang.String>> decode(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc ","
iconst_1
invokestatic jdk.internal.module.ModuleBootstrap.decode:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 prefix Ljava/lang/String;
Signature: (Ljava/lang/String;)Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
MethodParameters:
Name Flags
prefix
private static java.lang.String getAndRemoveProperty(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic java.lang.System.getProperties:()Ljava/util/Properties;
aload 0
invokevirtual java.util.Properties.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 key Ljava/lang/String;
MethodParameters:
Name Flags
key
private static void checkIncubatingStatus(java.lang.module.Configuration);
descriptor: (Ljava/lang/module/Configuration;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
invokevirtual java.lang.module.Configuration.modules:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 10
StackMap locals: java.lang.module.Configuration java.lang.String top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ResolvedModule
astore 2
start local 2 3: aload 2
invokevirtual java.lang.module.ResolvedModule.reference:()Ljava/lang/module/ModuleReference;
astore 4
start local 4 4: aload 4
invokestatic jdk.internal.module.ModuleResolution.hasIncubatingWarning:(Ljava/lang/module/ModuleReference;)Z
ifeq 10
5: aload 4
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
astore 5
start local 5 6: aload 1
ifnonnull 9
7: aload 5
astore 1
8: goto 10
9: StackMap locals: java.lang.module.Configuration java.lang.String java.lang.module.ResolvedModule java.util.Iterator java.lang.module.ModuleReference java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
end local 5 end local 4 end local 2 10: StackMap locals: java.lang.module.Configuration java.lang.String top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
11: aload 1
ifnull 13
12: new java.lang.StringBuilder
dup
ldc "Using incubator modules: "
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;
invokestatic jdk.internal.module.ModuleBootstrap.warn:(Ljava/lang/String;)V
13: StackMap locals: java.lang.module.Configuration java.lang.String
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 cf Ljava/lang/module/Configuration;
1 14 1 incubating Ljava/lang/String;
3 10 2 resolvedModule Ljava/lang/module/ResolvedModule;
4 10 4 mref Ljava/lang/module/ModuleReference;
6 10 5 mn Ljava/lang/String;
MethodParameters:
Name Flags
cf
static void fail(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.RuntimeException
dup
aload 0
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 m Ljava/lang/String;
MethodParameters:
Name Flags
m
static void warn(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "WARNING: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 m Ljava/lang/String;
MethodParameters:
Name Flags
m
static void warnUnknownModule(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "Unknown module: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " specified to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic jdk.internal.module.ModuleBootstrap.warn:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 option Ljava/lang/String;
0 2 1 mn Ljava/lang/String;
MethodParameters:
Name Flags
option
mn
static java.lang.String unableToParse(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
ldc "Unable to parse "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 option Ljava/lang/String;
0 1 1 text Ljava/lang/String;
0 1 2 value Ljava/lang/String;
MethodParameters:
Name Flags
option
text
value
static java.lang.String option(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 5
-1634796447: 1
693588459: 2
919126689: 3
994726637: 4
1390198411: 5
default: 11
}
StackMap locals: java.lang.String
StackMap stack:
1: aload 1
ldc "jdk.module.addmods."
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
goto 11
StackMap locals:
StackMap stack:
2: aload 1
ldc "jdk.module.patch."
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
goto 11
StackMap locals:
StackMap stack:
3: aload 1
ldc "jdk.module.addopens."
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 7
goto 11
StackMap locals:
StackMap stack:
4: aload 1