public final class jdk.tools.jlink.internal.plugins.SystemModulesPlugin implements jdk.tools.jlink.plugin.Plugin
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.tools.jlink.internal.plugins.SystemModulesPlugin
super_class: java.lang.Object
{
private static final java.lang.String NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "system-modules"
private static final java.lang.String DESCRIPTION;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String SYSTEM_MODULES_MAP_CLASS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "jdk/internal/module/SystemModulesMap"
private static final java.lang.String SYSTEM_MODULES_CLASS_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "jdk/internal/module/SystemModules$"
private static final java.lang.String ALL_SYSTEM_MODULES_CLASS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "jdk/internal/module/SystemModules$all"
private static final java.lang.String DEFAULT_SYSTEM_MODULES_CLASS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "jdk/internal/module/SystemModules$default"
private boolean enabled;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
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/tools/jlink/internal/plugins/SystemModulesPlugin;
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.tools.jlink.internal.plugins.SystemModulesPlugin.$assertionsDisabled:Z
3: ldc "system-modules"
invokestatic jdk.tools.jlink.internal.plugins.PluginsResourceBundle.getDescription:(Ljava/lang/String;)Ljava/lang/String;
4: putstatic jdk.tools.jlink.internal.plugins.SystemModulesPlugin.DESCRIPTION:Ljava/lang/String;
5: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_1
putfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin.enabled:Z
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin;
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "system-modules"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin;
public java.lang.String getDescription();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic jdk.tools.jlink.internal.plugins.SystemModulesPlugin.DESCRIPTION:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin;
public java.util.Set<jdk.tools.jlink.plugin.Plugin$State> getState();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin.enabled:Z
ifeq 1
getstatic jdk.tools.jlink.plugin.Plugin$State.AUTO_ENABLED:Ljdk/tools/jlink/plugin/Plugin$State;
getstatic jdk.tools.jlink.plugin.Plugin$State.FUNCTIONAL:Ljdk/tools/jlink/plugin/Plugin$State;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
goto 2
1: StackMap locals:
StackMap stack:
getstatic jdk.tools.jlink.plugin.Plugin$State.DISABLED:Ljdk/tools/jlink/plugin/Plugin$State;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
2: StackMap locals:
StackMap stack: java.util.EnumSet
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin;
Signature: ()Ljava/util/Set<Ljdk/tools/jlink/plugin/Plugin$State;>;
public boolean hasArguments();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin;
public java.lang.String getArgumentsDescription();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc "system-modules"
iconst_0
anewarray java.lang.Object
invokestatic jdk.tools.jlink.internal.plugins.PluginsResourceBundle.getArgument:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin;
public void configure(java.util.Map<java.lang.String, java.lang.String>);
descriptor: (Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ldc "system-modules"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 1: aload 2
ifnull 3
2: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "system-modules: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.lang.String
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin;
0 4 1 config Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
1 4 2 arg Ljava/lang/String;
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
MethodParameters:
Name Flags
config
public jdk.tools.jlink.plugin.ResourcePool transform(jdk.tools.jlink.plugin.ResourcePool, jdk.tools.jlink.plugin.ResourcePoolBuilder);
descriptor: (Ljdk/tools/jlink/plugin/ResourcePool;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)Ljdk/tools/jlink/plugin/ResourcePool;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin.enabled:Z
ifne 2
1: new jdk.tools.jlink.plugin.PluginException
dup
ldc "system-modules was set"
invokespecial jdk.tools.jlink.plugin.PluginException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin.transformModuleInfos:(Ljdk/tools/jlink/plugin/ResourcePool;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)Ljava/util/List;
astore 3
start local 3 3: aload 0
aload 3
aload 2
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin.genSystemModulesClasses:(Ljava/util/List;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)Ljava/util/Set;
astore 4
start local 4 4: aload 1
invokeinterface jdk.tools.jlink.plugin.ResourcePool.entries:()Ljava/util/stream/Stream;
5: aload 4
invokedynamic test(Ljava/util/Set;)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/tools/jlink/internal/plugins/SystemModulesPlugin.lambda$0(Ljava/util/Set;Ljdk/tools/jlink/plugin/ResourcePoolEntry;)Z (6)
(Ljdk/tools/jlink/plugin/ResourcePoolEntry;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
6: aload 2
invokedynamic accept(Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)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/tools/jlink/internal/plugins/SystemModulesPlugin.lambda$1(Ljdk/tools/jlink/plugin/ResourcePoolBuilder;Ljdk/tools/jlink/plugin/ResourcePoolEntry;)V (6)
(Ljdk/tools/jlink/plugin/ResourcePoolEntry;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
7: aload 2
invokeinterface jdk.tools.jlink.plugin.ResourcePoolBuilder.build:()Ljdk/tools/jlink/plugin/ResourcePool;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin;
0 8 1 in Ljdk/tools/jlink/plugin/ResourcePool;
0 8 2 out Ljdk/tools/jlink/plugin/ResourcePoolBuilder;
3 8 3 moduleInfos Ljava/util/List<Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;>;
4 8 4 generated Ljava/util/Set<Ljava/lang/String;>;
MethodParameters:
Name Flags
in
out
java.util.List<jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo> transformModuleInfos(jdk.tools.jlink.plugin.ResourcePool, jdk.tools.jlink.plugin.ResourcePoolBuilder);
descriptor: (Ljdk/tools/jlink/plugin/ResourcePool;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)Ljava/util/List;
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: new jdk.tools.jlink.internal.ModuleSorter
dup
aload 1
invokeinterface jdk.tools.jlink.plugin.ResourcePool.moduleView:()Ljdk/tools/jlink/plugin/ResourcePoolModuleView;
invokespecial jdk.tools.jlink.internal.ModuleSorter.<init>:(Ljdk/tools/jlink/plugin/ResourcePoolModuleView;)V
invokevirtual jdk.tools.jlink.internal.ModuleSorter.sorted:()Ljava/util/stream/Stream;
aload 3
aload 2
invokedynamic accept(Ljava/util/List;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)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/tools/jlink/internal/plugins/SystemModulesPlugin.lambda$2(Ljava/util/List;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;Ljdk/tools/jlink/plugin/ResourcePoolModule;)V (6)
(Ljdk/tools/jlink/plugin/ResourcePoolModule;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
2: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin;
0 3 1 in Ljdk/tools/jlink/plugin/ResourcePool;
0 3 2 out Ljdk/tools/jlink/plugin/ResourcePoolBuilder;
1 3 3 moduleInfos Ljava/util/List<Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;>;
Signature: (Ljdk/tools/jlink/plugin/ResourcePool;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)Ljava/util/List<Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;>;
MethodParameters:
Name Flags
in
out
private java.util.Set<java.lang.String> genSystemModulesClasses(java.util.List<jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo>, jdk.tools.jlink.plugin.ResourcePoolBuilder);
descriptor: (Ljava/util/List;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=16, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface java.util.List.size:()I
istore 3
start local 3 1: aload 1
invokestatic jdk.tools.jlink.internal.plugins.SystemModulesPlugin.finderOf:(Ljava/util/Collection;)Ljava/lang/module/ModuleFinder;
astore 4
start local 4 2: getstatic jdk.tools.jlink.internal.plugins.SystemModulesPlugin.$assertionsDisabled:Z
ifne 3
aload 4
invokeinterface java.lang.module.ModuleFinder.findAll:()Ljava/util/Set;
invokeinterface java.util.Set.size:()I
iload 3
if_icmpeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: int java.lang.module.ModuleFinder
StackMap stack:
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
astore 5
start local 5 4: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 6
start local 6 5: aload 1
invokeinterface java.util.List.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;
jdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo.moduleName()Ljava/lang/String; (5)
(Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
7: invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.Set
8: astore 7
start local 7 9: aload 0
aload 1
10: aload 0
aload 4
aload 7
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin.resolve:(Ljava/lang/module/ModuleFinder;Ljava/util/Set;)Ljava/lang/module/Configuration;
11: ldc "jdk/internal/module/SystemModules$all"
12: aload 2
13: invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin.genSystemModulesClass:(Ljava/util/List;Ljava/lang/module/Configuration;Ljava/lang/String;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)Ljava/lang/String;
astore 8
start local 8 14: aload 6
aload 8
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
15: aload 0
aload 4
aload 4
invokestatic jdk.internal.module.DefaultRoots.compute:(Ljava/lang/module/ModuleFinder;)Ljava/util/Set;
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin.resolve:(Ljava/lang/module/ModuleFinder;Ljava/util/Set;)Ljava/lang/module/Configuration;
astore 10
start local 10 16: aload 10
invokevirtual java.lang.module.Configuration.modules:()Ljava/util/Set;
invokeinterface java.util.Set.size:()I
iload 3
if_icmpne 19
17: ldc "jdk/internal/module/SystemModules$all"
astore 9
start local 9 18: goto 26
end local 9 19: StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin java.util.List jdk.tools.jlink.plugin.ResourcePoolBuilder int java.lang.module.ModuleFinder java.util.Map java.util.Set java.util.Set java.lang.String top java.lang.module.Configuration
StackMap stack:
ldc "jdk/internal/module/SystemModules$default"
astore 9
start local 9 20: aload 0
aload 0
aload 1
aload 10
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin.sublist:(Ljava/util/List;Ljava/lang/module/Configuration;)Ljava/util/List;
21: aload 10
22: aload 9
23: aload 2
24: invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin.genSystemModulesClass:(Ljava/util/List;Ljava/lang/module/Configuration;Ljava/lang/String;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)Ljava/lang/String;
astore 8
25: aload 6
aload 8
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
26: StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin java.util.List jdk.tools.jlink.plugin.ResourcePoolBuilder int java.lang.module.ModuleFinder java.util.Map java.util.Set java.util.Set java.lang.String java.lang.String java.lang.module.Configuration
StackMap stack:
iconst_0
istore 11
start local 11 27: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 13
goto 39
StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin java.util.List jdk.tools.jlink.plugin.ResourcePoolBuilder int java.lang.module.ModuleFinder java.util.Map java.util.Set java.util.Set java.lang.String java.lang.String java.lang.module.Configuration int top java.util.Iterator
StackMap stack:
28: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo
astore 12
start local 12 29: aload 12
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.descriptor:()Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.mainClass:()Ljava/util/Optional;
invokevirtual java.util.Optional.isPresent:()Z
ifeq 39
30: aload 12
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.moduleName:()Ljava/lang/String;
astore 14
start local 14 31: aload 0
aload 4
aload 14
invokestatic java.util.Set.of:(Ljava/lang/Object;)Ljava/util/Set;
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin.resolve:(Ljava/lang/module/ModuleFinder;Ljava/util/Set;)Ljava/lang/module/Configuration;
astore 10
32: aload 10
invokevirtual java.lang.module.Configuration.modules:()Ljava/util/Set;
invokeinterface java.util.Set.size:()I
iload 3
if_icmpne 35
33: aload 5
aload 14
ldc "jdk/internal/module/SystemModules$all"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
34: goto 39
35: StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin java.util.List jdk.tools.jlink.plugin.ResourcePoolBuilder int java.lang.module.ModuleFinder java.util.Map java.util.Set java.util.Set java.lang.String java.lang.String java.lang.module.Configuration int jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo java.util.Iterator java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
ldc "jdk/internal/module/SystemModules$"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 11
iinc 11 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 15
start local 15 36: aload 0
aload 0
aload 1
aload 10
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin.sublist:(Ljava/util/List;Ljava/lang/module/Configuration;)Ljava/util/List;
aload 10
aload 15
aload 2
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin.genSystemModulesClass:(Ljava/util/List;Ljava/lang/module/Configuration;Ljava/lang/String;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)Ljava/lang/String;
astore 8
37: aload 5
aload 14
aload 15
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
38: aload 6
aload 8
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 15 end local 14 end local 12 39: StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin java.util.List jdk.tools.jlink.plugin.ResourcePoolBuilder int java.lang.module.ModuleFinder java.util.Map java.util.Set java.util.Set java.lang.String java.lang.String java.lang.module.Configuration int top java.util.Iterator
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 28
40: aload 0
ldc "jdk/internal/module/SystemModules$all"
41: aload 9
42: aload 5
43: aload 2
44: invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin.genSystemModulesMapClass:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)Ljava/lang/String;
astore 8
45: aload 6
aload 8
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
46: aload 6
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin;
0 47 1 moduleInfos Ljava/util/List<Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;>;
0 47 2 out Ljdk/tools/jlink/plugin/ResourcePoolBuilder;
1 47 3 moduleCount I
2 47 4 finder Ljava/lang/module/ModuleFinder;
4 47 5 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
5 47 6 generated Ljava/util/Set<Ljava/lang/String;>;
9 47 7 allModuleNames Ljava/util/Set<Ljava/lang/String;>;
14 47 8 rn Ljava/lang/String;
18 19 9 defaultSystemModulesClassName Ljava/lang/String;
20 47 9 defaultSystemModulesClassName Ljava/lang/String;
16 47 10 cf Ljava/lang/module/Configuration;
27 47 11 suffix I
29 39 12 mi Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
31 39 14 moduleName Ljava/lang/String;
36 39 15 cn Ljava/lang/String;
Signature: (Ljava/util/List<Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;>;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)Ljava/util/Set<Ljava/lang/String;>;
MethodParameters:
Name Flags
moduleInfos
out
private java.lang.module.Configuration resolve(java.lang.module.ModuleFinder, java.util.Set<java.lang.String>);
descriptor: (Ljava/lang/module/ModuleFinder;Ljava/util/Set;)Ljava/lang/module/Configuration;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
aconst_null
invokestatic jdk.internal.module.Modules.newBootLayerConfiguration:(Ljava/lang/module/ModuleFinder;Ljava/util/Collection;Ljava/io/PrintStream;)Ljava/lang/module/Configuration;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin;
0 1 1 finder Ljava/lang/module/ModuleFinder;
0 1 2 roots Ljava/util/Set<Ljava/lang/String;>;
Signature: (Ljava/lang/module/ModuleFinder;Ljava/util/Set<Ljava/lang/String;>;)Ljava/lang/module/Configuration;
MethodParameters:
Name Flags
finder
roots
private java.util.List<jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo> sublist(java.util.List<jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo>, java.lang.module.Configuration);
descriptor: (Ljava/util/List;Ljava/lang/module/Configuration;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.lang.module.Configuration.modules:()Ljava/util/Set;
1: invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
2: 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.name()Ljava/lang/String; (5)
(Ljava/lang/module/ResolvedModule;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
3: invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.Set
4: astore 3
start local 3 5: aload 1
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
6: aload 3
invokedynamic test(Ljava/util/Set;)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/tools/jlink/internal/plugins/SystemModulesPlugin.lambda$6(Ljava/util/Set;Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;)Z (6)
(Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
7: invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
8: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin;
0 9 1 moduleInfos Ljava/util/List<Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;>;
0 9 2 cf Ljava/lang/module/Configuration;
5 9 3 names Ljava/util/Set<Ljava/lang/String;>;
Signature: (Ljava/util/List<Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;>;Ljava/lang/module/Configuration;)Ljava/util/List<Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;>;
MethodParameters:
Name Flags
moduleInfos
cf
private java.lang.String genSystemModulesClass(java.util.List<jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo>, java.lang.module.Configuration, java.lang.String, jdk.tools.jlink.plugin.ResourcePoolBuilder);
descriptor: (Ljava/util/List;Ljava/lang/module/Configuration;Ljava/lang/String;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator
dup
aload 3
aload 1
invokespecial jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.<init>:(Ljava/lang/String;Ljava/util/List;)V
1: astore 5
start local 5 2: aload 5
aload 2
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.getClassWriter:(Ljava/lang/module/Configuration;)Ljdk/internal/org/objectweb/asm/ClassWriter;
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.toByteArray:()[B
astore 6
start local 6 3: new java.lang.StringBuilder
dup
ldc "/java.base/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".class"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 4: aload 7
aload 6
invokestatic jdk.tools.jlink.plugin.ResourcePoolEntry.create:(Ljava/lang/String;[B)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
astore 8
start local 8 5: aload 4
aload 8
invokeinterface jdk.tools.jlink.plugin.ResourcePoolBuilder.add:(Ljdk/tools/jlink/plugin/ResourcePoolEntry;)V
6: aload 7
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin;
0 7 1 moduleInfos Ljava/util/List<Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;>;
0 7 2 cf Ljava/lang/module/Configuration;
0 7 3 className Ljava/lang/String;
0 7 4 out Ljdk/tools/jlink/plugin/ResourcePoolBuilder;
2 7 5 generator Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator;
3 7 6 bytes [B
4 7 7 rn Ljava/lang/String;
5 7 8 e Ljdk/tools/jlink/plugin/ResourcePoolEntry;
Signature: (Ljava/util/List<Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;>;Ljava/lang/module/Configuration;Ljava/lang/String;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)Ljava/lang/String;
MethodParameters:
Name Flags
moduleInfos
cf
className
out
private java.lang.String genSystemModulesMapClass(java.lang.String, java.lang.String, java.util.Map<java.lang.String, java.lang.String>, jdk.tools.jlink.plugin.ResourcePoolBuilder);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new jdk.internal.org.objectweb.asm.ClassWriter
dup
iconst_3
invokespecial jdk.internal.org.objectweb.asm.ClassWriter.<init>:(I)V
astore 5
start local 5 1: aload 5
bipush 52
2: bipush 48
3: ldc "jdk/internal/module/SystemModulesMap"
4: aconst_null
5: ldc "java/lang/Object"
6: aconst_null
7: invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visit:(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
8: aload 5
iconst_0
ldc "<init>"
ldc "()V"
aconst_null
aconst_null
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
astore 6
start local 6 9: aload 6
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
10: aload 6
sipush 183
11: ldc "java/lang/Object"
12: ldc "<init>"
13: ldc "()V"
14: iconst_0
15: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
16: aload 6
sipush 177
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
17: aload 6
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
18: aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
19: aload 5
bipush 8
20: ldc "allSystemModules"
21: ldc "()Ljdk/internal/module/SystemModules;"
22: ldc "()Ljdk/internal/module/SystemModules;"
23: aconst_null
24: invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
astore 6
25: aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
26: aload 6
sipush 187
aload 1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
27: aload 6
bipush 89
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
28: aload 6
sipush 183
29: aload 1
30: ldc "<init>"
31: ldc "()V"
32: iconst_0
33: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
34: aload 6
sipush 176
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
35: aload 6
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
36: aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
37: aload 5
bipush 8
38: ldc "defaultSystemModules"
39: ldc "()Ljdk/internal/module/SystemModules;"
40: ldc "()Ljdk/internal/module/SystemModules;"
41: aconst_null
42: invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
astore 6
43: aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
44: aload 6
sipush 187
aload 2
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
45: aload 6
bipush 89
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
46: aload 6
sipush 183
47: aload 2
48: ldc "<init>"
49: ldc "()V"
50: iconst_0
51: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
52: aload 6
sipush 176
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
53: aload 6
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
54: aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
55: aload 5
bipush 8
56: ldc "moduleNames"
57: ldc "()[Ljava/lang/String;"
58: ldc "()[Ljava/lang/String;"
59: aconst_null
60: invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
astore 6
61: aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
62: aload 6
aload 3
invokeinterface java.util.Map.size:()I
invokestatic jdk.tools.jlink.internal.plugins.SystemModulesPlugin.pushInt:(Ljdk/internal/org/objectweb/asm/MethodVisitor;I)V
63: aload 6
sipush 189
ldc "java/lang/String"
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
64: iconst_0
istore 7
start local 7 65: aload 3
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokestatic jdk.tools.jlink.internal.plugins.SystemModulesPlugin.sorted:(Ljava/util/Collection;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 72
StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin java.lang.String java.lang.String java.util.Map jdk.tools.jlink.plugin.ResourcePoolBuilder jdk.internal.org.objectweb.asm.ClassWriter jdk.internal.org.objectweb.asm.MethodVisitor int top java.util.Iterator
StackMap stack:
66: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 8
start local 8 67: aload 6
bipush 89
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
68: aload 6
iload 7
invokestatic jdk.tools.jlink.internal.plugins.SystemModulesPlugin.pushInt:(Ljdk/internal/org/objectweb/asm/MethodVisitor;I)V
69: aload 6
aload 8
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
70: aload 6
bipush 83
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
71: iinc 7 1
end local 8 72: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 66
73: aload 6
sipush 176
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
74: aload 6
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
75: aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
76: aload 5
bipush 8
77: ldc "classNames"
78: ldc "()[Ljava/lang/String;"
79: ldc "()[Ljava/lang/String;"
80: aconst_null
81: invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
astore 6
82: aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
83: aload 6
aload 3
invokeinterface java.util.Map.size:()I
invokestatic jdk.tools.jlink.internal.plugins.SystemModulesPlugin.pushInt:(Ljdk/internal/org/objectweb/asm/MethodVisitor;I)V
84: aload 6
sipush 189
ldc "java/lang/String"
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
85: iconst_0
istore 7
86: aload 3
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokestatic jdk.tools.jlink.internal.plugins.SystemModulesPlugin.sorted:(Ljava/util/Collection;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 93
StackMap locals:
StackMap stack:
87: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 8
start local 8 88: aload 6
bipush 89
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
89: aload 6
iload 7
invokestatic jdk.tools.jlink.internal.plugins.SystemModulesPlugin.pushInt:(Ljdk/internal/org/objectweb/asm/MethodVisitor;I)V
90: aload 6
aload 8
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
91: aload 6
bipush 83
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
92: iinc 7 1
end local 8 93: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 87
94: aload 6
sipush 176
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
95: aload 6
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
96: aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
97: ldc "/java.base/jdk/internal/module/SystemModulesMap.class"
astore 8
start local 8 98: aload 8
aload 5
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.toByteArray:()[B
invokestatic jdk.tools.jlink.plugin.ResourcePoolEntry.create:(Ljava/lang/String;[B)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
astore 9
start local 9 99: aload 4
aload 9
invokeinterface jdk.tools.jlink.plugin.ResourcePoolBuilder.add:(Ljdk/tools/jlink/plugin/ResourcePoolEntry;)V
100: aload 8
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 101 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin;
0 101 1 allSystemModulesClassName Ljava/lang/String;
0 101 2 defaultSystemModulesClassName Ljava/lang/String;
0 101 3 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
0 101 4 out Ljdk/tools/jlink/plugin/ResourcePoolBuilder;
1 101 5 cw Ljdk/internal/org/objectweb/asm/ClassWriter;
9 101 6 mv Ljdk/internal/org/objectweb/asm/MethodVisitor;
65 101 7 index I
67 72 8 moduleName Ljava/lang/String;
88 93 8 className Ljava/lang/String;
98 101 8 rn Ljava/lang/String;
99 101 9 e Ljdk/tools/jlink/plugin/ResourcePoolEntry;
Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)Ljava/lang/String;
MethodParameters:
Name Flags
allSystemModulesClassName
defaultSystemModulesClassName
map
out
private static <T extends java.lang.Comparable<T>> java.util.List<T> sorted(java.util.Collection<T>);
descriptor: (Ljava/util/Collection;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.util.ArrayList
dup
aload 0
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 1
start local 1 1: aload 1
invokestatic java.util.Collections.sort:(Ljava/util/List;)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 c Ljava/util/Collection<TT;>;
1 3 1 l Ljava/util/ArrayList<TT;>;
Signature: <T::Ljava/lang/Comparable<TT;>;>(Ljava/util/Collection<TT;>;)Ljava/util/List<TT;>;
MethodParameters:
Name Flags
c
private static void pushInt(jdk.internal.org.objectweb.asm.MethodVisitor, int);
descriptor: (Ljdk/internal/org/objectweb/asm/MethodVisitor;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iconst_5
if_icmpgt 3
1: aload 0
iconst_3
iload 1
iadd
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
2: goto 10
StackMap locals:
StackMap stack:
3: iload 1
bipush 127
if_icmpge 6
4: aload 0
bipush 16
iload 1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitIntInsn:(II)V
5: goto 10
StackMap locals:
StackMap stack:
6: iload 1
sipush 32767
if_icmpge 9
7: aload 0
bipush 17
iload 1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitIntInsn:(II)V
8: goto 10
9: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "exceed limit: "
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;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 mv Ljdk/internal/org/objectweb/asm/MethodVisitor;
0 11 1 value I
MethodParameters:
Name Flags
mv
value
private static java.lang.module.ModuleFinder finderOf(java.util.Collection<jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo>);
descriptor: (Ljava/util/Collection;)Ljava/lang/module/ModuleFinder;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=7, args_size=1
start local 0 0: invokedynamic get()Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/tools/jlink/internal/plugins/SystemModulesPlugin.lambda$7()Ljava/lang/module/ModuleReader; (6)
()Ljava/lang/module/ModuleReader;
astore 1
start local 1 1: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 2: aload 0
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 16
StackMap locals: java.util.Collection java.util.function.Supplier java.util.Map top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo
astore 3
start local 3 4: aload 3
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.moduleName:()Ljava/lang/String;
astore 5
start local 5 5: new jdk.internal.module.ModuleReferenceImpl
dup
aload 3
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.descriptor:()Ljava/lang/module/ModuleDescriptor;
6: new java.lang.StringBuilder
dup
ldc "jrt:/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.net.URI.create:(Ljava/lang/String;)Ljava/net/URI;
7: aload 1
8: aconst_null
9: aload 3
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.target:()Ljdk/internal/module/ModuleTarget;
10: aconst_null
11: aconst_null
12: aload 3
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.moduleResolution:()Ljdk/internal/module/ModuleResolution;
13: invokespecial jdk.internal.module.ModuleReferenceImpl.<init>:(Ljava/lang/module/ModuleDescriptor;Ljava/net/URI;Ljava/util/function/Supplier;Ljdk/internal/module/ModulePatcher;Ljdk/internal/module/ModuleTarget;Ljdk/internal/module/ModuleHashes;Ljdk/internal/module/ModuleHashes$HashSupplier;Ljdk/internal/module/ModuleResolution;)V
14: astore 6
start local 6 15: aload 2
aload 5
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 end local 5 end local 3 16: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
17: new jdk.tools.jlink.internal.plugins.SystemModulesPlugin$1
dup
aload 2
invokespecial jdk.tools.jlink.internal.plugins.SystemModulesPlugin$1.<init>:(Ljava/util/Map;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 moduleInfos Ljava/util/Collection<Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;>;
1 18 1 readerSupplier Ljava/util/function/Supplier<Ljava/lang/module/ModuleReader;>;
2 18 2 namesToReference Ljava/util/Map<Ljava/lang/String;Ljava/lang/module/ModuleReference;>;
4 16 3 mi Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
5 16 5 name Ljava/lang/String;
15 16 6 mref Ljava/lang/module/ModuleReference;
Signature: (Ljava/util/Collection<Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;>;)Ljava/lang/module/ModuleFinder;
MethodParameters:
Name Flags
moduleInfos
private static boolean lambda$0(java.util.Set, jdk.tools.jlink.plugin.ResourcePoolEntry);
descriptor: (Ljava/util/Set;Ljdk/tools/jlink/plugin/ResourcePoolEntry;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
invokeinterface jdk.tools.jlink.plugin.ResourcePoolEntry.path:()Ljava/lang/String;
ldc "/module-info.class"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 2
1: aload 0
aload 1
invokeinterface jdk.tools.jlink.plugin.ResourcePoolEntry.path:()Ljava/lang/String;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 4 1 data Ljdk/tools/jlink/plugin/ResourcePoolEntry;
private static void lambda$1(jdk.tools.jlink.plugin.ResourcePoolBuilder, jdk.tools.jlink.plugin.ResourcePoolEntry);
descriptor: (Ljdk/tools/jlink/plugin/ResourcePoolBuilder;Ljdk/tools/jlink/plugin/ResourcePoolEntry;)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 jdk.tools.jlink.plugin.ResourcePoolBuilder.add:(Ljdk/tools/jlink/plugin/ResourcePoolEntry;)V
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 data Ljdk/tools/jlink/plugin/ResourcePoolEntry;
private static void lambda$2(java.util.List, jdk.tools.jlink.plugin.ResourcePoolBuilder, jdk.tools.jlink.plugin.ResourcePoolModule);
descriptor: (Ljava/util/List;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;Ljdk/tools/jlink/plugin/ResourcePoolModule;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=7, args_size=3
start local 2 0: aload 2
ldc "module-info.class"
invokeinterface jdk.tools.jlink.plugin.ResourcePoolModule.findEntry:(Ljava/lang/String;)Ljava/util/Optional;
1: aload 2
invokedynamic get(Ljdk/tools/jlink/plugin/ResourcePoolModule;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/tools/jlink/internal/plugins/SystemModulesPlugin.lambda$3(Ljdk/tools/jlink/plugin/ResourcePoolModule;)Ljdk/tools/jlink/plugin/PluginException; (6)
()Ljdk/tools/jlink/plugin/PluginException;
2: invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
checkcast jdk.tools.jlink.plugin.ResourcePoolEntry
astore 3
start local 3 3: getstatic jdk.tools.jlink.internal.plugins.SystemModulesPlugin.$assertionsDisabled:Z
ifne 4
aload 2
invokeinterface jdk.tools.jlink.plugin.ResourcePoolModule.name:()Ljava/lang/String;
aload 3
invokeinterface jdk.tools.jlink.plugin.ResourcePoolEntry.moduleName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: jdk.tools.jlink.plugin.ResourcePoolEntry
StackMap stack:
aload 3
invokeinterface jdk.tools.jlink.plugin.ResourcePoolEntry.contentBytes:()[B
astore 4
start local 4 5: aload 2
invokeinterface jdk.tools.jlink.plugin.ResourcePoolModule.packages:()Ljava/util/Set;
astore 5
start local 5 6: new jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo
dup
aload 4
aload 5
invokespecial jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.<init>:([BLjava/util/Set;)V
astore 6
start local 6 7: aload 6
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.validateNames:()V
8: aload 6
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.validatePackages:()V
9: aload 6
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.shouldRewrite:()Z
ifeq 11
10: aload 3
aload 6
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.getBytes:()[B
invokeinterface jdk.tools.jlink.plugin.ResourcePoolEntry.copyWithContent:([B)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
astore 3
11: StackMap locals: byte[] java.util.Set jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo
StackMap stack:
aload 0
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
12: aload 1
aload 3
invokeinterface jdk.tools.jlink.plugin.ResourcePoolBuilder.add:(Ljdk/tools/jlink/plugin/ResourcePoolEntry;)V
end local 6 end local 5 end local 4 13: goto 16
StackMap locals: java.util.List jdk.tools.jlink.plugin.ResourcePoolBuilder jdk.tools.jlink.plugin.ResourcePoolModule jdk.tools.jlink.plugin.ResourcePoolEntry
StackMap stack: java.io.IOException
14: astore 4
start local 4 15: new jdk.tools.jlink.plugin.PluginException
dup
aload 4
invokespecial jdk.tools.jlink.plugin.PluginException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 16: StackMap locals:
StackMap stack:
return
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 17 2 module Ljdk/tools/jlink/plugin/ResourcePoolModule;
3 16 3 data Ljdk/tools/jlink/plugin/ResourcePoolEntry;
5 13 4 content [B
6 13 5 packages Ljava/util/Set<Ljava/lang/String;>;
7 13 6 moduleInfo Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
15 16 4 e Ljava/io/IOException;
Exception table:
from to target type
4 13 14 Class java.io.IOException
private static boolean lambda$6(java.util.Set, jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo);
descriptor: (Ljava/util/Set;Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;)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
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.moduleName:()Ljava/lang/String;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 mi Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
private static java.lang.module.ModuleReader lambda$7();
descriptor: ()Ljava/lang/module/ModuleReader;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=0, args_size=0
0: aconst_null
areturn
LocalVariableTable:
Start End Slot Name Signature
private static jdk.tools.jlink.plugin.PluginException lambda$3(jdk.tools.jlink.plugin.ResourcePoolModule);
descriptor: (Ljdk/tools/jlink/plugin/ResourcePoolModule;)Ljdk/tools/jlink/plugin/PluginException;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=5, locals=1, args_size=1
0: new jdk.tools.jlink.plugin.PluginException
dup
new java.lang.StringBuilder
dup
ldc "module-info.class not found for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
1: aload 0
invokeinterface jdk.tools.jlink.plugin.ResourcePoolModule.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " module"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
2: invokespecial jdk.tools.jlink.plugin.PluginException.<init>:(Ljava/lang/String;)V
3: areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "SystemModulesPlugin.java"
NestMembers:
jdk.tools.jlink.internal.plugins.SystemModulesPlugin$1 jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo$1 jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo$1$1 jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo$ModuleInfoRewriter jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$DedupSetBuilder jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$EnumSetBuilder jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$ModuleDescriptorBuilder jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$ModuleHashesBuilder jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$SetBuilder
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract HashSupplier = jdk.internal.module.ModuleHashes$HashSupplier of jdk.internal.module.ModuleHashes
jdk.tools.jlink.internal.plugins.SystemModulesPlugin$1
ModuleInfo = jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo of jdk.tools.jlink.internal.plugins.SystemModulesPlugin
SystemModulesClassGenerator = jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator of jdk.tools.jlink.internal.plugins.SystemModulesPlugin
public final State = jdk.tools.jlink.plugin.Plugin$State of jdk.tools.jlink.plugin.Plugin