public final class jdk.tools.jlink.internal.plugins.ReleaseInfoPlugin implements jdk.tools.jlink.plugin.Plugin
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.tools.jlink.internal.plugins.ReleaseInfoPlugin
super_class: java.lang.Object
{
public static final java.lang.String NAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "release-info"
public static final java.lang.String KEYS;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "keys"
private final java.util.Map<java.lang.String, java.lang.String> release;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield jdk.tools.jlink.internal.plugins.ReleaseInfoPlugin.release:Ljava/util/Map;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/tools/jlink/internal/plugins/ReleaseInfoPlugin;
public jdk.tools.jlink.plugin.Plugin$Category getType();
descriptor: ()Ljdk/tools/jlink/plugin/Plugin$Category;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic jdk.tools.jlink.plugin.Plugin$Category.METAINFO_ADDER:Ljdk/tools/jlink/plugin/Plugin$Category;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/ReleaseInfoPlugin;
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "release-info"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/ReleaseInfoPlugin;
public java.lang.String getDescription();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "release-info"
invokestatic jdk.tools.jlink.internal.plugins.PluginsResourceBundle.getDescription:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/ReleaseInfoPlugin;
public java.util.Set<jdk.tools.jlink.plugin.Plugin$State> getState();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic jdk.tools.jlink.plugin.Plugin$State.AUTO_ENABLED:Ljdk/tools/jlink/plugin/Plugin$State;
getstatic jdk.tools.jlink.plugin.Plugin$State.FUNCTIONAL:Ljdk/tools/jlink/plugin/Plugin$State;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/ReleaseInfoPlugin;
Signature: ()Ljava/util/Set<Ljdk/tools/jlink/plugin/Plugin$State;>;
public boolean hasArguments();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/ReleaseInfoPlugin;
public java.lang.String getArgumentsDescription();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc "release-info"
iconst_0
anewarray java.lang.Object
invokestatic jdk.tools.jlink.internal.plugins.PluginsResourceBundle.getArgument:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/ReleaseInfoPlugin;
public void configure(java.util.Map<java.lang.String, java.lang.String>);
descriptor: (Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 1
ldc "release-info"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 1: aload 2
ifnonnull 3
2: return
3: StackMap locals: java.lang.String
StackMap stack:
aload 2
dup
astore 3
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 2
96417: 4
99339: 5
default: 12
}
StackMap locals: java.lang.String
StackMap stack:
4: aload 3
ldc "add"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
goto 12
StackMap locals:
StackMap stack:
5: aload 3
ldc "del"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
goto 12
6: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
7: 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/ReleaseInfoPlugin.lambda$0(Ljava/lang/String;)Z (6)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
8: aload 0
aload 1
invokedynamic accept(Ljdk/tools/jlink/internal/plugins/ReleaseInfoPlugin;Ljava/util/Map;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
jdk/tools/jlink/internal/plugins/ReleaseInfoPlugin.lambda$1(Ljava/util/Map;Ljava/lang/String;)V (7)
(Ljava/lang/String;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
9: goto 25
10: StackMap locals:
StackMap stack:
aload 1
ldc "keys"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokestatic jdk.tools.jlink.internal.Utils.parseList:(Ljava/lang/String;)Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
aload 0
invokedynamic accept(Ljdk/tools/jlink/internal/plugins/ReleaseInfoPlugin;)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/ReleaseInfoPlugin.lambda$2(Ljava/lang/String;)V (7)
(Ljava/lang/String;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
11: goto 25
12: StackMap locals:
StackMap stack:
new java.util.Properties
dup
invokespecial java.util.Properties.<init>:()V
astore 4
start local 4 13: aconst_null
astore 5
aconst_null
astore 6
14: new java.io.FileInputStream
dup
aload 2
invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
astore 7
start local 7 15: aload 4
aload 7
invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
16: aload 7
ifnull 24
aload 7
invokevirtual java.io.FileInputStream.close:()V
goto 24
StackMap locals: jdk.tools.jlink.internal.plugins.ReleaseInfoPlugin java.util.Map java.lang.String java.lang.String java.util.Properties java.lang.Throwable java.lang.Throwable java.io.FileInputStream
StackMap stack: java.lang.Throwable
17: astore 5
aload 7
ifnull 18
aload 7
invokevirtual java.io.FileInputStream.close:()V
end local 7 StackMap locals:
StackMap stack:
18: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
19: astore 6
aload 5
ifnonnull 20
aload 6
astore 5
goto 21
StackMap locals:
StackMap stack:
20: aload 5
aload 6
if_acmpeq 21
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
21: aload 5
athrow
StackMap locals: jdk.tools.jlink.internal.plugins.ReleaseInfoPlugin java.util.Map java.lang.String java.lang.String java.util.Properties
StackMap stack: java.io.IOException
22: astore 5
start local 5 23: new java.io.UncheckedIOException
dup
aload 5
invokespecial java.io.UncheckedIOException.<init>:(Ljava/io/IOException;)V
athrow
end local 5 24: StackMap locals:
StackMap stack:
aload 4
aload 0
invokedynamic accept(Ljdk/tools/jlink/internal/plugins/ReleaseInfoPlugin;)Ljava/util/function/BiConsumer;
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;)V
jdk/tools/jlink/internal/plugins/ReleaseInfoPlugin.lambda$3(Ljava/lang/Object;Ljava/lang/Object;)V (7)
(Ljava/lang/Object;Ljava/lang/Object;)V
invokevirtual java.util.Properties.forEach:(Ljava/util/function/BiConsumer;)V
end local 4 25: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Ljdk/tools/jlink/internal/plugins/ReleaseInfoPlugin;
0 26 1 config Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
1 26 2 operation Ljava/lang/String;
13 25 4 props Ljava/util/Properties;
15 18 7 fis Ljava/io/FileInputStream;
23 24 5 exp Ljava/io/IOException;
Exception table:
from to target type
15 16 17 any
14 19 19 any
13 22 22 Class java.io.IOException
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
MethodParameters:
Name Flags
config
public jdk.tools.jlink.plugin.ResourcePool transform(jdk.tools.jlink.plugin.ResourcePool, jdk.tools.jlink.plugin.ResourcePoolBuilder);
descriptor: (Ljdk/tools/jlink/plugin/ResourcePool;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)Ljdk/tools/jlink/plugin/ResourcePool;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic java.util.function.Function.identity:()Ljava/util/function/Function;
aload 2
invokeinterface jdk.tools.jlink.plugin.ResourcePool.transformAndCopy:(Ljava/util/function/Function;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)V
1: aload 1
invokeinterface jdk.tools.jlink.plugin.ResourcePool.moduleView:()Ljdk/tools/jlink/plugin/ResourcePoolModuleView;
ldc "java.base"
invokeinterface jdk.tools.jlink.plugin.ResourcePoolModuleView.findModule:(Ljava/lang/String;)Ljava/util/Optional;
2: aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.tools.jlink.plugin.ResourcePoolModule
3: astore 3
start local 3 4: aload 3
ifnull 5
aload 3
invokeinterface jdk.tools.jlink.plugin.ResourcePoolModule.targetPlatform:()Ljava/lang/String;
ifnonnull 6
5: StackMap locals: jdk.tools.jlink.plugin.ResourcePoolModule
StackMap stack:
new jdk.tools.jlink.plugin.PluginException
dup
ldc "ModuleTarget attribute is missing for java.base module"
invokespecial jdk.tools.jlink.plugin.PluginException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 3
invokeinterface jdk.tools.jlink.plugin.ResourcePoolModule.descriptor:()Ljava/lang/module/ModuleDescriptor;
astore 4
start local 4 7: aload 4
invokevirtual java.lang.module.ModuleDescriptor.version:()Ljava/util/Optional;
aload 0
invokedynamic accept(Ljdk/tools/jlink/internal/plugins/ReleaseInfoPlugin;)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/ReleaseInfoPlugin.lambda$4(Ljava/lang/module/ModuleDescriptor$Version;)V (7)
(Ljava/lang/module/ModuleDescriptor$Version;)V
invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
8: aload 0
getfield jdk.tools.jlink.internal.plugins.ReleaseInfoPlugin.release:Ljava/util/Map;
ldc "MODULES"
new jdk.tools.jlink.internal.ModuleSorter
dup
aload 1
invokeinterface jdk.tools.jlink.plugin.ResourcePool.moduleView:()Ljdk/tools/jlink/plugin/ResourcePoolModuleView;
invokespecial jdk.tools.jlink.internal.ModuleSorter.<init>:(Ljdk/tools/jlink/plugin/ResourcePoolModuleView;)V
9: invokevirtual jdk.tools.jlink.internal.ModuleSorter.sorted:()Ljava/util/stream/Stream;
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/plugin/ResourcePoolModule.name()Ljava/lang/String; (9 itf)
(Ljdk/tools/jlink/plugin/ResourcePoolModule;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
10: ldc " "
ldc "\""
ldc "\""
invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.lang.String
11: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: aload 2
ldc "/java.base/release"
13: getstatic jdk.tools.jlink.plugin.ResourcePoolEntry$Type.TOP:Ljdk/tools/jlink/plugin/ResourcePoolEntry$Type;
14: aload 0
invokevirtual jdk.tools.jlink.internal.plugins.ReleaseInfoPlugin.releaseFileContent:()[B
15: invokestatic jdk.tools.jlink.plugin.ResourcePoolEntry.create:(Ljava/lang/String;Ljdk/tools/jlink/plugin/ResourcePoolEntry$Type;[B)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
invokeinterface jdk.tools.jlink.plugin.ResourcePoolBuilder.add:(Ljdk/tools/jlink/plugin/ResourcePoolEntry;)V
16: aload 2
invokeinterface jdk.tools.jlink.plugin.ResourcePoolBuilder.build:()Ljdk/tools/jlink/plugin/ResourcePool;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljdk/tools/jlink/internal/plugins/ReleaseInfoPlugin;
0 17 1 in Ljdk/tools/jlink/plugin/ResourcePool;
0 17 2 out Ljdk/tools/jlink/plugin/ResourcePoolBuilder;
4 17 3 javaBase Ljdk/tools/jlink/plugin/ResourcePoolModule;
7 17 4 desc Ljava/lang/module/ModuleDescriptor;
MethodParameters:
Name Flags
in
out
private static java.lang.String parseVersion(java.lang.module.ModuleDescriptor$Version);
descriptor: (Ljava/lang/module/ModuleDescriptor$Version;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.module.ModuleDescriptor$Version.toString:()Ljava/lang/String;
invokestatic java.lang.Runtime$Version.parse:(Ljava/lang/String;)Ljava/lang/Runtime$Version;
1: invokevirtual java.lang.Runtime$Version.version:()Ljava/util/List;
2: invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
3: 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/Object.toString()Ljava/lang/String; (5)
(Ljava/lang/Integer;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
4: ldc "."
invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.lang.String
5: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 v Ljava/lang/module/ModuleDescriptor$Version;
MethodParameters:
Name Flags
v
private static java.lang.String quote(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 str Ljava/lang/String;
MethodParameters:
Name Flags
str
private byte[] releaseFileContent();
descriptor: ()[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=1
start local 0 0: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 1
start local 1 1: aconst_null
astore 2
aconst_null
astore 3
2: new java.io.PrintWriter
dup
aload 1
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
astore 4
start local 4 3: aload 0
getfield jdk.tools.jlink.internal.plugins.ReleaseInfoPlugin.release:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
4: invokestatic java.util.Map$Entry.comparingByKey:()Ljava/util/Comparator;
invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
5: aload 4
invokedynamic accept(Ljava/io/PrintWriter;)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/ReleaseInfoPlugin.lambda$7(Ljava/io/PrintWriter;Ljava/util/Map$Entry;)V (6)
(Ljava/util/Map$Entry;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
6: aload 4
ifnull 12
aload 4
invokevirtual java.io.PrintWriter.close:()V
goto 12
StackMap locals: jdk.tools.jlink.internal.plugins.ReleaseInfoPlugin java.io.ByteArrayOutputStream java.lang.Throwable java.lang.Throwable java.io.PrintWriter
StackMap stack: java.lang.Throwable
7: astore 2
aload 4
ifnull 8
aload 4
invokevirtual java.io.PrintWriter.close:()V
end local 4 StackMap locals:
StackMap stack:
8: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 3
aload 2
ifnonnull 10
aload 3
astore 2
goto 11
StackMap locals:
StackMap stack:
10: aload 2
aload 3
if_acmpeq 11
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 2
athrow
12: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/tools/jlink/internal/plugins/ReleaseInfoPlugin;
1 13 1 baos Ljava/io/ByteArrayOutputStream;
3 8 4 pw Ljava/io/PrintWriter;
Exception table:
from to target type
3 6 7 any
2 9 9 any
private static boolean lambda$0(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc "release-info"
aload 0
invokevirtual java.lang.String.equals:(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 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 s Ljava/lang/String;
private void lambda$1(java.util.Map, java.lang.String);
descriptor: (Ljava/util/Map;Ljava/lang/String;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 2 0: aload 0
getfield jdk.tools.jlink.internal.plugins.ReleaseInfoPlugin.release:Ljava/util/Map;
aload 2
aload 1
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/ReleaseInfoPlugin;
0 1 2 s Ljava/lang/String;
private void lambda$2(java.lang.String);
descriptor: (Ljava/lang/String;)V
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.ReleaseInfoPlugin.release:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/tools/jlink/internal/plugins/ReleaseInfoPlugin;
0 2 1 k Ljava/lang/String;
private void lambda$3(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.tools.jlink.internal.plugins.ReleaseInfoPlugin.release:Ljava/util/Map;
aload 1
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
aload 2
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/plugins/ReleaseInfoPlugin;
0 1 1 k Ljava/lang/Object;
0 1 2 v Ljava/lang/Object;
private void lambda$4(java.lang.module.ModuleDescriptor$Version);
descriptor: (Ljava/lang/module/ModuleDescriptor$Version;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.tools.jlink.internal.plugins.ReleaseInfoPlugin.release:Ljava/util/Map;
ldc "JAVA_VERSION"
1: aload 1
invokestatic jdk.tools.jlink.internal.plugins.ReleaseInfoPlugin.parseVersion:(Ljava/lang/module/ModuleDescriptor$Version;)Ljava/lang/String;
invokestatic jdk.tools.jlink.internal.plugins.ReleaseInfoPlugin.quote:(Ljava/lang/String;)Ljava/lang/String;
2: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/tools/jlink/internal/plugins/ReleaseInfoPlugin;
0 4 1 v Ljava/lang/module/ModuleDescriptor$Version;
private static void lambda$7(java.io.PrintWriter, java.util.Map$Entry);
descriptor: (Ljava/io/PrintWriter;Ljava/util/Map$Entry;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=6, locals=2, args_size=2
start local 1 0: aload 0
ldc "%s=%s%n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
aastore
dup
iconst_1
aload 1
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
aastore
invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 e Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
}
SourceFile: "ReleaseInfoPlugin.java"
InnerClasses:
public final Version = java.lang.Runtime$Version of java.lang.Runtime
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Version = java.lang.module.ModuleDescriptor$Version of java.lang.module.ModuleDescriptor
public abstract Entry = java.util.Map$Entry of java.util.Map
public final Category = jdk.tools.jlink.plugin.Plugin$Category of jdk.tools.jlink.plugin.Plugin
public final State = jdk.tools.jlink.plugin.Plugin$State of jdk.tools.jlink.plugin.Plugin
public final Type = jdk.tools.jlink.plugin.ResourcePoolEntry$Type of jdk.tools.jlink.plugin.ResourcePoolEntry