class jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo
super_class: java.lang.Object
{
private final java.io.ByteArrayInputStream bais;
descriptor: Ljava/io/ByteArrayInputStream;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.internal.module.ModuleInfo$Attributes attrs;
descriptor: Ljdk/internal/module/ModuleInfo$Attributes;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Set<java.lang.String> packages;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
private final boolean addModulePackages;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.module.ModuleDescriptor descriptor;
descriptor: Ljava/lang/module/ModuleDescriptor;
flags: (0x0002) ACC_PRIVATE
void <init>(byte[], java.util.Set<java.lang.String>);
descriptor: ([BLjava/util/Set;)V
flags: (0x0000)
Code:
stack=4, 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
new java.io.ByteArrayInputStream
dup
aload 1
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
putfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.bais:Ljava/io/ByteArrayInputStream;
2: aload 0
aload 2
putfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.packages:Ljava/util/Set;
3: aload 0
aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.bais:Ljava/io/ByteArrayInputStream;
aconst_null
invokestatic jdk.internal.module.ModuleInfo.read:(Ljava/io/InputStream;Ljava/util/function/Supplier;)Ljdk/internal/module/ModuleInfo$Attributes;
putfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.attrs:Ljdk/internal/module/ModuleInfo$Attributes;
4: aload 0
aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.attrs:Ljdk/internal/module/ModuleInfo$Attributes;
invokevirtual jdk.internal.module.ModuleInfo$Attributes.descriptor:()Ljava/lang/module/ModuleDescriptor;
putfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.descriptor:Ljava/lang/module/ModuleDescriptor;
5: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.descriptor:Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.isAutomatic:()Z
ifeq 7
6: new java.lang.InternalError
dup
ldc "linking automatic module is not supported"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo byte[] java.util.Set
StackMap stack:
aload 0
aload 2
invokeinterface java.util.Set.size:()I
ifle 8
aload 0
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.hasModulePackages:()Z
ifne 8
iconst_1
goto 9
StackMap locals:
StackMap stack: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo
8: iconst_0
StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo byte[] java.util.Set
StackMap stack: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo int
9: putfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.addModulePackages:Z
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
0 11 1 bytes [B
0 11 2 packages Ljava/util/Set<Ljava/lang/String;>;
Exceptions:
throws java.io.IOException
Signature: ([BLjava/util/Set<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
bytes
packages
java.lang.String moduleName();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.attrs:Ljdk/internal/module/ModuleInfo$Attributes;
invokevirtual jdk.internal.module.ModuleInfo$Attributes.descriptor:()Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
java.lang.module.ModuleDescriptor descriptor();
descriptor: ()Ljava/lang/module/ModuleDescriptor;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.descriptor:Ljava/lang/module/ModuleDescriptor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
java.util.Set<java.lang.String> packages();
descriptor: ()Ljava/util/Set;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.packages:Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
Signature: ()Ljava/util/Set<Ljava/lang/String;>;
jdk.internal.module.ModuleTarget target();
descriptor: ()Ljdk/internal/module/ModuleTarget;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.attrs:Ljdk/internal/module/ModuleInfo$Attributes;
invokevirtual jdk.internal.module.ModuleInfo$Attributes.target:()Ljdk/internal/module/ModuleTarget;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
jdk.internal.module.ModuleHashes recordedHashes();
descriptor: ()Ljdk/internal/module/ModuleHashes;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.attrs:Ljdk/internal/module/ModuleInfo$Attributes;
invokevirtual jdk.internal.module.ModuleInfo$Attributes.recordedHashes:()Ljdk/internal/module/ModuleHashes;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
jdk.internal.module.ModuleResolution moduleResolution();
descriptor: ()Ljdk/internal/module/ModuleResolution;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.attrs:Ljdk/internal/module/ModuleInfo$Attributes;
invokevirtual jdk.internal.module.ModuleInfo$Attributes.moduleResolution:()Ljdk/internal/module/ModuleResolution;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
void validateNames();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.descriptor:Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
invokestatic jdk.internal.module.Checks.requireModuleName:(Ljava/lang/String;)Ljava/lang/String;
pop
1: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.descriptor:Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.requires:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 4
StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo top java.util.Iterator
StackMap stack:
2: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleDescriptor$Requires
astore 1
start local 1 3: aload 1
invokevirtual java.lang.module.ModuleDescriptor$Requires.name:()Ljava/lang/String;
invokestatic jdk.internal.module.Checks.requireModuleName:(Ljava/lang/String;)Ljava/lang/String;
pop
end local 1 4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.descriptor:Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.exports:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 10
StackMap locals:
StackMap stack:
6: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleDescriptor$Exports
astore 1
start local 1 7: aload 1
invokevirtual java.lang.module.ModuleDescriptor$Exports.source:()Ljava/lang/String;
invokestatic jdk.internal.module.Checks.requirePackageName:(Ljava/lang/String;)Ljava/lang/String;
pop
8: aload 1
invokevirtual java.lang.module.ModuleDescriptor$Exports.isQualified:()Z
ifeq 10
9: aload 1
invokevirtual java.lang.module.ModuleDescriptor$Exports.targets:()Ljava/util/Set;
invokedynamic accept()Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
jdk/internal/module/Checks.requireModuleName(Ljava/lang/String;)Ljava/lang/String; (6)
(Ljava/lang/String;)V
invokeinterface java.util.Set.forEach:(Ljava/util/function/Consumer;)V
end local 1 10: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
11: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.descriptor:Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.opens:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 16
StackMap locals:
StackMap stack:
12: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleDescriptor$Opens
astore 1
start local 1 13: aload 1
invokevirtual java.lang.module.ModuleDescriptor$Opens.source:()Ljava/lang/String;
invokestatic jdk.internal.module.Checks.requirePackageName:(Ljava/lang/String;)Ljava/lang/String;
pop
14: aload 1
invokevirtual java.lang.module.ModuleDescriptor$Opens.isQualified:()Z
ifeq 16
15: aload 1
invokevirtual java.lang.module.ModuleDescriptor$Opens.targets:()Ljava/util/Set;
invokedynamic accept()Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
jdk/internal/module/Checks.requireModuleName(Ljava/lang/String;)Ljava/lang/String; (6)
(Ljava/lang/String;)V
invokeinterface java.util.Set.forEach:(Ljava/util/function/Consumer;)V
end local 1 16: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
17: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.descriptor:Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.provides:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 21
StackMap locals:
StackMap stack:
18: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleDescriptor$Provides
astore 1
start local 1 19: aload 1
invokevirtual java.lang.module.ModuleDescriptor$Provides.service:()Ljava/lang/String;
invokestatic jdk.internal.module.Checks.requireServiceTypeName:(Ljava/lang/String;)Ljava/lang/String;
pop
20: aload 1
invokevirtual java.lang.module.ModuleDescriptor$Provides.providers:()Ljava/util/List;
invokedynamic accept()Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
jdk/internal/module/Checks.requireServiceProviderName(Ljava/lang/String;)Ljava/lang/String; (6)
(Ljava/lang/String;)V
invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
end local 1 21: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
22: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.descriptor:Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.uses:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 25
StackMap locals:
StackMap stack:
23: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 24: aload 1
invokestatic jdk.internal.module.Checks.requireServiceTypeName:(Ljava/lang/String;)Ljava/lang/String;
pop
end local 1 25: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
26: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.descriptor:Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.packages:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 29
StackMap locals:
StackMap stack:
27: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 28: aload 1
invokestatic jdk.internal.module.Checks.requirePackageName:(Ljava/lang/String;)Ljava/lang/String;
pop
end local 1 29: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 27
30: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.packages:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 33
StackMap locals:
StackMap stack:
31: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 32: aload 1
invokestatic jdk.internal.module.Checks.requirePackageName:(Ljava/lang/String;)Ljava/lang/String;
pop
end local 1 33: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 31
34: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
3 4 1 req Ljava/lang/module/ModuleDescriptor$Requires;
7 10 1 e Ljava/lang/module/ModuleDescriptor$Exports;
13 16 1 opens Ljava/lang/module/ModuleDescriptor$Opens;
19 21 1 provides Ljava/lang/module/ModuleDescriptor$Provides;
24 25 1 service Ljava/lang/String;
28 29 1 pn Ljava/lang/String;
32 33 1 pn Ljava/lang/String;
void validatePackages();
descriptor: ()V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=1
start local 0 0: new java.util.TreeSet
dup
invokespecial java.util.TreeSet.<init>:()V
astore 1
start local 1 1: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.descriptor:Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.exports:()Ljava/util/Set;
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/ModuleDescriptor$Exports.source()Ljava/lang/String; (5)
(Ljava/lang/module/ModuleDescriptor$Exports;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
3: aload 0
invokedynamic test(Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;)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$ModuleInfo.lambda$4(Ljava/lang/String;)Z (7)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
4: aload 1
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Ljava/util/Set;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
java/util/Set.add(Ljava/lang/Object;)Z (9 itf)
(Ljava/lang/String;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
5: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.descriptor:Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.opens:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
6: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/lang/module/ModuleDescriptor$Opens.source()Ljava/lang/String; (5)
(Ljava/lang/module/ModuleDescriptor$Opens;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
7: aload 0
invokedynamic test(Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;)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$ModuleInfo.lambda$7(Ljava/lang/String;)Z (7)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
8: aload 1
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Ljava/util/Set;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
java/util/Set.add(Ljava/lang/Object;)Z (9 itf)
(Ljava/lang/String;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
9: aload 1
invokeinterface java.util.Set.isEmpty:()Z
ifne 13
10: new jdk.tools.jlink.plugin.PluginException
dup
new java.lang.StringBuilder
dup
ldc "Packages that are exported or open in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.descriptor:Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " are not present: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokespecial jdk.tools.jlink.plugin.PluginException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals: java.util.Set
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
1 14 1 nonExistPackages Ljava/util/Set<Ljava/lang/String;>;
boolean hasModulePackages();
descriptor: ()Z
flags: (0x0000)
Code:
stack=5, locals=7, args_size=1
start local 0 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 1
start local 1 1: new jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo$1
dup
aload 0
ldc 393216
aload 1
invokespecial jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo$1.<init>:(Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;ILjava/util/Set;)V
astore 2
start local 2 2: aconst_null
astore 3
aconst_null
astore 4
3: aload 0
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.getInputStream:()Ljava/io/InputStream;
astore 5
start local 5 4: new jdk.internal.org.objectweb.asm.ClassReader
dup
aload 5
invokespecial jdk.internal.org.objectweb.asm.ClassReader.<init>:(Ljava/io/InputStream;)V
astore 6
start local 6 5: aload 6
aload 2
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.ClassReader.accept:(Ljdk/internal/org/objectweb/asm/ClassVisitor;I)V
6: aload 1
invokeinterface java.util.Set.size:()I
ifle 7
iconst_1
goto 8
StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo java.util.Set jdk.internal.org.objectweb.asm.ClassVisitor java.lang.Throwable java.lang.Throwable java.io.InputStream jdk.internal.org.objectweb.asm.ClassReader
StackMap stack:
7: iconst_0
8: StackMap locals:
StackMap stack: int
aload 5
ifnull 9
aload 5
invokevirtual java.io.InputStream.close:()V
9: StackMap locals:
StackMap stack: int
ireturn
end local 6 StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo java.util.Set jdk.internal.org.objectweb.asm.ClassVisitor java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
10: astore 3
11: aload 5
ifnull 12
aload 5
invokevirtual java.io.InputStream.close:()V
end local 5 StackMap locals:
StackMap stack:
12: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 4
aload 3
ifnonnull 14
aload 4
astore 3
goto 15
StackMap locals:
StackMap stack:
14: aload 3
aload 4
if_acmpeq 15
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 3
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
1 16 1 packages Ljava/util/Set<Ljava/lang/String;>;
2 16 2 cv Ljdk/internal/org/objectweb/asm/ClassVisitor;
4 12 5 in Ljava/io/InputStream;
5 10 6 cr Ljdk/internal/org/objectweb/asm/ClassReader;
Exception table:
from to target type
4 8 10 any
3 9 13 any
10 13 13 any
Exceptions:
throws java.io.IOException
boolean shouldRewrite();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.addModulePackages:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
byte[] getBytes();
descriptor: ()[B
flags: (0x0000)
Code:
stack=4, locals=9, args_size=1
start local 0 0: aconst_null
astore 1
aconst_null
astore 2
1: aload 0
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.getInputStream:()Ljava/io/InputStream;
astore 3
start local 3 2: aload 0
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.shouldRewrite:()Z
ifeq 19
3: new jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo$ModuleInfoRewriter
dup
aload 0
aload 3
invokespecial jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo$ModuleInfoRewriter.<init>:(Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;Ljava/io/InputStream;)V
astore 4
start local 4 4: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.addModulePackages:Z
ifeq 6
5: aload 4
aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.packages:Ljava/util/Set;
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo$ModuleInfoRewriter.addModulePackages:(Ljava/util/Set;)V
6: StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo java.lang.Throwable java.lang.Throwable java.io.InputStream jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo$ModuleInfoRewriter
StackMap stack:
aload 4
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo$ModuleInfoRewriter.getBytes:()[B
astore 5
start local 5 7: aconst_null
astore 6
aconst_null
astore 7
8: new java.io.ByteArrayInputStream
dup
aload 5
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 8
start local 8 9: aload 0
aload 8
invokestatic java.lang.module.ModuleDescriptor.read:(Ljava/io/InputStream;)Ljava/lang/module/ModuleDescriptor;
putfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.descriptor:Ljava/lang/module/ModuleDescriptor;
10: aload 8
ifnull 16
aload 8
invokevirtual java.io.ByteArrayInputStream.close:()V
goto 16
StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo java.lang.Throwable java.lang.Throwable java.io.InputStream jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo$ModuleInfoRewriter byte[] java.lang.Throwable java.lang.Throwable java.io.ByteArrayInputStream
StackMap stack: java.lang.Throwable
11: astore 6
aload 8
ifnull 12
aload 8
invokevirtual java.io.ByteArrayInputStream.close:()V
end local 8 StackMap locals:
StackMap stack:
12: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 7
aload 6
ifnonnull 14
aload 7
astore 6
goto 15
StackMap locals:
StackMap stack:
14: aload 6
aload 7
if_acmpeq 15
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 6
athrow
16: StackMap locals:
StackMap stack:
aload 5
17: aload 3
ifnull 18
aload 3
invokevirtual java.io.InputStream.close:()V
18: StackMap locals:
StackMap stack: byte[]
areturn
end local 5 end local 4 19: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.io.InputStream.readAllBytes:()[B
20: aload 3
ifnull 21
aload 3
invokevirtual java.io.InputStream.close:()V
21: StackMap locals:
StackMap stack: byte[]
areturn
StackMap locals:
StackMap stack: java.lang.Throwable
22: astore 1
23: aload 3
ifnull 24
aload 3
invokevirtual java.io.InputStream.close:()V
end local 3 StackMap locals:
StackMap stack:
24: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
25: astore 2
aload 1
ifnonnull 26
aload 2
astore 1
goto 27
StackMap locals:
StackMap stack:
26: aload 1
aload 2
if_acmpeq 27
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
27: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
2 24 3 in Ljava/io/InputStream;
4 19 4 rewriter Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo$ModuleInfoRewriter;
7 19 5 bytes [B
9 12 8 bais Ljava/io/ByteArrayInputStream;
Exception table:
from to target type
9 10 11 any
8 13 13 any
2 17 22 any
19 20 22 any
1 18 25 any
19 21 25 any
22 25 25 any
Exceptions:
throws java.io.IOException
java.io.InputStream getInputStream();
descriptor: ()Ljava/io/InputStream;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.bais:Ljava/io/ByteArrayInputStream;
invokevirtual java.io.ByteArrayInputStream.reset:()V
1: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.bais:Ljava/io/ByteArrayInputStream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
private boolean lambda$4(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.packages:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
0 3 1 pn Ljava/lang/String;
private boolean lambda$7(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.packages:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
0 3 1 pn 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 Opens = java.lang.module.ModuleDescriptor$Opens of java.lang.module.ModuleDescriptor
public final Provides = java.lang.module.ModuleDescriptor$Provides of java.lang.module.ModuleDescriptor
public final Requires = java.lang.module.ModuleDescriptor$Requires of java.lang.module.ModuleDescriptor
public final Attributes = jdk.internal.module.ModuleInfo$Attributes of jdk.internal.module.ModuleInfo
ModuleInfo = jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo of jdk.tools.jlink.internal.plugins.SystemModulesPlugin
jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo$1
ModuleInfoRewriter = jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo$ModuleInfoRewriter of jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo