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 JAVA_SE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java.se"
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.module.ModulePatcher patcher;
descriptor: Ljdk/internal/module/ModulePatcher;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static java.lang.module.ModuleFinder unlimitedFinder;
descriptor: Ljava/lang/module/ModuleFinder;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.module.ModuleFinder limitedFinder;
descriptor: Ljava/lang/module/ModuleFinder;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
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 final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Ljdk/internal/module/ModuleBootstrap;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic jdk.internal.module.ModuleBootstrap.$assertionsDisabled:Z
3: invokestatic jdk.internal.module.ModuleBootstrap.initModulePatcher:()Ljdk/internal/module/ModulePatcher;
putstatic jdk.internal.module.ModuleBootstrap.patcher:Ljdk/internal/module/ModulePatcher;
4: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/module/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=2, locals=0, args_size=0
0: getstatic jdk.internal.module.ModuleBootstrap.$assertionsDisabled:Z
ifne 1
getstatic jdk.internal.module.ModuleBootstrap.unlimitedFinder:Ljava/lang/module/ModuleFinder;
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic jdk.internal.module.ModuleBootstrap.unlimitedFinder:Ljava/lang/module/ModuleFinder;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.module.ModuleFinder limitedFinder();
descriptor: ()Ljava/lang/module/ModuleFinder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic jdk.internal.module.ModuleBootstrap.$assertionsDisabled:Z
ifne 1
getstatic jdk.internal.module.ModuleBootstrap.limitedFinder:Ljava/lang/module/ModuleFinder;
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic jdk.internal.module.ModuleBootstrap.limitedFinder:Ljava/lang/module/ModuleFinder;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.ModuleLayer boot();
descriptor: ()Ljava/lang/ModuleLayer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=32, args_size=0
0: invokestatic java.lang.System.nanoTime:()J
lstore 0
start local 0 1: invokestatic java.lang.module.ModuleFinder.ofSystem:()Ljava/lang/module/ModuleFinder;
astore 2
start local 2 2: getstatic jdk.internal.module.ModuleBootstrap$PerfCounters.systemModulesTime:Ljdk/internal/perf/PerfCounter;
lload 0
invokevirtual jdk.internal.perf.PerfCounter.addElapsedTimeFrom:(J)V
3: invokestatic java.lang.System.nanoTime:()J
lstore 3
start local 3 4: aload 2
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 5
start local 5 5: aload 5
ifnonnull 7
6: new java.lang.InternalError
dup
ldc "java.base not found"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference
StackMap stack:
aload 5
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 6
start local 6 8: aload 6
ifnonnull 10
9: new java.lang.InternalError
dup
ldc "java.base does not have a location"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: java.net.URI
StackMap stack:
aload 5
invokestatic jdk.internal.loader.BootLoader.loadModule:(Ljava/lang/module/ModuleReference;)V
11: aconst_null
aload 5
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
aload 6
invokestatic jdk.internal.module.Modules.defineModule:(Ljava/lang/ClassLoader;Ljava/lang/module/ModuleDescriptor;Ljava/net/URI;)Ljava/lang/Module;
pop
12: getstatic jdk.internal.module.ModuleBootstrap$PerfCounters.defineBaseTime:Ljdk/internal/perf/PerfCounter;
lload 3
invokevirtual jdk.internal.perf.PerfCounter.addElapsedTimeFrom:(J)V
13: ldc "jdk.module.minimumBoot"
invokestatic jdk.internal.module.ModuleBootstrap.getAndRemoveProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 7
start local 7 14: aload 7
ifnull 16
15: invokestatic jdk.internal.module.ModuleBootstrap.createMinimalBootLayer:()Ljava/lang/ModuleLayer;
areturn
16: StackMap locals: java.lang.String
StackMap stack:
invokestatic java.lang.System.nanoTime:()J
lstore 8
start local 8 17: ldc "jdk.module.upgrade.path"
invokestatic jdk.internal.module.ModuleBootstrap.createModulePathFinder:(Ljava/lang/String;)Ljava/lang/module/ModuleFinder;
18: astore 10
start local 10 19: aload 10
ifnull 21
20: iconst_2
anewarray java.lang.module.ModuleFinder
dup
iconst_0
aload 10
aastore
dup
iconst_1
aload 2
aastore
invokestatic java.lang.module.ModuleFinder.compose:([Ljava/lang/module/ModuleFinder;)Ljava/lang/module/ModuleFinder;
astore 2
21: StackMap locals: long java.lang.module.ModuleFinder
StackMap stack:
ldc "jdk.module.path"
invokestatic jdk.internal.module.ModuleBootstrap.createModulePathFinder:(Ljava/lang/String;)Ljava/lang/module/ModuleFinder;
astore 11
start local 11 22: aload 2
astore 12
start local 12 23: aload 11
ifnull 25
24: iconst_2
anewarray java.lang.module.ModuleFinder
dup
iconst_0
aload 12
aastore
dup
iconst_1
aload 11
aastore
invokestatic java.lang.module.ModuleFinder.compose:([Ljava/lang/module/ModuleFinder;)Ljava/lang/module/ModuleFinder;
astore 12
25: StackMap locals: java.lang.module.ModuleFinder java.lang.module.ModuleFinder
StackMap stack:
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 13
start local 13 26: ldc "jdk.module.main"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 14
start local 14 27: aload 14
ifnull 29
28: aload 13
aload 14
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
29: StackMap locals: java.util.Set java.lang.String
StackMap stack:
iconst_0
istore 15
start local 15 30: iconst_0
istore 16
start local 16 31: iconst_0
istore 17
start local 17 32: invokestatic jdk.internal.module.ModuleBootstrap.getExtraAddModules:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 19
goto 45
StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int top java.util.Iterator
StackMap stack:
33: aload 19
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 18
start local 18 34: aload 18
dup
astore 20
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 3
-1057501189: 35
564408789: 36
1070226586: 37
default: 44
}
StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int java.lang.String java.util.Iterator java.lang.String
StackMap stack:
35: aload 20
ldc "ALL-SYSTEM"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 40
goto 44
StackMap locals:
StackMap stack:
36: aload 20
ldc "ALL-DEFAULT"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 38
goto 44
StackMap locals:
StackMap stack:
37: aload 20
ldc "ALL-MODULE-PATH"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 42
goto 44
38: StackMap locals:
StackMap stack:
iconst_1
istore 15
39: goto 45
40: StackMap locals:
StackMap stack:
iconst_1
istore 16
41: goto 45
42: StackMap locals:
StackMap stack:
iconst_1
istore 17
43: goto 45
44: StackMap locals:
StackMap stack:
aload 13
aload 18
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 18 45: StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int top java.util.Iterator
StackMap stack:
aload 19
invokeinterface java.util.Iterator.hasNext:()Z
ifne 33
46: aload 12
putstatic jdk.internal.module.ModuleBootstrap.unlimitedFinder:Ljava/lang/module/ModuleFinder;
47: ldc "jdk.module.limitmods"
invokestatic jdk.internal.module.ModuleBootstrap.getAndRemoveProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 7
48: aload 7
ifnull 56
49: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 18
start local 18 50: aload 7
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
dup
astore 22
arraylength
istore 21
iconst_0
istore 20
goto 54
StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int java.util.Set top int int java.lang.String[]
StackMap stack:
51: aload 22
iload 20
aaload
astore 19
start local 19 52: aload 18
aload 19
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 19 53: iinc 20 1
StackMap locals:
StackMap stack:
54: iload 20
iload 21
if_icmplt 51
55: aload 12
aload 18
aload 13
invokestatic jdk.internal.module.ModuleBootstrap.limitFinder:(Ljava/lang/module/ModuleFinder;Ljava/util/Set;Ljava/util/Set;)Ljava/lang/module/ModuleFinder;
astore 12
end local 18 56: StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int
StackMap stack:
aload 12
putstatic jdk.internal.module.ModuleBootstrap.limitedFinder:Ljava/lang/module/ModuleFinder;
57: aload 14
ifnull 58
iload 15
ifeq 79
58: StackMap locals:
StackMap stack:
iconst_0
istore 18
start local 18 59: aload 2
ldc "java.se"
invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
invokevirtual java.util.Optional.isPresent:()Z
ifeq 63
60: aload 12
aload 2
if_acmpeq 61
aload 12
ldc "java.se"
invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
invokevirtual java.util.Optional.isPresent:()Z
ifeq 63
61: StackMap locals: int
StackMap stack:
iconst_1
istore 18
62: aload 13
ldc "java.se"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
63: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.lang.module.ModuleFinder.findAll:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 20
goto 78
StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int int top java.util.Iterator
StackMap stack:
64: aload 20
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleReference
astore 19
start local 19 65: aload 19
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
astore 21
start local 21 66: iload 18
ifeq 68
aload 21
ldc "java."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 68
67: goto 78
68: StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int int java.lang.module.ModuleReference java.util.Iterator java.lang.String
StackMap stack:
aload 19
invokestatic jdk.internal.module.ModuleResolution.doNotResolveByDefault:(Ljava/lang/module/ModuleReference;)Z
ifeq 70
69: goto 78
70: StackMap locals:
StackMap stack:
aload 12
aload 2
if_acmpeq 71
aload 12
aload 21
invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
invokevirtual java.util.Optional.isPresent:()Z
ifeq 78
71: StackMap locals:
StackMap stack:
aload 19
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
astore 22
start local 22 72: aload 22
invokevirtual java.lang.module.ModuleDescriptor.exports:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 24
goto 77
StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int int java.lang.module.ModuleReference java.util.Iterator java.lang.String java.lang.module.ModuleDescriptor top java.util.Iterator
StackMap stack:
73: aload 24
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleDescriptor$Exports
astore 23
start local 23 74: aload 23
invokevirtual java.lang.module.ModuleDescriptor$Exports.isQualified:()Z
ifne 77
75: aload 13
aload 21
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
76: goto 78
end local 23 77: StackMap locals:
StackMap stack:
aload 24
invokeinterface java.util.Iterator.hasNext:()Z
ifne 73
end local 22 end local 21 end local 19 78: StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int int top java.util.Iterator
StackMap stack:
aload 20
invokeinterface java.util.Iterator.hasNext:()Z
ifne 64
end local 18 79: StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int
StackMap stack:
iload 16
ifeq 87
80: aload 12
astore 18
start local 18 81: aload 2
invokeinterface java.lang.module.ModuleFinder.findAll:()Ljava/util/Set;
82: invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
83: 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;
84: 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;
85: aload 18
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;
86: aload 13
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 18 87: StackMap locals:
StackMap stack:
aload 11
ifnull 95
iload 17
ifeq 95
88: aload 12
astore 18
start local 18 89: aload 11
invokeinterface java.lang.module.ModuleFinder.findAll:()Ljava/util/Set;
90: invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
91: 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;
92: 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;
93: aload 18
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;
94: aload 13
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 18 95: StackMap locals:
StackMap stack:
getstatic jdk.internal.module.ModuleBootstrap$PerfCounters.optionsAndRootsTime:Ljdk/internal/perf/PerfCounter;
lload 8
invokevirtual jdk.internal.perf.PerfCounter.addElapsedTimeFrom:(J)V
96: invokestatic java.lang.System.nanoTime:()J
lstore 18
start local 18 97: iconst_1
istore 20
start local 20 98: aload 6
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
ldc "jrt"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 103
99: aload 10
ifnonnull 103
100: aload 11
ifnonnull 103
101: getstatic jdk.internal.module.ModuleBootstrap.patcher:Ljdk/internal/module/ModulePatcher;
invokevirtual jdk.internal.module.ModulePatcher.isEmpty:()Z
ifeq 103
102: iconst_0
istore 20
103: StackMap locals: long int
StackMap stack:
aconst_null
astore 21
start local 21 104: ldc "jdk.module.showModuleResolution"
invokestatic jdk.internal.module.ModuleBootstrap.getAndRemoveProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 7
105: aload 7
ifnull 107
aload 7
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
ifeq 107
106: getstatic java.lang.System.out:Ljava/io/PrintStream;
astore 21
107: StackMap locals: java.io.PrintStream
StackMap stack:
invokestatic jdk.internal.misc.SharedSecrets.getJavaLangModuleAccess:()Ljdk/internal/misc/JavaLangModuleAccess;
108: aload 12
109: aload 13
110: iload 20
111: aload 21
112: invokeinterface jdk.internal.misc.JavaLangModuleAccess.resolveAndBind:(Ljava/lang/module/ModuleFinder;Ljava/util/Collection;ZLjava/io/PrintStream;)Ljava/lang/module/Configuration;
113: astore 22
start local 22 114: getstatic jdk.internal.module.ModuleBootstrap$PerfCounters.resolveTime:Ljdk/internal/perf/PerfCounter;
lload 18
invokevirtual jdk.internal.perf.PerfCounter.addElapsedTimeFrom:(J)V
115: invokestatic java.lang.System.nanoTime:()J
lstore 23
start local 23 116: aload 22
invokestatic jdk.internal.module.ModuleLoaderMap.mappingFunction:(Ljava/lang/module/Configuration;)Ljava/util/function/Function;
astore 25
start local 25 117: iload 20
ifeq 135
118: aload 22
invokevirtual java.lang.module.Configuration.modules:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 27
goto 129
StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int long int java.io.PrintStream java.lang.module.Configuration long java.util.function.Function top java.util.Iterator
StackMap stack:
119: aload 27
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ResolvedModule
astore 26
start local 26 120: aload 26
invokevirtual java.lang.module.ResolvedModule.reference:()Ljava/lang/module/ModuleReference;
astore 28
start local 28 121: aload 28
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
astore 29
start local 29 122: aload 25
aload 29
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ClassLoader
astore 30
start local 30 123: aload 30
ifnonnull 129
124: aload 10
ifnull 127
125: aload 10
aload 29
invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
invokevirtual java.util.Optional.isPresent:()Z
ifeq 127
126: new java.lang.StringBuilder
dup
aload 29
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
127: StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int long int java.io.PrintStream 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 2
aload 29
invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
invokevirtual java.util.Optional.isPresent:()Z
ifne 129
128: new java.lang.StringBuilder
dup
aload 29
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 30 end local 29 end local 28 end local 26 129: StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int long int java.io.PrintStream java.lang.module.Configuration long java.util.function.Function top java.util.Iterator
StackMap stack:
aload 27
invokeinterface java.util.Iterator.hasNext:()Z
ifne 119
130: getstatic jdk.internal.module.ModuleBootstrap.patcher:Ljdk/internal/module/ModulePatcher;
invokevirtual jdk.internal.module.ModulePatcher.patchedModules:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 27
goto 134
StackMap locals:
StackMap stack:
131: aload 27
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 26
start local 26 132: aload 22
aload 26
invokevirtual java.lang.module.Configuration.findModule:(Ljava/lang/String;)Ljava/util/Optional;
invokevirtual java.util.Optional.isPresent:()Z
ifne 134
133: ldc "--patch-module"
aload 26
invokestatic jdk.internal.module.ModuleBootstrap.warnUnknownModule:(Ljava/lang/String;Ljava/lang/String;)V
end local 26 134: StackMap locals:
StackMap stack:
aload 27
invokeinterface java.util.Iterator.hasNext:()Z
ifne 131
135: StackMap locals: long java.lang.module.ModuleFinder long java.lang.module.ModuleReference java.net.URI java.lang.String long java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.lang.module.ModuleFinder java.util.Set java.lang.String int int int long int java.io.PrintStream java.lang.module.Configuration long java.util.function.Function
StackMap stack:
invokestatic jdk.internal.module.SystemModules.hasSplitPackages:()Z
ifne 136
iload 20
ifeq 137
136: StackMap locals:
StackMap stack:
aload 22
aload 25
invokestatic jdk.internal.module.ModuleBootstrap.checkSplitPackages:(Ljava/lang/module/Configuration;Ljava/util/function/Function;)V
137: StackMap locals:
StackMap stack:
aload 22
aload 25
invokestatic jdk.internal.module.ModuleBootstrap.loadModules:(Ljava/lang/module/Configuration;Ljava/util/function/Function;)V
138: getstatic jdk.internal.module.ModuleBootstrap$PerfCounters.loadModulesTime:Ljdk/internal/perf/PerfCounter;
lload 23
invokevirtual jdk.internal.perf.PerfCounter.addElapsedTimeFrom:(J)V
139: invokestatic java.lang.System.nanoTime:()J
lstore 26
start local 26 140: invokestatic java.lang.ModuleLayer.empty:()Ljava/lang/ModuleLayer;
aload 22
aload 25
invokevirtual java.lang.ModuleLayer.defineModules:(Ljava/lang/module/Configuration;Ljava/util/function/Function;)Ljava/lang/ModuleLayer;
astore 28
start local 28 141: getstatic jdk.internal.module.ModuleBootstrap$PerfCounters.layerCreateTime:Ljdk/internal/perf/PerfCounter;
lload 26
invokevirtual jdk.internal.perf.PerfCounter.addElapsedTimeFrom:(J)V
142: aload 22
invokestatic jdk.internal.module.ModuleBootstrap.checkIncubatingStatus:(Ljava/lang/module/Configuration;)V
143: invokestatic java.lang.System.nanoTime:()J
lstore 29
start local 29 144: aload 28
invokestatic jdk.internal.module.ModuleBootstrap.addExtraReads:(Ljava/lang/ModuleLayer;)V
145: aload 28
invokestatic jdk.internal.module.ModuleBootstrap.addExtraExportsAndOpens:(Ljava/lang/ModuleLayer;)Z
istore 31
start local 31 146: aload 28
aload 10
iload 31
invokestatic jdk.internal.module.ModuleBootstrap.addIllegalAccess:(Ljava/lang/ModuleLayer;Ljava/lang/module/ModuleFinder;Z)V
147: getstatic jdk.internal.module.ModuleBootstrap$PerfCounters.adjustModulesTime:Ljdk/internal/perf/PerfCounter;
lload 29
invokevirtual jdk.internal.perf.PerfCounter.addElapsedTimeFrom:(J)V
148: getstatic jdk.internal.module.ModuleBootstrap$PerfCounters.bootstrapTime:Ljdk/internal/perf/PerfCounter;
lload 0
invokevirtual jdk.internal.perf.PerfCounter.addElapsedTimeFrom:(J)V
149: aload 28
areturn
end local 31 end local 29 end local 28 end local 26 end local 25 end local 23 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 11 end local 10 end local 8 end local 7 end local 6 end local 5 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 150 0 t1 J
2 150 2 systemModules Ljava/lang/module/ModuleFinder;
4 150 3 t2 J
5 150 5 base Ljava/lang/module/ModuleReference;
8 150 6 baseUri Ljava/net/URI;
14 150 7 propValue Ljava/lang/String;
17 150 8 t3 J
19 150 10 upgradeModulePath Ljava/lang/module/ModuleFinder;
22 150 11 appModulePath Ljava/lang/module/ModuleFinder;
23 150 12 finder Ljava/lang/module/ModuleFinder;
26 150 13 roots Ljava/util/Set<Ljava/lang/String;>;
27 150 14 mainModule Ljava/lang/String;
30 150 15 addAllDefaultModules Z
31 150 16 addAllSystemModules Z
32 150 17 addAllApplicationModules Z
34 45 18 mod Ljava/lang/String;
50 56 18 mods Ljava/util/Set<Ljava/lang/String;>;
52 53 19 mod Ljava/lang/String;
59 79 18 hasJava Z
65 78 19 mref Ljava/lang/module/ModuleReference;
66 78 21 mn Ljava/lang/String;
72 78 22 descriptor Ljava/lang/module/ModuleDescriptor;
74 77 23 e Ljava/lang/module/ModuleDescriptor$Exports;
81 87 18 f Ljava/lang/module/ModuleFinder;
89 95 18 f Ljava/lang/module/ModuleFinder;
97 150 18 t4 J
98 150 20 needPostResolutionChecks Z
104 150 21 traceOutput Ljava/io/PrintStream;
114 150 22 cf Ljava/lang/module/Configuration;
116 150 23 t5 J
117 150 25 clf Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;
120 129 26 resolvedModule Ljava/lang/module/ResolvedModule;
121 129 28 mref Ljava/lang/module/ModuleReference;
122 129 29 name Ljava/lang/String;
123 129 30 cl Ljava/lang/ClassLoader;
132 134 26 mn Ljava/lang/String;
140 150 26 t6 J
141 150 28 bootLayer Ljava/lang/ModuleLayer;
144 150 29 t7 J
146 150 31 extraExportsOrOpens Z
private static java.lang.ModuleLayer createMinimalBootLayer();
descriptor: ()Ljava/lang/ModuleLayer;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=0
0: invokestatic jdk.internal.misc.SharedSecrets.getJavaLangModuleAccess:()Ljdk/internal/misc/JavaLangModuleAccess;
1: invokestatic java.lang.module.ModuleFinder.ofSystem:()Ljava/lang/module/ModuleFinder;
2: ldc "java.base"
invokestatic java.util.Set.of:(Ljava/lang/Object;)Ljava/util/Set;
3: iconst_0
4: aconst_null
5: invokeinterface jdk.internal.misc.JavaLangModuleAccess.resolveAndBind:(Ljava/lang/module/ModuleFinder;Ljava/util/Collection;ZLjava/io/PrintStream;)Ljava/lang/module/Configuration;
6: astore 0
start local 0 7: aload 0
invokestatic jdk.internal.module.ModuleLoaderMap.mappingFunction:(Ljava/lang/module/Configuration;)Ljava/util/function/Function;
astore 1
start local 1 8: invokestatic java.lang.ModuleLayer.empty:()Ljava/lang/ModuleLayer;
aload 0
aload 1
invokevirtual java.lang.ModuleLayer.defineModules:(Ljava/lang/module/Configuration;Ljava/util/function/Function;)Ljava/lang/ModuleLayer;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
7 9 0 cf Ljava/lang/module/Configuration;
8 9 1 clf Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;
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$9(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$12(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 createModulePathFinder(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.Paths.get:(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> getExtraAddModules();
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.Collections.emptySet:()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 14
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 11
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.length:()I
ifle 10
aload 3
aload 4
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 4 10: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
iload 6
if_icmplt 8
12: iinc 1 1
13: 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
14: StackMap locals: java.lang.String int java.lang.String java.util.Set
StackMap stack:
aload 2
ifnonnull 7
15: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 16 0 prefix Ljava/lang/String;
2 16 1 index I
3 16 2 value Ljava/lang/String;
6 16 3 modules Ljava/util/Set<Ljava/lang/String;>;
9 10 4 s 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.ModuleLayer, java.lang.module.ModuleFinder, boolean);
descriptor: (Ljava/lang/ModuleLayer;Ljava/lang/module/ModuleFinder;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=17, args_size=3
start local 0 start local 1 start local 2 0: ldc "jdk.module.illegalAccess"
invokestatic jdk.internal.module.ModuleBootstrap.getAndRemoveProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 1: getstatic jdk.internal.module.IllegalAccessLogger$Mode.ONESHOT:Ljdk/internal/module/IllegalAccessLogger$Mode;
astore 4
start local 4 2: aload 3
ifnull 17
3: aload 3
dup
astore 5
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 5
ldc "permit"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 17
goto 13
StackMap locals:
StackMap stack:
5: aload 5
ldc "deny"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
goto 13
StackMap locals:
StackMap stack:
6: aload 5
ldc "warn"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
goto 13
StackMap locals:
StackMap stack:
7: aload 5
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 4
10: goto 17
11: StackMap locals:
StackMap stack:
getstatic jdk.internal.module.IllegalAccessLogger$Mode.DEBUG:Ljdk/internal/module/IllegalAccessLogger$Mode;
astore 4
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 3
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 4
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 6
start local 6 19: invokestatic jdk.internal.module.SystemModules.concealedPackagesToOpen:()Ljava/util/Map;
astore 7
start local 7 20: invokestatic jdk.internal.module.SystemModules.exportedPackagesToOpen:()Ljava/util/Map;
astore 8
start local 8 21: aload 7
invokeinterface java.util.Map.isEmpty:()Z
ifeq 25
aload 8
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 9
start local 9 23: aload 9
invokevirtual jdk.internal.module.IllegalAccessMaps.concealedPackagesToOpen:()Ljava/util/Map;
astore 7
24: aload 9
invokevirtual jdk.internal.module.IllegalAccessMaps.exportedPackagesToOpen:()Ljava/util/Map;
astore 8
end local 9 25: StackMap locals: java.lang.ModuleLayer java.lang.module.ModuleFinder int java.lang.String jdk.internal.module.IllegalAccessLogger$Mode top jdk.internal.module.IllegalAccessLogger$Builder java.util.Map java.util.Map
StackMap stack:
aload 0
invokevirtual java.lang.ModuleLayer.modules:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 10
goto 58
StackMap locals: java.lang.ModuleLayer java.lang.module.ModuleFinder 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 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Module
astore 9
start local 9 27: aload 9
invokevirtual java.lang.Module.getDescriptor:()Ljava/lang/module/ModuleDescriptor;
astore 11
start local 11 28: aload 9
invokevirtual java.lang.Module.getName:()Ljava/lang/String;
astore 12
start local 12 29: aload 11
invokevirtual java.lang.module.ModuleDescriptor.isOpen:()Z
ifeq 31
30: goto 58
31: StackMap locals: java.lang.ModuleLayer java.lang.module.ModuleFinder 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 1
ifnull 34
32: aload 1
aload 12
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 7
aload 12
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 13
start local 13 35: aload 8
aload 12
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 36: iload 2
ifeq 52
37: new java.util.HashSet
dup
aload 13
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 13
38: new java.util.HashSet
dup
aload 14
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 14
39: aload 13
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 15
start local 15 40: goto 45
41: StackMap locals: java.util.Set java.util.Set java.util.Iterator
StackMap stack:
aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 16
start local 16 42: aload 9
aload 16
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 15
invokeinterface java.util.Iterator.remove:()V
44: aload 14
aload 16
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 16 45: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 41
46: aload 14
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 15
47: goto 51
48: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 16
start local 16 49: aload 9
aload 16
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 15
invokeinterface java.util.Iterator.remove:()V
end local 16 51: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 48
end local 15 52: StackMap locals:
StackMap stack:
aload 6
aload 9
aload 13
invokevirtual jdk.internal.module.IllegalAccessLogger$Builder.logAccessToConcealedPackages:(Ljava/lang/Module;Ljava/util/Set;)Ljdk/internal/module/IllegalAccessLogger$Builder;
pop
53: aload 6
aload 9
aload 14
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 15
start local 15 55: aload 15
aload 9
aload 13
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
56: aload 14
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 15 end local 14 end local 13 end local 12 end local 11 end local 9 58: StackMap locals: java.lang.ModuleLayer java.lang.module.ModuleFinder 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 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
59: aload 6
invokevirtual jdk.internal.module.IllegalAccessLogger$Builder.complete:()V
60: return
end local 8 end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 61 0 bootLayer Ljava/lang/ModuleLayer;
0 61 1 upgradeModulePath Ljava/lang/module/ModuleFinder;
0 61 2 extraExportsOrOpens Z
1 61 3 value Ljava/lang/String;
2 61 4 mode Ljdk/internal/module/IllegalAccessLogger$Mode;
19 61 6 builder Ljdk/internal/module/IllegalAccessLogger$Builder;
20 61 7 map1 Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;
21 61 8 map2 Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;
23 25 9 maps Ljdk/internal/module/IllegalAccessMaps;
27 58 9 m Ljava/lang/Module;
28 58 11 descriptor Ljava/lang/module/ModuleDescriptor;
29 58 12 name Ljava/lang/String;
35 58 13 concealedPackages Ljava/util/Set<Ljava/lang/String;>;
36 58 14 exportedPackages Ljava/util/Set<Ljava/lang/String;>;
40 52 15 iterator Ljava/util/Iterator<Ljava/lang/String;>;
42 45 16 pn Ljava/lang/String;
49 51 16 pn Ljava/lang/String;
55 58 15 jla Ljdk/internal/misc/JavaLangAccess;
MethodParameters:
Name Flags
bootLayer
upgradeModulePath
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.Collections.emptyMap:()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$13(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.length:()I
ifle 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
ldc "jdk.module.addreads."
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
goto 11
StackMap locals:
StackMap stack:
5: aload 1
ldc "jdk.module.addexports."
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
goto 11
6: StackMap locals:
StackMap stack:
ldc "--add-exports"
areturn
7: StackMap locals:
StackMap stack:
ldc "--add-opens"
areturn
8: StackMap locals:
StackMap stack:
ldc "--add-reads"
areturn
9: StackMap locals:
StackMap stack:
ldc "--patch-module"
areturn
10: StackMap locals:
StackMap stack:
ldc "--add-modules"
areturn
11: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
aload 0
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 prefix Ljava/lang/String;
MethodParameters:
Name Flags
prefix
static <T> java.util.Iterator<T> concat(java.util.Iterator<T>, java.util.Iterator<T>);
descriptor: (Ljava/util/Iterator;Ljava/util/Iterator;)Ljava/util/Iterator;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new jdk.internal.module.ModuleBootstrap$2
dup
aload 0
aload 1
invokespecial jdk.internal.module.ModuleBootstrap$2.<init>:(Ljava/util/Iterator;Ljava/util/Iterator;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 iterator1 Ljava/util/Iterator<TT;>;
0 1 1 iterator2 Ljava/util/Iterator<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/util/Iterator<TT;>;Ljava/util/Iterator<TT;>;)Ljava/util/Iterator<TT;>;
MethodParameters:
Name Flags
iterator1
iterator2
private static boolean lambda$2(java.lang.module.ModuleFinder, java.lang.String);
descriptor: (Ljava/lang/module/ModuleFinder;Ljava/lang/String;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
invokevirtual java.util.Optional.isPresent:()Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 mn Ljava/lang/String;
private static void lambda$3(java.util.Set, java.lang.String);
descriptor: (Ljava/util/Set;Ljava/lang/String;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 mn Ljava/lang/String;
private static boolean lambda$6(java.lang.module.ModuleFinder, java.lang.String);
descriptor: (Ljava/lang/module/ModuleFinder;Ljava/lang/String;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
invokevirtual java.util.Optional.isPresent:()Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 mn Ljava/lang/String;
private static void lambda$7(java.util.Set, java.lang.String);
descriptor: (Ljava/util/Set;Ljava/lang/String;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 mn Ljava/lang/String;
private static void lambda$9(java.util.Map, java.lang.module.ModuleReference);
descriptor: (Ljava/util/Map;Ljava/lang/module/ModuleReference;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 mref Ljava/lang/module/ModuleReference;
private static void lambda$12(java.util.Map, java.lang.module.ModuleReference);
descriptor: (Ljava/util/Map;Ljava/lang/module/ModuleReference;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
aload 1
invokeinterface java.util.Map.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 mref Ljava/lang/module/ModuleReference;
private static java.util.List lambda$13(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/List;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 k Ljava/lang/String;
}
SourceFile: "ModuleBootstrap.java"
NestMembers:
jdk.internal.module.ModuleBootstrap$1 jdk.internal.module.ModuleBootstrap$2 jdk.internal.module.ModuleBootstrap$PerfCounters
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Exports = java.lang.module.ModuleDescriptor$Exports of java.lang.module.ModuleDescriptor
public abstract Entry = java.util.Map$Entry of java.util.Map
public Builder = jdk.internal.module.IllegalAccessLogger$Builder of jdk.internal.module.IllegalAccessLogger
public final Mode = jdk.internal.module.IllegalAccessLogger$Mode of jdk.internal.module.IllegalAccessLogger
jdk.internal.module.ModuleBootstrap$1
jdk.internal.module.ModuleBootstrap$2
PerfCounters = jdk.internal.module.ModuleBootstrap$PerfCounters of jdk.internal.module.ModuleBootstrap