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 bain;
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 dropModuleTarget;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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;Z)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 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.bain: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.bain: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 int
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 int
StackMap stack: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo int
9: putfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.addModulePackages:Z
10: 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;
astore 4
start local 4 11: iload 3
ifeq 16
aload 4
ifnull 16
12: aload 0
aload 4
invokevirtual jdk.internal.module.ModuleTarget.targetPlatform:()Ljava/lang/String;
ifnull 13
iconst_1
goto 14
StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo byte[] java.util.Set int jdk.internal.module.ModuleTarget
StackMap stack: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo
13: iconst_0
StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo byte[] java.util.Set int jdk.internal.module.ModuleTarget
StackMap stack: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo int
14: putfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.dropModuleTarget:Z
15: goto 17
16: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.dropModuleTarget:Z
17: StackMap locals:
StackMap stack:
return
end local 4 end local 3 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$ModuleInfo;
0 18 1 bytes [B
0 18 2 packages Ljava/util/Set<Ljava/lang/String;>;
0 18 3 dropModuleTarget Z
11 18 4 target Ljdk/internal/module/ModuleTarget;
Exceptions:
throws java.io.IOException
Signature: ([BLjava/util/Set<Ljava/lang/String;>;Z)V
MethodParameters:
Name Flags
bytes
packages
dropModuleTarget
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=8, 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 327680
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: iconst_1
anewarray jdk.internal.org.objectweb.asm.Attribute
dup
iconst_0
3: new jdk.internal.module.ClassFileAttributes$ModulePackagesAttribute
dup
invokespecial jdk.internal.module.ClassFileAttributes$ModulePackagesAttribute.<init>:()V
aastore
4: astore 3
start local 3 5: aconst_null
astore 4
aconst_null
astore 5
6: aload 0
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.getInputStream:()Ljava/io/InputStream;
astore 6
start local 6 7: new jdk.internal.org.objectweb.asm.ClassReader
dup
aload 6
invokespecial jdk.internal.org.objectweb.asm.ClassReader.<init>:(Ljava/io/InputStream;)V
astore 7
start local 7 8: aload 7
aload 2
aload 3
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.ClassReader.accept:(Ljdk/internal/org/objectweb/asm/ClassVisitor;[Ljdk/internal/org/objectweb/asm/Attribute;I)V
9: aload 1
ldc "ModulePackages"
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
10: aload 6
ifnull 11
aload 6
invokevirtual java.io.InputStream.close:()V
11: StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo java.util.Set jdk.internal.org.objectweb.asm.ClassVisitor jdk.internal.org.objectweb.asm.Attribute[] java.lang.Throwable java.lang.Throwable java.io.InputStream jdk.internal.org.objectweb.asm.ClassReader
StackMap stack: int
ireturn
end local 7 StackMap locals: jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo java.util.Set jdk.internal.org.objectweb.asm.ClassVisitor jdk.internal.org.objectweb.asm.Attribute[] java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
12: astore 4
13: aload 6
ifnull 14
aload 6
invokevirtual java.io.InputStream.close:()V
end local 6 StackMap locals:
StackMap stack:
14: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 5
aload 4
ifnonnull 16
aload 5
astore 4
goto 17
StackMap locals:
StackMap stack:
16: aload 4
aload 5
if_acmpeq 17
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
17: aload 4
athrow
end local 3 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$ModuleInfo;
1 18 1 attrTypes Ljava/util/Set<Ljava/lang/String;>;
2 18 2 cv Ljdk/internal/org/objectweb/asm/ClassVisitor;
5 18 3 attrs [Ljdk/internal/org/objectweb/asm/Attribute;
7 14 6 in Ljava/io/InputStream;
8 12 7 cr Ljdk/internal/org/objectweb/asm/ClassReader;
Exception table:
from to target type
7 10 12 any
6 11 15 any
12 15 15 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
ifne 1
aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.dropModuleTarget:Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 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 21
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 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.dropModuleTarget:Z
ifeq 8
7: aload 4
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo$ModuleInfoRewriter.dropModuleTarget:()V
8: StackMap locals:
StackMap stack:
aload 4
invokevirtual jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo$ModuleInfoRewriter.getBytes:()[B
astore 5
start local 5 9: aconst_null
astore 6
aconst_null
astore 7
10: new java.io.ByteArrayInputStream
dup
aload 5
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 8
start local 8 11: 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;
12: aload 8
ifnull 18
aload 8
invokevirtual java.io.ByteArrayInputStream.close:()V
goto 18
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
13: astore 6
aload 8
ifnull 14
aload 8
invokevirtual java.io.ByteArrayInputStream.close:()V
end local 8 StackMap locals:
StackMap stack:
14: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 7
aload 6
ifnonnull 16
aload 7
astore 6
goto 17
StackMap locals:
StackMap stack:
16: aload 6
aload 7
if_acmpeq 17
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
17: aload 6
athrow
18: StackMap locals:
StackMap stack:
aload 5
19: aload 3
ifnull 20
aload 3
invokevirtual java.io.InputStream.close:()V
20: StackMap locals:
StackMap stack: byte[]
areturn
end local 5 end local 4 21: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.io.InputStream.readAllBytes:()[B
22: aload 3
ifnull 23
aload 3
invokevirtual java.io.InputStream.close:()V
23: StackMap locals:
StackMap stack: byte[]
areturn
StackMap locals:
StackMap stack: java.lang.Throwable
24: astore 1
25: aload 3
ifnull 26
aload 3
invokevirtual java.io.InputStream.close:()V
end local 3 StackMap locals:
StackMap stack:
26: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
27: astore 2
aload 1
ifnonnull 28
aload 2
astore 1
goto 29
StackMap locals:
StackMap stack:
28: aload 1
aload 2
if_acmpeq 29
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
29: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo;
2 26 3 in Ljava/io/InputStream;
4 21 4 rewriter Ljdk/tools/jlink/internal/plugins/SystemModulesPlugin$ModuleInfo$ModuleInfoRewriter;
9 21 5 bytes [B
11 14 8 bain Ljava/io/ByteArrayInputStream;
Exception table:
from to target type
11 12 13 any
10 15 15 any
2 19 24 any
21 22 24 any
1 20 27 any
21 23 27 any
24 27 27 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.bain:Ljava/io/ByteArrayInputStream;
invokevirtual java.io.ByteArrayInputStream.reset:()V
1: aload 0
getfield jdk.tools.jlink.internal.plugins.SystemModulesPlugin$ModuleInfo.bain: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 ModulePackagesAttribute = jdk.internal.module.ClassFileAttributes$ModulePackagesAttribute of jdk.internal.module.ClassFileAttributes
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