class jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator
super_class: java.lang.Object
{
private static final java.lang.String MODULE_DESCRIPTOR_BUILDER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "jdk/internal/module/Builder"
private static final java.lang.String MODULE_DESCRIPTOR_ARRAY_SIGNATURE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "[Ljava/lang/module/ModuleDescriptor;"
private static final java.lang.String REQUIRES_MODIFIER_CLASSNAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java/lang/module/ModuleDescriptor$Requires$Modifier"
private static final java.lang.String EXPORTS_MODIFIER_CLASSNAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java/lang/module/ModuleDescriptor$Exports$Modifier"
private static final java.lang.String OPENS_MODIFIER_CLASSNAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java/lang/module/ModuleDescriptor$Opens$Modifier"
private static final java.lang.String MODULE_TARGET_CLASSNAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "jdk/internal/module/ModuleTarget"
private static final java.lang.String MODULE_TARGET_ARRAY_SIGNATURE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "[Ljdk/internal/module/ModuleTarget;"
private static final java.lang.String MODULE_HASHES_ARRAY_SIGNATURE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "[Ljdk/internal/module/ModuleHashes;"
private static final java.lang.String MODULE_RESOLUTION_CLASSNAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "jdk/internal/module/ModuleResolution"
private static final java.lang.String MODULE_RESOLUTIONS_ARRAY_SIGNATURE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "[Ljdk/internal/module/ModuleResolution;"
private static final int MAX_LOCAL_VARS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 256
private final int BUILDER_VAR;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 0
private final int MD_VAR;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 1
private final int MT_VAR;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 1
private final int MH_VAR;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 1
private int nextLocalVar;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private jdk.internal.org.objectweb.asm.MethodVisitor mv;
descriptor: Ljdk/internal/org/objectweb/asm/MethodVisitor;
flags: (0x0002) ACC_PRIVATE
private final java.lang.String className;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo> moduleInfos;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;>;
private final jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$DedupSetBuilder dedupSetBuilder;
descriptor: Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator$DedupSetBuilder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.lang.String, java.util.List<jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo>);
descriptor: (Ljava/lang/String;Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.BUILDER_VAR:I
2: aload 0
iconst_1
putfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.MD_VAR:I
3: aload 0
iconst_1
putfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.MT_VAR:I
4: aload 0
iconst_1
putfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.MH_VAR:I
5: aload 0
iconst_2
putfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.nextLocalVar:I
6: aload 0
7: new jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$DedupSetBuilder
dup
aload 0
aload 0
invokedynamic getAsInt(Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator;)Ljava/util/function/IntSupplier;
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:
()I
jdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator.getNextLocalVar()I (7)
()I
invokespecial jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$DedupSetBuilder.<init>:(Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator;Ljava/util/function/IntSupplier;)V
putfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.dedupSetBuilder:Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator$DedupSetBuilder;
8: aload 0
aload 1
putfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.className:Ljava/lang/String;
9: aload 0
aload 2
putfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.moduleInfos:Ljava/util/List;
10: aload 2
aload 0
invokedynamic accept(Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator;)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$SystemModulesClassGenerator.lambda$1(Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;)V (7)
(Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;)V
invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator;
0 12 1 className Ljava/lang/String;
0 12 2 moduleInfos Ljava/util/List<Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;>;
Signature: (Ljava/lang/String;Ljava/util/List<Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;>;)V
MethodParameters:
Name Flags
className
moduleInfos
private int getNextLocalVar();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.nextLocalVar:I
dup_x1
iconst_1
iadd
putfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.nextLocalVar:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator;
private void dedups(java.lang.module.ModuleDescriptor);
descriptor: (Ljava/lang/module/ModuleDescriptor;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.module.ModuleDescriptor.exports:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator java.lang.module.ModuleDescriptor top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleDescriptor$Exports
astore 2
start local 2 2: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.dedupSetBuilder:Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator$DedupSetBuilder;
aload 2
invokevirtual java.lang.module.ModuleDescriptor$Exports.targets:()Ljava/util/Set;
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$DedupSetBuilder.stringSet:(Ljava/util/Set;)V
3: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.dedupSetBuilder:Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator$DedupSetBuilder;
aload 2
invokevirtual java.lang.module.ModuleDescriptor$Exports.modifiers:()Ljava/util/Set;
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$DedupSetBuilder.exportsModifiers:(Ljava/util/Set;)V
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: aload 1
invokevirtual java.lang.module.ModuleDescriptor.opens:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 9
StackMap locals:
StackMap stack:
6: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleDescriptor$Opens
astore 2
start local 2 7: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.dedupSetBuilder:Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator$DedupSetBuilder;
aload 2
invokevirtual java.lang.module.ModuleDescriptor$Opens.targets:()Ljava/util/Set;
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$DedupSetBuilder.stringSet:(Ljava/util/Set;)V
8: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.dedupSetBuilder:Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator$DedupSetBuilder;
aload 2
invokevirtual java.lang.module.ModuleDescriptor$Opens.modifiers:()Ljava/util/Set;
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$DedupSetBuilder.opensModifiers:(Ljava/util/Set;)V
end local 2 9: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
10: aload 1
invokevirtual java.lang.module.ModuleDescriptor.requires:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 13
StackMap locals:
StackMap stack:
11: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleDescriptor$Requires
astore 2
start local 2 12: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.dedupSetBuilder:Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator$DedupSetBuilder;
aload 2
invokevirtual java.lang.module.ModuleDescriptor$Requires.modifiers:()Ljava/util/Set;
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$DedupSetBuilder.requiresModifiers:(Ljava/util/Set;)V
end local 2 13: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
14: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.dedupSetBuilder:Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator$DedupSetBuilder;
aload 1
invokevirtual java.lang.module.ModuleDescriptor.uses:()Ljava/util/Set;
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$DedupSetBuilder.stringSet:(Ljava/util/Set;)V
15: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator;
0 16 1 md Ljava/lang/module/ModuleDescriptor;
2 4 2 e Ljava/lang/module/ModuleDescriptor$Exports;
7 9 2 opens Ljava/lang/module/ModuleDescriptor$Opens;
12 13 2 r Ljava/lang/module/ModuleDescriptor$Requires;
MethodParameters:
Name Flags
md
public jdk.internal.org.objectweb.asm.ClassWriter getClassWriter(java.lang.module.Configuration);
descriptor: (Ljava/lang/module/Configuration;)Ljdk/internal/org/objectweb/asm/ClassWriter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=3, args_size=2
start local 0 start local 1 0: new jdk.internal.org.objectweb.asm.ClassWriter
dup
iconst_3
invokespecial jdk.internal.org.objectweb.asm.ClassWriter.<init>:(I)V
astore 2
start local 2 1: aload 2
bipush 52
2: bipush 48
3: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.className:Ljava/lang/String;
4: aconst_null
5: ldc "java/lang/Object"
6: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "jdk/internal/module/SystemModules"
aastore
7: invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visit:(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
8: aload 0
aload 2
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.genConstructor:(Ljdk/internal/org/objectweb/asm/ClassWriter;)V
9: aload 0
aload 2
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.genHasSplitPackages:(Ljdk/internal/org/objectweb/asm/ClassWriter;)V
10: aload 0
aload 2
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.genIncubatorModules:(Ljdk/internal/org/objectweb/asm/ClassWriter;)V
11: aload 0
aload 2
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.genModuleDescriptorsMethod:(Ljdk/internal/org/objectweb/asm/ClassWriter;)V
12: aload 0
aload 2
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.genModuleTargetsMethod:(Ljdk/internal/org/objectweb/asm/ClassWriter;)V
13: aload 0
aload 2
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.genModuleHashesMethod:(Ljdk/internal/org/objectweb/asm/ClassWriter;)V
14: aload 0
aload 2
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.genModuleResolutionsMethod:(Ljdk/internal/org/objectweb/asm/ClassWriter;)V
15: aload 0
aload 2
aload 1
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.genModuleReads:(Ljdk/internal/org/objectweb/asm/ClassWriter;Ljava/lang/module/Configuration;)V
16: aload 0
aload 2
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.genXXXPackagesToOpenMethods:(Ljdk/internal/org/objectweb/asm/ClassWriter;)V
17: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator;
0 18 1 cf Ljava/lang/module/Configuration;
1 18 2 cw Ljdk/internal/org/objectweb/asm/ClassWriter;
MethodParameters:
Name Flags
cf
private void genConstructor(jdk.internal.org.objectweb.asm.ClassWriter);
descriptor: (Ljdk/internal/org/objectweb/asm/ClassWriter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 1
iconst_1
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 2
start local 2 1: aload 2
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
2: aload 2
sipush 183
3: ldc "java/lang/Object"
4: ldc "<init>"
5: ldc "()V"
6: iconst_0
7: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
8: aload 2
sipush 177
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
9: aload 2
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
10: aload 2
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator;
0 12 1 cw Ljdk/internal/org/objectweb/asm/ClassWriter;
1 12 2 mv Ljdk/internal/org/objectweb/asm/MethodVisitor;
MethodParameters:
Name Flags
cw
private void genHasSplitPackages(jdk.internal.org.objectweb.asm.ClassWriter);
descriptor: (Ljdk/internal/org/objectweb/asm/ClassWriter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.moduleInfos:Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
1: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo.packages()Ljava/util/Set; (5)
(Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;)Ljava/util/Set;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)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/util/Collection.stream()Ljava/util/stream/Stream; (9 itf)
(Ljava/util/Set;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
3: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic test(Ljava/util/HashSet;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
java/util/HashSet.add(Ljava/lang/Object;)Z (5)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.allMatch:(Ljava/util/function/Predicate;)Z
4: istore 2
start local 2 5: iload 2
ifeq 6
iconst_0
goto 7
StackMap locals: int
StackMap stack:
6: iconst_1
StackMap locals:
StackMap stack: int
7: istore 4
start local 4 8: aload 0
aload 1
iconst_1
9: ldc "hasSplitPackages"
10: ldc "()Z"
11: ldc "()Z"
12: aconst_null
13: 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;
putfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
14: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
15: iload 4
ifeq 18
16: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iconst_4
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
17: goto 19
18: StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator jdk.internal.org.objectweb.asm.ClassWriter int top int
StackMap stack:
aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iconst_3
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
19: StackMap locals:
StackMap stack:
aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 172
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
20: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
21: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
22: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator;
0 23 1 cw Ljdk/internal/org/objectweb/asm/ClassWriter;
5 23 2 distinct Z
8 23 4 hasSplitPackages Z
MethodParameters:
Name Flags
cw
private void genIncubatorModules(jdk.internal.org.objectweb.asm.ClassWriter);
descriptor: (Ljdk/internal/org/objectweb/asm/ClassWriter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.moduleInfos:Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
1: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo.moduleResolution()Ljdk/internal/module/ModuleResolution; (5)
(Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;)Ljdk/internal/module/ModuleResolution;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
2: invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
jdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator.lambda$6(Ljdk/internal/module/ModuleResolution;)Z (6)
(Ljdk/internal/module/ModuleResolution;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
3: invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
4: invokevirtual java.util.Optional.isPresent:()Z
5: istore 2
start local 2 6: aload 0
aload 1
iconst_1
7: ldc "hasIncubatorModules"
8: ldc "()Z"
9: ldc "()Z"
10: aconst_null
11: 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;
putfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
12: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
13: iload 2
ifeq 16
14: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iconst_4
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
15: goto 17
16: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iconst_3
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
17: StackMap locals:
StackMap stack:
aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 172
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
18: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
19: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
20: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator;
0 21 1 cw Ljdk/internal/org/objectweb/asm/ClassWriter;
6 21 2 hasIncubatorModules Z
MethodParameters:
Name Flags
cw
private void genModuleDescriptorsMethod(jdk.internal.org.objectweb.asm.ClassWriter);
descriptor: (Ljdk/internal/org/objectweb/asm/ClassWriter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
1: ldc "moduleDescriptors"
2: ldc "()[Ljava/lang/module/ModuleDescriptor;"
3: ldc "()[Ljava/lang/module/ModuleDescriptor;"
4: aconst_null
5: 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;
putfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
6: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
7: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.moduleInfos:Ljava/util/List;
invokeinterface java.util.List.size:()I
invokestatic jdk.tools.jlink.internal.plugins.SystemModulesPlugin.pushInt:(Ljdk/internal/org/objectweb/asm/MethodVisitor;I)V
8: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 189
ldc "java/lang/module/ModuleDescriptor"
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
9: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 58
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
10: iconst_0
istore 2
start local 2 11: goto 19
12: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.moduleInfos:Ljava/util/List;
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo
astore 3
start local 3 13: new jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$ModuleDescriptorBuilder
dup
aload 0
aload 3
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.descriptor:()Ljava/lang/module/ModuleDescriptor;
14: aload 3
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.packages:()Ljava/util/Set;
15: iload 2
16: invokespecial jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$ModuleDescriptorBuilder.<init>:(Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator;Ljava/lang/module/ModuleDescriptor;Ljava/util/Set;I)V
17: invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$ModuleDescriptorBuilder.build:()V
end local 3 18: iinc 2 1
StackMap locals:
StackMap stack:
19: iload 2
aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.moduleInfos:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 12
end local 2 20: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
bipush 25
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
21: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
sipush 176
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
22: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
23: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
24: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator;
0 25 1 cw Ljdk/internal/org/objectweb/asm/ClassWriter;
11 20 2 index I
13 18 3 minfo Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
MethodParameters:
Name Flags
cw
private void genModuleTargetsMethod(jdk.internal.org.objectweb.asm.ClassWriter);
descriptor: (Ljdk/internal/org/objectweb/asm/ClassWriter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 1
iconst_1
1: ldc "moduleTargets"
2: ldc "()[Ljdk/internal/module/ModuleTarget;"
3: ldc "()[Ljdk/internal/module/ModuleTarget;"
4: aconst_null
5: 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 2
start local 2 6: aload 2
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
7: aload 2
aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.moduleInfos:Ljava/util/List;
invokeinterface java.util.List.size:()I
invokestatic jdk.tools.jlink.internal.plugins.SystemModulesPlugin.pushInt:(Ljdk/internal/org/objectweb/asm/MethodVisitor;I)V
8: aload 2
sipush 189
ldc "jdk/internal/module/ModuleTarget"
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
9: aload 2
bipush 58
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
10: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.moduleInfos:Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo
astore 3
start local 3 11: aload 3
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.moduleName:()Ljava/lang/String;
ldc "java.base"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 13
12: new java.lang.InternalError
dup
ldc "java.base should be first module in list"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals: jdk.internal.org.objectweb.asm.MethodVisitor jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo
StackMap stack:
aload 3
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.target:()Ljdk/internal/module/ModuleTarget;
astore 4
start local 4 14: aload 4
ifnull 17
aload 4
invokevirtual jdk.internal.module.ModuleTarget.targetPlatform:()Ljava/lang/String;
ifnull 17
15: iconst_1
istore 5
start local 5 16: goto 18
end local 5 17: StackMap locals: jdk.internal.module.ModuleTarget
StackMap stack:
aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.moduleInfos:Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 5
start local 5 18: StackMap locals: int
StackMap stack:
iconst_0
istore 6
start local 6 19: goto 32
20: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.moduleInfos:Ljava/util/List;
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo
astore 7
start local 7 21: aload 7
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.target:()Ljdk/internal/module/ModuleTarget;
ifnull 31
22: aload 2
bipush 25
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
23: aload 2
iload 6
invokestatic jdk.tools.jlink.internal.plugins.SystemModulesPlugin.pushInt:(Ljdk/internal/org/objectweb/asm/MethodVisitor;I)V
24: aload 2
sipush 187
ldc "jdk/internal/module/ModuleTarget"
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
25: aload 2
bipush 89
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
26: aload 2
aload 7
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.target:()Ljdk/internal/module/ModuleTarget;
invokevirtual jdk.internal.module.ModuleTarget.targetPlatform:()Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
27: aload 2
sipush 183
ldc "jdk/internal/module/ModuleTarget"
28: ldc "<init>"
ldc "(Ljava/lang/String;)V"
iconst_0
29: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
30: aload 2
bipush 83
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
end local 7 31: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
32: iload 6
iload 5
if_icmplt 20
end local 6 33: aload 2
bipush 25
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
34: aload 2
sipush 176
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
35: aload 2
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
36: aload 2
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
37: return
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 38 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator;
0 38 1 cw Ljdk/internal/org/objectweb/asm/ClassWriter;
6 38 2 mv Ljdk/internal/org/objectweb/asm/MethodVisitor;
11 38 3 base Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
14 38 4 target Ljdk/internal/module/ModuleTarget;
16 17 5 count I
18 38 5 count I
19 33 6 index I
21 31 7 minfo Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
MethodParameters:
Name Flags
cw
private void genModuleHashesMethod(jdk.internal.org.objectweb.asm.ClassWriter);
descriptor: (Ljdk/internal/org/objectweb/asm/ClassWriter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 1
iconst_1
1: ldc "moduleHashes"
2: ldc "()[Ljdk/internal/module/ModuleHashes;"
3: ldc "()[Ljdk/internal/module/ModuleHashes;"
4: aconst_null
5: 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;
6: astore 2
start local 2 7: aload 2
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
8: aload 2
aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.moduleInfos:Ljava/util/List;
invokeinterface java.util.List.size:()I
invokestatic jdk.tools.jlink.internal.plugins.SystemModulesPlugin.pushInt:(Ljdk/internal/org/objectweb/asm/MethodVisitor;I)V
9: aload 2
sipush 189
ldc "jdk/internal/module/ModuleHashes"
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
10: aload 2
bipush 58
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
11: iconst_0
istore 3
start local 3 12: goto 21
13: StackMap locals: jdk.internal.org.objectweb.asm.MethodVisitor int
StackMap stack:
aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.moduleInfos:Ljava/util/List;
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo
astore 4
start local 4 14: aload 4
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.recordedHashes:()Ljdk/internal/module/ModuleHashes;
ifnull 20
15: new jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$ModuleHashesBuilder
dup
aload 0
aload 4
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.recordedHashes:()Ljdk/internal/module/ModuleHashes;
16: iload 3
17: aload 2
18: invokespecial jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$ModuleHashesBuilder.<init>:(Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator;Ljdk/internal/module/ModuleHashes;ILjdk/internal/org/objectweb/asm/MethodVisitor;)V
19: invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$ModuleHashesBuilder.build:()V
end local 4 20: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
21: iload 3
aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.moduleInfos:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 13
end local 3 22: aload 2
bipush 25
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
23: aload 2
sipush 176
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
24: aload 2
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
25: aload 2
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
26: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator;
0 27 1 cw Ljdk/internal/org/objectweb/asm/ClassWriter;
7 27 2 hmv Ljdk/internal/org/objectweb/asm/MethodVisitor;
12 22 3 index I
14 20 4 minfo Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
MethodParameters:
Name Flags
cw
private void genModuleResolutionsMethod(jdk.internal.org.objectweb.asm.ClassWriter);
descriptor: (Ljdk/internal/org/objectweb/asm/ClassWriter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 1
iconst_1
1: ldc "moduleResolutions"
2: ldc "()[Ljdk/internal/module/ModuleResolution;"
3: ldc "()[Ljdk/internal/module/ModuleResolution;"
4: aconst_null
5: 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;
6: astore 2
start local 2 7: aload 2
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
8: aload 2
aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.moduleInfos:Ljava/util/List;
invokeinterface java.util.List.size:()I
invokestatic jdk.tools.jlink.internal.plugins.SystemModulesPlugin.pushInt:(Ljdk/internal/org/objectweb/asm/MethodVisitor;I)V
9: aload 2
sipush 189
ldc "jdk/internal/module/ModuleResolution"
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
10: aload 2
bipush 58
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
11: iconst_0
istore 3
start local 3 12: goto 27
13: StackMap locals: jdk.internal.org.objectweb.asm.MethodVisitor int
StackMap stack:
aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.moduleInfos:Ljava/util/List;
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo
astore 4
start local 4 14: aload 4
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.moduleResolution:()Ljdk/internal/module/ModuleResolution;
ifnull 26
15: aload 2
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
16: aload 2
iload 3
invokestatic jdk.tools.jlink.internal.plugins.SystemModulesPlugin.pushInt:(Ljdk/internal/org/objectweb/asm/MethodVisitor;I)V
17: aload 2
sipush 187
ldc "jdk/internal/module/ModuleResolution"
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
18: aload 2
bipush 89
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
19: aload 2
aload 4
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.moduleResolution:()Ljdk/internal/module/ModuleResolution;
invokevirtual jdk.internal.module.ModuleResolution.value:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
20: aload 2
sipush 183
21: ldc "jdk/internal/module/ModuleResolution"
22: ldc "<init>"
23: ldc "(I)V"
iconst_0
24: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
25: aload 2
bipush 83
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
end local 4 26: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
27: iload 3
aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.moduleInfos:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 13
end local 3 28: aload 2
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
29: aload 2
sipush 176
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
30: aload 2
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
31: aload 2
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
32: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator;
0 33 1 cw Ljdk/internal/org/objectweb/asm/ClassWriter;
7 33 2 mresmv Ljdk/internal/org/objectweb/asm/MethodVisitor;
12 28 3 index I
14 26 4 minfo Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
MethodParameters:
Name Flags
cw
private void genModuleReads(jdk.internal.org.objectweb.asm.ClassWriter, java.lang.module.Configuration);
descriptor: (Ljdk/internal/org/objectweb/asm/ClassWriter;Ljava/lang/module/Configuration;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, 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;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
1: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/lang/module/ResolvedModule.name()Ljava/lang/String; (5)
(Ljava/lang/module/ResolvedModule;)Ljava/lang/String;
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;
jdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator.lambda$8(Ljava/lang/module/ResolvedModule;)Ljava/util/Set; (6)
(Ljava/lang/module/ResolvedModule;)Ljava/util/Set;
3: invokestatic java.util.stream.Collectors.toMap:(Ljava/util/function/Function;Ljava/util/function/Function;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.Map
4: astore 3
start local 3 5: aload 0
aload 1
ldc "moduleReads"
aload 3
iconst_1
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.generate:(Ljdk/internal/org/objectweb/asm/ClassWriter;Ljava/lang/String;Ljava/util/Map;Z)V
6: return
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$SystemModulesClassGenerator;
0 7 1 cw Ljdk/internal/org/objectweb/asm/ClassWriter;
0 7 2 cf Ljava/lang/module/Configuration;
5 7 3 map Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;
MethodParameters:
Name Flags
cw
cf
private void genXXXPackagesToOpenMethods(jdk.internal.org.objectweb.asm.ClassWriter);
descriptor: (Ljdk/internal/org/objectweb/asm/ClassWriter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.moduleInfos:Ljava/util/List;
invokestatic jdk.tools.jlink.internal.plugins.SystemModulesPlugin.finderOf:(Ljava/util/Collection;)Ljava/lang/module/ModuleFinder;
astore 2
start local 2 1: aload 2
invokestatic jdk.internal.module.IllegalAccessMaps.generate:(Ljava/lang/module/ModuleFinder;)Ljdk/internal/module/IllegalAccessMaps;
astore 3
start local 3 2: aload 0
aload 1
ldc "concealedPackagesToOpen"
aload 3
invokevirtual jdk.internal.module.IllegalAccessMaps.concealedPackagesToOpen:()Ljava/util/Map;
iconst_0
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.generate:(Ljdk/internal/org/objectweb/asm/ClassWriter;Ljava/lang/String;Ljava/util/Map;Z)V
3: aload 0
aload 1
ldc "exportedPackagesToOpen"
aload 3
invokevirtual jdk.internal.module.IllegalAccessMaps.exportedPackagesToOpen:()Ljava/util/Map;
iconst_0
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.generate:(Ljdk/internal/org/objectweb/asm/ClassWriter;Ljava/lang/String;Ljava/util/Map;Z)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator;
0 5 1 cw Ljdk/internal/org/objectweb/asm/ClassWriter;
1 5 2 finder Ljava/lang/module/ModuleFinder;
2 5 3 maps Ljdk/internal/module/IllegalAccessMaps;
MethodParameters:
Name Flags
cw
private void generate(jdk.internal.org.objectweb.asm.ClassWriter, java.lang.String, java.util.Map<java.lang.String, java.util.Set<java.lang.String>>, );
descriptor: (Ljdk/internal/org/objectweb/asm/ClassWriter;Ljava/lang/String;Ljava/util/Map;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=14, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
iconst_1
1: aload 2
2: ldc "()Ljava/util/Map;"
3: ldc "()Ljava/util/Map;"
4: aconst_null
5: 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 5
start local 5 6: aload 5
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
7: iload 4
ifeq 25
8: aload 3
invokeinterface java.util.Map.values:()Ljava/util/Collection;
astore 7
start local 7 9: aload 7
invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
10: invokeinterface java.util.stream.Stream.distinct:()Ljava/util/stream/Stream;
11: aload 7
invokedynamic test(Ljava/util/Collection;)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$SystemModulesClassGenerator.lambda$10(Ljava/util/Collection;Ljava/util/Set;)Z (6)
(Ljava/util/Set;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
12: 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
13: astore 8
start local 8 14: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 6
start local 6 15: iconst_1
istore 9
start local 9 16: aload 8
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 11
goto 23
StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator jdk.internal.org.objectweb.asm.ClassWriter java.lang.String java.util.Map int jdk.internal.org.objectweb.asm.MethodVisitor java.util.Map java.util.Collection java.util.Set int top java.util.Iterator
StackMap stack:
17: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Set
astore 10
start local 10 18: aload 0
aload 5
aload 10
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.genImmutableSet:(Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljava/util/Set;)V
19: aload 5
bipush 58
iload 9
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
20: aload 6
aload 10
iload 9
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
21: iinc 9 1
iload 9
sipush 256
if_icmplt 23
22: goto 26
end local 10 23: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
end local 9 end local 8 end local 7 24: goto 26
end local 6 25: StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator jdk.internal.org.objectweb.asm.ClassWriter java.lang.String java.util.Map int jdk.internal.org.objectweb.asm.MethodVisitor
StackMap stack:
invokestatic java.util.Map.of:()Ljava/util/Map;
astore 6
start local 6 26: StackMap locals: java.util.Map
StackMap stack:
aload 5
aload 3
invokeinterface java.util.Map.size:()I
invokestatic jdk.tools.jlink.internal.plugins.SystemModulesPlugin.pushInt:(Ljdk/internal/org/objectweb/asm/MethodVisitor;I)V
27: aload 5
sipush 189
ldc "java/util/Map$Entry"
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
28: iconst_0
istore 7
start local 7 29: aload 3
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 50
StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator jdk.internal.org.objectweb.asm.ClassWriter java.lang.String java.util.Map int jdk.internal.org.objectweb.asm.MethodVisitor java.util.Map int top java.util.Iterator
StackMap stack:
30: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 8
start local 8 31: aload 8
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
astore 10
start local 10 32: aload 8
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.Set
astore 11
start local 11 33: aload 5
bipush 89
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
34: aload 5
iload 7
invokestatic jdk.tools.jlink.internal.plugins.SystemModulesPlugin.pushInt:(Ljdk/internal/org/objectweb/asm/MethodVisitor;I)V
35: aload 5
aload 10
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
36: aload 6
aload 11
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 12
start local 12 37: aload 12
ifnonnull 40
38: aload 0
aload 5
aload 11
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.genImmutableSet:(Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljava/util/Set;)V
39: goto 41
40: StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator jdk.internal.org.objectweb.asm.ClassWriter java.lang.String java.util.Map int jdk.internal.org.objectweb.asm.MethodVisitor java.util.Map int java.util.Map$Entry java.util.Iterator java.lang.String java.util.Set java.lang.Integer
StackMap stack:
aload 5
bipush 25
aload 12
invokevirtual java.lang.Integer.intValue:()I
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
41: StackMap locals:
StackMap stack:
ldc "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;"
astore 13
start local 13 42: aload 5
sipush 184
43: ldc "java/util/Map"
44: ldc "entry"
45: aload 13
46: iconst_1
47: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
48: aload 5
bipush 83
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
49: iinc 7 1
end local 13 end local 12 end local 11 end local 10 end local 8 50: StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator jdk.internal.org.objectweb.asm.ClassWriter java.lang.String java.util.Map int jdk.internal.org.objectweb.asm.MethodVisitor java.util.Map int top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 30
51: aload 5
sipush 184
ldc "java/util/Map"
ldc "ofEntries"
52: ldc "([Ljava/util/Map$Entry;)Ljava/util/Map;"
iconst_1
53: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
54: aload 5
sipush 176
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
55: aload 5
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
56: aload 5
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
57: return
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 58 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator;
0 58 1 cw Ljdk/internal/org/objectweb/asm/ClassWriter;
0 58 2 methodName Ljava/lang/String;
0 58 3 map Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;
0 58 4 dedup Z
6 58 5 mv Ljdk/internal/org/objectweb/asm/MethodVisitor;
15 25 6 locals Ljava/util/Map<Ljava/util/Set<Ljava/lang/String;>;Ljava/lang/Integer;>;
26 58 6 locals Ljava/util/Map<Ljava/util/Set<Ljava/lang/String;>;Ljava/lang/Integer;>;
9 24 7 values Ljava/util/Collection<Ljava/util/Set<Ljava/lang/String;>;>;
14 24 8 duplicateSets Ljava/util/Set<Ljava/util/Set<Ljava/lang/String;>;>;
16 24 9 index I
18 23 10 s Ljava/util/Set<Ljava/lang/String;>;
29 58 7 index I
31 50 8 e Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;
32 50 10 name Ljava/lang/String;
33 50 11 s Ljava/util/Set<Ljava/lang/String;>;
37 50 12 varIndex Ljava/lang/Integer;
42 50 13 desc Ljava/lang/String;
Signature: (Ljdk/internal/org/objectweb/asm/ClassWriter;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;Z)V
MethodParameters:
Name Flags
cw
methodName
map
dedup
private void genImmutableSet(jdk.internal.org.objectweb.asm.MethodVisitor, java.util.Set<java.lang.String>);
descriptor: (Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljava/util/Set;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface java.util.Set.size:()I
istore 3
start local 3 1: iload 3
iconst_2
if_icmple 20
2: aload 1
iload 3
invokestatic jdk.tools.jlink.internal.plugins.SystemModulesPlugin.pushInt:(Ljdk/internal/org/objectweb/asm/MethodVisitor;I)V
3: aload 1
sipush 189
ldc "java/lang/String"
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
4: iconst_0
istore 4
start local 4 5: aload 2
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 12
StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator jdk.internal.org.objectweb.asm.MethodVisitor java.util.Set int int top java.util.Iterator
StackMap stack:
6: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 7: aload 1
bipush 89
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
8: aload 1
iload 4
invokestatic jdk.tools.jlink.internal.plugins.SystemModulesPlugin.pushInt:(Ljdk/internal/org/objectweb/asm/MethodVisitor;I)V
9: aload 1
aload 5
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
10: aload 1
bipush 83
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
11: iinc 4 1
end local 5 12: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
13: aload 1
sipush 184
14: ldc "java/util/Set"
15: ldc "of"
16: ldc "([Ljava/lang/Object;)Ljava/util/Set;"
17: iconst_1
18: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
end local 4 19: goto 33
20: StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator jdk.internal.org.objectweb.asm.MethodVisitor java.util.Set int
StackMap stack:
new java.lang.StringBuilder
dup
ldc "("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 4
start local 4 21: aload 2
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 25
StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator jdk.internal.org.objectweb.asm.MethodVisitor java.util.Set int java.lang.StringBuilder top java.util.Iterator
StackMap stack:
22: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 23: aload 1
aload 5
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
24: aload 4
ldc "Ljava/lang/Object;"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 5 25: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
26: aload 4
ldc ")Ljava/util/Set;"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
27: aload 1
sipush 184
28: ldc "java/util/Set"
29: ldc "of"
30: aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
31: iconst_1
32: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
end local 4 33: StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator jdk.internal.org.objectweb.asm.MethodVisitor java.util.Set int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator;
0 34 1 mv Ljdk/internal/org/objectweb/asm/MethodVisitor;
0 34 2 set Ljava/util/Set<Ljava/lang/String;>;
1 34 3 size I
5 19 4 i I
7 12 5 element Ljava/lang/String;
21 33 4 sb Ljava/lang/StringBuilder;
23 25 5 element Ljava/lang/String;
Signature: (Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljava/util/Set<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
mv
set
private void lambda$1(jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo);
descriptor: (Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.descriptor:()Ljava/lang/module/ModuleDescriptor;
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator.dedups:(Ljava/lang/module/ModuleDescriptor;)V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$SystemModulesClassGenerator;
0 1 1 mi Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
private static boolean lambda$6(jdk.internal.module.ModuleResolution);
descriptor: (Ljdk/internal/module/ModuleResolution;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
invokevirtual jdk.internal.module.ModuleResolution.hasIncubatingWarning:()Z
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 mres Ljdk/internal/module/ModuleResolution;
private static java.util.Set lambda$8(java.lang.module.ResolvedModule);
descriptor: (Ljava/lang/module/ResolvedModule;)Ljava/util/Set;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.module.ResolvedModule.reads:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
1: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/lang/module/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;
2: 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
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 m Ljava/lang/module/ResolvedModule;
private static boolean lambda$10(java.util.Collection, java.util.Set);
descriptor: (Ljava/util/Collection;Ljava/util/Set;)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
invokestatic java.util.Collections.frequency:(Ljava/util/Collection;Ljava/lang/Object;)I
iconst_1
if_icmple 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 s Ljava/util/Set<Ljava/lang/String;>;
}
SourceFile: "SystemModulesPlugin.java"
NestHost: jdk.tools.jlink.internal.plugins.SystemModulesPlugin
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Exports = java.lang.module.ModuleDescriptor$Exports of java.lang.module.ModuleDescriptor
public final Modifier = java.lang.module.ModuleDescriptor$Exports$Modifier of java.lang.module.ModuleDescriptor$Exports
public final Opens = java.lang.module.ModuleDescriptor$Opens of java.lang.module.ModuleDescriptor
public final Modifier = java.lang.module.ModuleDescriptor$Opens$Modifier of java.lang.module.ModuleDescriptor$Opens
public final Requires = java.lang.module.ModuleDescriptor$Requires of java.lang.module.ModuleDescriptor
public final Modifier = java.lang.module.ModuleDescriptor$Requires$Modifier of java.lang.module.ModuleDescriptor$Requires
public abstract Entry = java.util.Map$Entry of java.util.Map
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
DedupSetBuilder = jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$DedupSetBuilder of jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator
EnumSetBuilder = jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$EnumSetBuilder of jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator
ModuleDescriptorBuilder = jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$ModuleDescriptorBuilder of jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator
ModuleHashesBuilder = jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$ModuleHashesBuilder of jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator
SetBuilder = jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator$SetBuilder of jdk.tools.jlink.internal.plugins.SystemModulesPlugin$SystemModulesClassGenerator