public final class jdk.tools.jlink.internal.ImageFileCreator
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.tools.jlink.internal.ImageFileCreator
super_class: java.lang.Object
{
private final java.util.Map<java.lang.String, java.util.List<jdk.tools.jlink.internal.Archive$Entry>> entriesForModule;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljdk/tools/jlink/internal/Archive$Entry;>;>;
private final jdk.tools.jlink.internal.ImagePluginStack plugins;
descriptor: Ljdk/tools/jlink/internal/ImagePluginStack;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private void <init>(jdk.tools.jlink.internal.ImagePluginStack);
descriptor: (Ljdk/tools/jlink/internal/ImagePluginStack;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 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.ImageFileCreator.entriesForModule:Ljava/util/Map;
2: aload 0
aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.tools.jlink.internal.ImagePluginStack
putfield jdk.tools.jlink.internal.ImageFileCreator.plugins:Ljdk/tools/jlink/internal/ImagePluginStack;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/tools/jlink/internal/ImageFileCreator;
0 4 1 plugins Ljdk/tools/jlink/internal/ImagePluginStack;
MethodParameters:
Name Flags
plugins
public static jdk.tools.jlink.internal.ExecutableImage create(java.util.Set<jdk.tools.jlink.internal.Archive>, jdk.tools.jlink.internal.ImagePluginStack);
descriptor: (Ljava/util/Set;Ljdk/tools/jlink/internal/ImagePluginStack;)Ljdk/tools/jlink/internal/ExecutableImage;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
1: aload 1
2: invokestatic jdk.tools.jlink.internal.ImageFileCreator.create:(Ljava/util/Set;Ljava/nio/ByteOrder;Ljdk/tools/jlink/internal/ImagePluginStack;)Ljdk/tools/jlink/internal/ExecutableImage;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 archives Ljava/util/Set<Ljdk/tools/jlink/internal/Archive;>;
0 3 1 plugins Ljdk/tools/jlink/internal/ImagePluginStack;
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/Set<Ljdk/tools/jlink/internal/Archive;>;Ljdk/tools/jlink/internal/ImagePluginStack;)Ljdk/tools/jlink/internal/ExecutableImage;
MethodParameters:
Name Flags
archives
plugins
public static jdk.tools.jlink.internal.ExecutableImage create(java.util.Set<jdk.tools.jlink.internal.Archive>, java.nio.ByteOrder);
descriptor: (Ljava/util/Set;Ljava/nio/ByteOrder;)Ljdk/tools/jlink/internal/ExecutableImage;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
1: new jdk.tools.jlink.internal.ImagePluginStack
dup
invokespecial jdk.tools.jlink.internal.ImagePluginStack.<init>:()V
2: invokestatic jdk.tools.jlink.internal.ImageFileCreator.create:(Ljava/util/Set;Ljava/nio/ByteOrder;Ljdk/tools/jlink/internal/ImagePluginStack;)Ljdk/tools/jlink/internal/ExecutableImage;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 archives Ljava/util/Set<Ljdk/tools/jlink/internal/Archive;>;
0 3 1 byteOrder Ljava/nio/ByteOrder;
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/Set<Ljdk/tools/jlink/internal/Archive;>;Ljava/nio/ByteOrder;)Ljdk/tools/jlink/internal/ExecutableImage;
MethodParameters:
Name Flags
archives
byteOrder
public static jdk.tools.jlink.internal.ExecutableImage create(java.util.Set<jdk.tools.jlink.internal.Archive>, java.nio.ByteOrder, jdk.tools.jlink.internal.ImagePluginStack);
descriptor: (Ljava/util/Set;Ljava/nio/ByteOrder;Ljdk/tools/jlink/internal/ImagePluginStack;)Ljdk/tools/jlink/internal/ExecutableImage;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: new jdk.tools.jlink.internal.ImageFileCreator
dup
aload 2
invokespecial jdk.tools.jlink.internal.ImageFileCreator.<init>:(Ljdk/tools/jlink/internal/ImagePluginStack;)V
astore 3
start local 3 1: aload 3
aload 0
invokevirtual jdk.tools.jlink.internal.ImageFileCreator.readAllEntries:(Ljava/util/Set;)V
2: aload 3
aload 0
aload 1
invokevirtual jdk.tools.jlink.internal.ImageFileCreator.writeImage:(Ljava/util/Set;Ljava/nio/ByteOrder;)V
3: goto 10
StackMap locals: java.util.Set java.nio.ByteOrder jdk.tools.jlink.internal.ImagePluginStack jdk.tools.jlink.internal.ImageFileCreator
StackMap stack: java.lang.Throwable
4: astore 4
5: aload 0
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 8
StackMap locals: java.util.Set java.nio.ByteOrder jdk.tools.jlink.internal.ImagePluginStack jdk.tools.jlink.internal.ImageFileCreator java.lang.Throwable top java.util.Iterator
StackMap stack:
6: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.tools.jlink.internal.Archive
astore 5
start local 5 7: aload 5
invokeinterface jdk.tools.jlink.internal.Archive.close:()V
end local 5 8: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: aload 4
athrow
10: StackMap locals: java.util.Set java.nio.ByteOrder jdk.tools.jlink.internal.ImagePluginStack jdk.tools.jlink.internal.ImageFileCreator
StackMap stack:
aload 0
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 13
StackMap locals: java.util.Set java.nio.ByteOrder jdk.tools.jlink.internal.ImagePluginStack jdk.tools.jlink.internal.ImageFileCreator top top java.util.Iterator
StackMap stack:
11: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.tools.jlink.internal.Archive
astore 5
start local 5 12: aload 5
invokeinterface jdk.tools.jlink.internal.Archive.close:()V
end local 5 13: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
14: aload 2
invokevirtual jdk.tools.jlink.internal.ImagePluginStack.getExecutableImage:()Ljdk/tools/jlink/internal/ExecutableImage;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 archives Ljava/util/Set<Ljdk/tools/jlink/internal/Archive;>;
0 15 1 byteOrder Ljava/nio/ByteOrder;
0 15 2 plugins Ljdk/tools/jlink/internal/ImagePluginStack;
1 15 3 image Ljdk/tools/jlink/internal/ImageFileCreator;
7 8 5 a Ljdk/tools/jlink/internal/Archive;
12 13 5 a Ljdk/tools/jlink/internal/Archive;
Exception table:
from to target type
1 4 4 any
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/Set<Ljdk/tools/jlink/internal/Archive;>;Ljava/nio/ByteOrder;Ljdk/tools/jlink/internal/ImagePluginStack;)Ljdk/tools/jlink/internal/ExecutableImage;
MethodParameters:
Name Flags
archives
byteOrder
plugins
private void readAllEntries(java.util.Set<jdk.tools.jlink.internal.Archive>);
descriptor: (Ljava/util/Set;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
aload 0
invokedynamic accept(Ljdk/tools/jlink/internal/ImageFileCreator;)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/ImageFileCreator.lambda$0(Ljdk/tools/jlink/internal/Archive;)V (7)
(Ljdk/tools/jlink/internal/Archive;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/tools/jlink/internal/ImageFileCreator;
0 2 1 archives Ljava/util/Set<Ljdk/tools/jlink/internal/Archive;>;
Signature: (Ljava/util/Set<Ljdk/tools/jlink/internal/Archive;>;)V
MethodParameters:
Name Flags
archives
public static void recreateJimage(java.nio.file.Path, java.util.Set<jdk.tools.jlink.internal.Archive>, jdk.tools.jlink.internal.ImagePluginStack);
descriptor: (Ljava/nio/file/Path;Ljava/util/Set;Ljdk/tools/jlink/internal/ImagePluginStack;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=15, args_size=3
start local 0 start local 1 start local 2 0: aload 1
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;
jdk/tools/jlink/internal/Archive.moduleName()Ljava/lang/String; (9 itf)
(Ljdk/tools/jlink/internal/Archive;)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/ImageFileCreator.lambda$3(Ljdk/tools/jlink/internal/Archive;)Ljava/util/List; (6)
(Ljdk/tools/jlink/internal/Archive;)Ljava/util/List;
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: invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
astore 4
start local 4 6: new jdk.tools.jlink.internal.BasicImageWriter
dup
aload 4
invokespecial jdk.tools.jlink.internal.BasicImageWriter.<init>:(Ljava/nio/ByteOrder;)V
astore 5
start local 5 7: aload 1
aload 3
aload 4
aload 5
invokestatic jdk.tools.jlink.internal.ImageFileCreator.createPoolManager:(Ljava/util/Set;Ljava/util/Map;Ljava/nio/ByteOrder;Ljdk/tools/jlink/internal/BasicImageWriter;)Ljdk/tools/jlink/internal/ResourcePoolManager;
astore 6
start local 6 8: aconst_null
astore 7
aconst_null
astore 8
9: aload 0
iconst_0
anewarray java.nio.file.OpenOption
invokestatic java.nio.file.Files.newOutputStream:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/OutputStream;
astore 9
start local 9 10: new java.io.BufferedOutputStream
dup
aload 9
invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 10
start local 10 11: new java.io.DataOutputStream
dup
aload 10
invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 11
start local 11 12: aload 6
aload 5
aload 2
aload 11
invokestatic jdk.tools.jlink.internal.ImageFileCreator.generateJImage:(Ljdk/tools/jlink/internal/ResourcePoolManager;Ljdk/tools/jlink/internal/BasicImageWriter;Ljdk/tools/jlink/internal/ImagePluginStack;Ljava/io/DataOutputStream;)Ljdk/tools/jlink/plugin/ResourcePool;
pop
13: aload 11
ifnull 16
aload 11
invokevirtual java.io.DataOutputStream.close:()V
goto 16
StackMap locals: java.nio.file.Path java.util.Set jdk.tools.jlink.internal.ImagePluginStack java.util.Map java.nio.ByteOrder jdk.tools.jlink.internal.BasicImageWriter jdk.tools.jlink.internal.ResourcePoolManager java.lang.Throwable java.lang.Throwable java.io.OutputStream java.io.BufferedOutputStream java.io.DataOutputStream
StackMap stack: java.lang.Throwable
14: astore 7
aload 11
ifnull 15
aload 11
invokevirtual java.io.DataOutputStream.close:()V
end local 11 StackMap locals:
StackMap stack:
15: aload 7
athrow
StackMap locals:
StackMap stack:
16: aload 10
ifnull 21
aload 10
invokevirtual java.io.BufferedOutputStream.close:()V
goto 21
StackMap locals:
StackMap stack: java.lang.Throwable
17: astore 8
aload 7
ifnonnull 18
aload 8
astore 7
goto 19
StackMap locals:
StackMap stack:
18: aload 7
aload 8
if_acmpeq 19
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
19: aload 10
ifnull 20
aload 10
invokevirtual java.io.BufferedOutputStream.close:()V
end local 10 StackMap locals:
StackMap stack:
20: aload 7
athrow
StackMap locals:
StackMap stack:
21: aload 9
ifnull 35
aload 9
invokevirtual java.io.OutputStream.close:()V
goto 35
StackMap locals:
StackMap stack: java.lang.Throwable
22: astore 8
aload 7
ifnonnull 23
aload 8
astore 7
goto 24
StackMap locals:
StackMap stack:
23: aload 7
aload 8
if_acmpeq 24
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
24: aload 9
ifnull 25
aload 9
invokevirtual java.io.OutputStream.close:()V
end local 9 StackMap locals:
StackMap stack:
25: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
26: astore 8
aload 7
ifnonnull 27
aload 8
astore 7
goto 28
StackMap locals:
StackMap stack:
27: aload 7
aload 8
if_acmpeq 28
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
28: aload 7
athrow
end local 6 end local 5 end local 4 end local 3 29: StackMap locals: java.nio.file.Path java.util.Set jdk.tools.jlink.internal.ImagePluginStack
StackMap stack: java.lang.Throwable
astore 12
30: aload 1
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 14
goto 33
StackMap locals: java.nio.file.Path java.util.Set jdk.tools.jlink.internal.ImagePluginStack top top top top top top top top top java.lang.Throwable top java.util.Iterator
StackMap stack:
31: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.tools.jlink.internal.Archive
astore 13
start local 13 32: aload 13
invokeinterface jdk.tools.jlink.internal.Archive.close:()V
end local 13 33: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 31
34: aload 12
athrow
35: StackMap locals: java.nio.file.Path java.util.Set jdk.tools.jlink.internal.ImagePluginStack
StackMap stack:
aload 1
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 14
goto 38
StackMap locals: java.nio.file.Path java.util.Set jdk.tools.jlink.internal.ImagePluginStack top top top top top top top top top top top java.util.Iterator
StackMap stack:
36: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.tools.jlink.internal.Archive
astore 13
start local 13 37: aload 13
invokeinterface jdk.tools.jlink.internal.Archive.close:()V
end local 13 38: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 36
39: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 jimageFile Ljava/nio/file/Path;
0 40 1 archives Ljava/util/Set<Ljdk/tools/jlink/internal/Archive;>;
0 40 2 pluginSupport Ljdk/tools/jlink/internal/ImagePluginStack;
5 29 3 entriesForModule Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljdk/tools/jlink/internal/Archive$Entry;>;>;
6 29 4 order Ljava/nio/ByteOrder;
7 29 5 writer Ljdk/tools/jlink/internal/BasicImageWriter;
8 29 6 pool Ljdk/tools/jlink/internal/ResourcePoolManager;
10 25 9 fos Ljava/io/OutputStream;
11 20 10 bos Ljava/io/BufferedOutputStream;
12 15 11 out Ljava/io/DataOutputStream;
32 33 13 a Ljdk/tools/jlink/internal/Archive;
37 38 13 a Ljdk/tools/jlink/internal/Archive;
Exception table:
from to target type
12 13 14 any
11 16 17 any
10 21 22 any
9 26 26 any
0 29 29 any
Exceptions:
throws java.io.IOException
Signature: (Ljava/nio/file/Path;Ljava/util/Set<Ljdk/tools/jlink/internal/Archive;>;Ljdk/tools/jlink/internal/ImagePluginStack;)V
MethodParameters:
Name Flags
jimageFile
archives
pluginSupport
private void writeImage(java.util.Set<jdk.tools.jlink.internal.Archive>, java.nio.ByteOrder);
descriptor: (Ljava/util/Set;Ljava/nio/ByteOrder;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: new jdk.tools.jlink.internal.BasicImageWriter
dup
aload 2
invokespecial jdk.tools.jlink.internal.BasicImageWriter.<init>:(Ljava/nio/ByteOrder;)V
astore 3
start local 3 1: aload 1
2: aload 0
getfield jdk.tools.jlink.internal.ImageFileCreator.entriesForModule:Ljava/util/Map;
aload 2
aload 3
3: invokestatic jdk.tools.jlink.internal.ImageFileCreator.createPoolManager:(Ljava/util/Set;Ljava/util/Map;Ljava/nio/ByteOrder;Ljdk/tools/jlink/internal/BasicImageWriter;)Ljdk/tools/jlink/internal/ResourcePoolManager;
astore 4
start local 4 4: aload 4
5: aload 3
aload 0
getfield jdk.tools.jlink.internal.ImageFileCreator.plugins:Ljdk/tools/jlink/internal/ImagePluginStack;
aload 0
getfield jdk.tools.jlink.internal.ImageFileCreator.plugins:Ljdk/tools/jlink/internal/ImagePluginStack;
invokevirtual jdk.tools.jlink.internal.ImagePluginStack.getJImageFileOutputStream:()Ljava/io/DataOutputStream;
6: invokestatic jdk.tools.jlink.internal.ImageFileCreator.generateJImage:(Ljdk/tools/jlink/internal/ResourcePoolManager;Ljdk/tools/jlink/internal/BasicImageWriter;Ljdk/tools/jlink/internal/ImagePluginStack;Ljava/io/DataOutputStream;)Ljdk/tools/jlink/plugin/ResourcePool;
astore 5
start local 5 7: aload 0
getfield jdk.tools.jlink.internal.ImageFileCreator.plugins:Ljdk/tools/jlink/internal/ImagePluginStack;
aload 4
invokevirtual jdk.tools.jlink.internal.ResourcePoolManager.resourcePool:()Ljdk/tools/jlink/plugin/ResourcePool;
aload 5
aload 3
invokevirtual jdk.tools.jlink.internal.ImagePluginStack.storeFiles:(Ljdk/tools/jlink/plugin/ResourcePool;Ljdk/tools/jlink/plugin/ResourcePool;Ljdk/tools/jlink/internal/BasicImageWriter;)V
8: goto 13
StackMap locals: jdk.tools.jlink.internal.ImageFileCreator java.util.Set java.nio.ByteOrder jdk.tools.jlink.internal.BasicImageWriter jdk.tools.jlink.internal.ResourcePoolManager jdk.tools.jlink.plugin.ResourcePool
StackMap stack: java.lang.Exception
9: astore 6
start local 6 10: getstatic jdk.tools.jlink.internal.JlinkTask.DEBUG:Z
ifeq 12
11: aload 6
invokevirtual java.lang.Exception.printStackTrace:()V
12: StackMap locals: java.lang.Exception
StackMap stack:
new java.io.IOException
dup
aload 6
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 6 13: StackMap locals:
StackMap stack:
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 14 0 this Ljdk/tools/jlink/internal/ImageFileCreator;
0 14 1 archives Ljava/util/Set<Ljdk/tools/jlink/internal/Archive;>;
0 14 2 byteOrder Ljava/nio/ByteOrder;
1 14 3 writer Ljdk/tools/jlink/internal/BasicImageWriter;
4 14 4 allContent Ljdk/tools/jlink/internal/ResourcePoolManager;
7 14 5 result Ljdk/tools/jlink/plugin/ResourcePool;
10 13 6 ex Ljava/lang/Exception;
Exception table:
from to target type
7 8 9 Class java.lang.Exception
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/Set<Ljdk/tools/jlink/internal/Archive;>;Ljava/nio/ByteOrder;)V
MethodParameters:
Name Flags
archives
byteOrder
private static jdk.tools.jlink.plugin.ResourcePool generateJImage(jdk.tools.jlink.internal.ResourcePoolManager, jdk.tools.jlink.internal.BasicImageWriter, jdk.tools.jlink.internal.ImagePluginStack, java.io.DataOutputStream);
descriptor: (Ljdk/tools/jlink/internal/ResourcePoolManager;Ljdk/tools/jlink/internal/BasicImageWriter;Ljdk/tools/jlink/internal/ImagePluginStack;Ljava/io/DataOutputStream;)Ljdk/tools/jlink/plugin/ResourcePool;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 0
invokevirtual jdk.tools.jlink.internal.ImagePluginStack.visitResources:(Ljdk/tools/jlink/internal/ResourcePoolManager;)Ljdk/tools/jlink/plugin/ResourcePool;
astore 4
start local 4 1: goto 10
end local 4 StackMap locals:
StackMap stack: jdk.tools.jlink.plugin.PluginException
2: astore 5
start local 5 3: getstatic jdk.tools.jlink.internal.JlinkTask.DEBUG:Z
ifeq 5
4: aload 5
invokevirtual jdk.tools.jlink.plugin.PluginException.printStackTrace:()V
5: StackMap locals: jdk.tools.jlink.internal.ResourcePoolManager jdk.tools.jlink.internal.BasicImageWriter jdk.tools.jlink.internal.ImagePluginStack java.io.DataOutputStream top jdk.tools.jlink.plugin.PluginException
StackMap stack:
aload 5
athrow
end local 5 6: StackMap locals: jdk.tools.jlink.internal.ResourcePoolManager jdk.tools.jlink.internal.BasicImageWriter jdk.tools.jlink.internal.ImagePluginStack java.io.DataOutputStream
StackMap stack: java.lang.Exception
astore 5
start local 5 7: getstatic jdk.tools.jlink.internal.JlinkTask.DEBUG:Z
ifeq 9
8: aload 5
invokevirtual java.lang.Exception.printStackTrace:()V
9: StackMap locals: jdk.tools.jlink.internal.ResourcePoolManager jdk.tools.jlink.internal.BasicImageWriter jdk.tools.jlink.internal.ImagePluginStack java.io.DataOutputStream top java.lang.Exception
StackMap stack:
new java.io.IOException
dup
aload 5
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 start local 4 10: StackMap locals: jdk.tools.jlink.internal.ResourcePoolManager jdk.tools.jlink.internal.BasicImageWriter jdk.tools.jlink.internal.ImagePluginStack java.io.DataOutputStream jdk.tools.jlink.plugin.ResourcePool
StackMap stack:
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 5
start local 5 11: iconst_1
newarray 11
astore 6
start local 6 12: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
start local 7 13: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 8
start local 8 14: aload 4
invokeinterface jdk.tools.jlink.plugin.ResourcePool.entries:()Ljava/util/stream/Stream;
aload 7
aload 5
aload 6
aload 1
aload 8
invokedynamic accept(Ljava/util/List;Ljava/util/Set;[JLjdk/tools/jlink/internal/BasicImageWriter;Ljava/util/List;)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/ImageFileCreator.lambda$4(Ljava/util/List;Ljava/util/Set;[JLjdk/tools/jlink/internal/BasicImageWriter;Ljava/util/List;Ljdk/tools/jlink/plugin/ResourcePoolEntry;)V (6)
(Ljdk/tools/jlink/plugin/ResourcePoolEntry;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
15: new jdk.tools.jlink.internal.ImageResourcesTree
dup
aload 6
iconst_0
laload
aload 1
aload 8
invokespecial jdk.tools.jlink.internal.ImageResourcesTree.<init>:(JLjdk/tools/jlink/internal/BasicImageWriter;Ljava/util/List;)V
astore 9
start local 9 16: aload 1
invokevirtual jdk.tools.jlink.internal.BasicImageWriter.getBytes:()[B
astore 10
start local 10 17: aload 3
aload 10
iconst_0
aload 10
arraylength
invokevirtual java.io.DataOutputStream.write:([BII)V
18: aload 7
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
aload 3
invokedynamic accept(Ljava/io/DataOutputStream;)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/ImageFileCreator.lambda$5(Ljava/io/DataOutputStream;Ljdk/tools/jlink/plugin/ResourcePoolEntry;)V (6)
(Ljdk/tools/jlink/plugin/ResourcePoolEntry;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
19: aload 9
aload 3
invokevirtual jdk.tools.jlink.internal.ImageResourcesTree.addContent:(Ljava/io/DataOutputStream;)V
20: aload 3
invokevirtual java.io.DataOutputStream.close:()V
21: aload 4
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 allContent Ljdk/tools/jlink/internal/ResourcePoolManager;
0 22 1 writer Ljdk/tools/jlink/internal/BasicImageWriter;
0 22 2 pluginSupport Ljdk/tools/jlink/internal/ImagePluginStack;
0 22 3 out Ljava/io/DataOutputStream;
1 2 4 resultResources Ljdk/tools/jlink/plugin/ResourcePool;
10 22 4 resultResources Ljdk/tools/jlink/plugin/ResourcePool;
3 6 5 pe Ljdk/tools/jlink/plugin/PluginException;
7 10 5 ex Ljava/lang/Exception;
11 22 5 duplicates Ljava/util/Set<Ljava/lang/String;>;
12 22 6 offset [J
13 22 7 content Ljava/util/List<Ljdk/tools/jlink/plugin/ResourcePoolEntry;>;
14 22 8 paths Ljava/util/List<Ljava/lang/String;>;
16 22 9 tree Ljdk/tools/jlink/internal/ImageResourcesTree;
17 22 10 bytes [B
Exception table:
from to target type
0 1 2 Class jdk.tools.jlink.plugin.PluginException
0 1 6 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
allContent
writer
pluginSupport
out
private static jdk.tools.jlink.internal.ResourcePoolManager createPoolManager(java.util.Set<jdk.tools.jlink.internal.Archive>, java.util.Map<java.lang.String, java.util.List<jdk.tools.jlink.internal.Archive$Entry>>, java.nio.ByteOrder, jdk.tools.jlink.internal.BasicImageWriter);
descriptor: (Ljava/util/Set;Ljava/util/Map;Ljava/nio/ByteOrder;Ljdk/tools/jlink/internal/BasicImageWriter;)Ljdk/tools/jlink/internal/ResourcePoolManager;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new jdk.tools.jlink.internal.ResourcePoolManager
dup
aload 2
new jdk.tools.jlink.internal.ImageFileCreator$1
dup
aload 3
invokespecial jdk.tools.jlink.internal.ImageFileCreator$1.<init>:(Ljdk/tools/jlink/internal/BasicImageWriter;)V
invokespecial jdk.tools.jlink.internal.ResourcePoolManager.<init>:(Ljava/nio/ByteOrder;Ljdk/tools/jlink/internal/StringTable;)V
astore 4
start local 4 1: aload 0
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;
jdk/tools/jlink/internal/Archive.moduleName()Ljava/lang/String; (9 itf)
(Ljdk/tools/jlink/internal/Archive;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
3: invokeinterface java.util.stream.Stream.sorted:()Ljava/util/stream/Stream;
4: aload 1
invokedynamic apply(Ljava/util/Map;)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/ImageFileCreator.lambda$7(Ljava/util/Map;Ljava/lang/String;)Ljava/util/stream/Stream; (6)
(Ljava/lang/String;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
5: aload 4
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Ljdk/tools/jlink/internal/ResourcePoolManager;)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/ResourcePoolManager.add(Ljdk/tools/jlink/plugin/ResourcePoolEntry;)V (5)
(Ljdk/tools/jlink/internal/ArchiveEntryResourcePoolEntry;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
6: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 archives Ljava/util/Set<Ljdk/tools/jlink/internal/Archive;>;
0 7 1 entriesForModule Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljdk/tools/jlink/internal/Archive$Entry;>;>;
0 7 2 byteOrder Ljava/nio/ByteOrder;
0 7 3 writer Ljdk/tools/jlink/internal/BasicImageWriter;
1 7 4 resources Ljdk/tools/jlink/internal/ResourcePoolManager;
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/Set<Ljdk/tools/jlink/internal/Archive;>;Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljdk/tools/jlink/internal/Archive$Entry;>;>;Ljava/nio/ByteOrder;Ljdk/tools/jlink/internal/BasicImageWriter;)Ljdk/tools/jlink/internal/ResourcePoolManager;
MethodParameters:
Name Flags
archives
entriesForModule
byteOrder
writer
public static java.lang.String[] splitPath(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=9, args_size=1
start local 0 0: aload 0
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 1
start local 1 2: aload 1
ldc "/"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 2
start local 2 3: aload 1
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
start local 3 4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 5: aload 4
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: aload 1
iload 2
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 5
start local 5 7: aload 5
ldc "/"
invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
istore 7
start local 7 8: iload 7
iconst_m1
if_icmpne 11
9: aload 5
astore 6
start local 6 10: goto 12
end local 6 11: StackMap locals: java.lang.String java.lang.String int java.lang.String java.util.List java.lang.String top int
StackMap stack:
aload 5
iload 7
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 6
start local 6 12: StackMap locals: java.lang.String java.lang.String int java.lang.String java.util.List java.lang.String java.lang.String int
StackMap stack:
aload 5
iconst_0
invokestatic jdk.tools.jlink.internal.ImageFileCreator.toPackage:(Ljava/lang/String;Z)Ljava/lang/String;
astore 5
13: aload 4
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
14: aload 4
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
15: aload 4
invokeinterface java.util.List.size:()I
anewarray java.lang.String
astore 8
start local 8 16: aload 4
aload 8
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 path Ljava/lang/String;
2 17 1 noRoot Ljava/lang/String;
3 17 2 pkgStart I
4 17 3 module Ljava/lang/String;
5 17 4 result Ljava/util/List<Ljava/lang/String;>;
7 17 5 pkg Ljava/lang/String;
10 11 6 resName Ljava/lang/String;
12 17 6 resName Ljava/lang/String;
8 17 7 pkgEnd I
16 17 8 array [Ljava/lang/String;
MethodParameters:
Name Flags
path
public static java.lang.String resourceName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 1
start local 1 2: aload 1
ldc "/"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 2
start local 2 3: aload 1
iload 2
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 path Ljava/lang/String;
2 4 1 s Ljava/lang/String;
3 4 2 index I
MethodParameters:
Name Flags
path
public static java.lang.String toPackage(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokestatic jdk.tools.jlink.internal.ImageFileCreator.toPackage:(Ljava/lang/String;Z)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
private static java.lang.String toPackage(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
bipush 47
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 2
start local 2 1: iload 2
ifle 3
2: aload 0
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
areturn
3: StackMap locals: int
StackMap stack:
iload 1
ifeq 5
4: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "Warning: %s in unnamed package%n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokevirtual java.io.PrintStream.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
5: StackMap locals:
StackMap stack:
ldc ""
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 name Ljava/lang/String;
0 6 1 log Z
1 6 2 index I
MethodParameters:
Name Flags
name
log
private void lambda$0(jdk.tools.jlink.internal.Archive);
descriptor: (Ljdk/tools/jlink/internal/Archive;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 3
aconst_null
astore 4
1: aload 1
invokeinterface jdk.tools.jlink.internal.Archive.entries:()Ljava/util/stream/Stream;
astore 5
start local 5 2: aload 5
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/ImageFileCreator.lambda$1(Ljdk/tools/jlink/internal/Archive$Entry;)Z (6)
(Ljdk/tools/jlink/internal/Archive$Entry;)Z
invokestatic java.util.stream.Collectors.partitioningBy:(Ljava/util/function/Predicate;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.Map
astore 2
start local 2 3: aload 5
ifnull 9
aload 5
invokeinterface java.util.stream.Stream.close:()V
goto 9
end local 2 StackMap locals: jdk.tools.jlink.internal.ImageFileCreator jdk.tools.jlink.internal.Archive top java.lang.Throwable java.lang.Throwable java.util.stream.Stream
StackMap stack: java.lang.Throwable
4: astore 3
aload 5
ifnull 5
aload 5
invokeinterface java.util.stream.Stream.close:()V
end local 5 StackMap locals:
StackMap stack:
5: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
6: astore 4
aload 3
ifnonnull 7
aload 4
astore 3
goto 8
StackMap locals:
StackMap stack:
7: aload 3
aload 4
if_acmpeq 8
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
8: aload 3
athrow
start local 2 9: StackMap locals: jdk.tools.jlink.internal.ImageFileCreator jdk.tools.jlink.internal.Archive java.util.Map
StackMap stack:
aload 1
invokeinterface jdk.tools.jlink.internal.Archive.moduleName:()Ljava/lang/String;
astore 3
start local 3 10: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 11: aload 4
aload 2
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
12: aload 4
aload 2
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
13: aload 0
getfield jdk.tools.jlink.internal.ImageFileCreator.entriesForModule:Ljava/util/Map;
aload 3
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 end local 3 end local 2 14: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljdk/tools/jlink/internal/ImageFileCreator;
0 15 1 archive Ljdk/tools/jlink/internal/Archive;
3 4 2 es Ljava/util/Map<Ljava/lang/Boolean;Ljava/util/List<Ljdk/tools/jlink/internal/Archive$Entry;>;>;
9 14 2 es Ljava/util/Map<Ljava/lang/Boolean;Ljava/util/List<Ljdk/tools/jlink/internal/Archive$Entry;>;>;
2 5 5 entries Ljava/util/stream/Stream<Ljdk/tools/jlink/internal/Archive$Entry;>;
10 14 3 mn Ljava/lang/String;
11 14 4 all Ljava/util/List<Ljdk/tools/jlink/internal/Archive$Entry;>;
Exception table:
from to target type
2 3 4 any
1 6 6 any
private static java.util.List lambda$3(jdk.tools.jlink.internal.Archive);
descriptor: (Ljdk/tools/jlink/internal/Archive;)Ljava/util/List;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aconst_null
astore 1
aconst_null
astore 2
1: aload 0
invokeinterface jdk.tools.jlink.internal.Archive.entries:()Ljava/util/stream/Stream;
astore 3
start local 3 2: aload 3
invokeinterface java.util.stream.Stream.toList:()Ljava/util/List;
3: aload 3
ifnull 4
aload 3
invokeinterface java.util.stream.Stream.close:()V
4: StackMap locals: jdk.tools.jlink.internal.Archive java.lang.Throwable java.lang.Throwable java.util.stream.Stream
StackMap stack: java.util.List
areturn
StackMap locals:
StackMap stack: java.lang.Throwable
5: astore 1
6: aload 3
ifnull 7
aload 3
invokeinterface java.util.stream.Stream.close:()V
end local 3 StackMap locals:
StackMap stack:
7: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 2
aload 1
ifnonnull 9
aload 2
astore 1
goto 10
StackMap locals:
StackMap stack:
9: aload 1
aload 2
if_acmpeq 10
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
10: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 a Ljdk/tools/jlink/internal/Archive;
2 7 3 entries Ljava/util/stream/Stream<Ljdk/tools/jlink/internal/Archive$Entry;>;
Exception table:
from to target type
2 3 5 any
1 4 8 any
5 8 8 any
private static void lambda$4(java.util.List, java.util.Set, long[], jdk.tools.jlink.internal.BasicImageWriter, java.util.List, jdk.tools.jlink.plugin.ResourcePoolEntry);
descriptor: (Ljava/util/List;Ljava/util/Set;[JLjdk/tools/jlink/internal/BasicImageWriter;Ljava/util/List;Ljdk/tools/jlink/plugin/ResourcePoolEntry;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=8, locals=13, args_size=6
start local 5 0: aload 5
invokeinterface jdk.tools.jlink.plugin.ResourcePoolEntry.type:()Ljdk/tools/jlink/plugin/ResourcePoolEntry$Type;
getstatic jdk.tools.jlink.plugin.ResourcePoolEntry$Type.CLASS_OR_RESOURCE:Ljdk/tools/jlink/plugin/ResourcePoolEntry$Type;
invokevirtual jdk.tools.jlink.plugin.ResourcePoolEntry$Type.equals:(Ljava/lang/Object;)Z
ifeq 21
1: aload 5
invokeinterface jdk.tools.jlink.plugin.ResourcePoolEntry.path:()Ljava/lang/String;
astore 6
start local 6 2: aload 0
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: aload 5
invokeinterface jdk.tools.jlink.plugin.ResourcePoolEntry.contentLength:()J
lstore 7
start local 7 4: lconst_0
lstore 9
start local 9 5: aload 5
instanceof jdk.tools.jlink.internal.ResourcePoolManager$CompressedModuleData
ifeq 10
6: aload 5
checkcast jdk.tools.jlink.internal.ResourcePoolManager$CompressedModuleData
7: astore 11
start local 11 8: aload 5
invokeinterface jdk.tools.jlink.plugin.ResourcePoolEntry.contentLength:()J
lstore 9
9: aload 11
invokevirtual jdk.tools.jlink.internal.ResourcePoolManager$CompressedModuleData.getUncompressedSize:()J
lstore 7
end local 11 10: StackMap locals: java.lang.String long long
StackMap stack:
aload 5
invokeinterface jdk.tools.jlink.plugin.ResourcePoolEntry.contentLength:()J
lstore 11
start local 11 11: aload 1
aload 6
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 17
12: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "duplicate resource \"%s\", skipping%n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
13: aload 6
aastore
14: invokevirtual java.io.PrintStream.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
15: aload 2
iconst_0
dup2
laload
lload 11
ladd
lastore
16: return
17: StackMap locals: long
StackMap stack:
aload 1
aload 6
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
18: aload 3
aload 6
aload 2
iconst_0
laload
lload 9
lload 7
invokevirtual jdk.tools.jlink.internal.BasicImageWriter.addLocation:(Ljava/lang/String;JJJ)V
19: aload 4
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
20: aload 2
iconst_0
dup2
laload
lload 11
ladd
lastore
end local 11 end local 9 end local 7 end local 6 21: StackMap locals: java.util.List java.util.Set long[] jdk.tools.jlink.internal.BasicImageWriter java.util.List jdk.tools.jlink.plugin.ResourcePoolEntry
StackMap stack:
return
end local 5 LocalVariableTable:
Start End Slot Name Signature
0 22 5 res Ljdk/tools/jlink/plugin/ResourcePoolEntry;
2 21 6 path Ljava/lang/String;
4 21 7 uncompressedSize J
5 21 9 compressedSize J
8 10 11 comp Ljdk/tools/jlink/internal/ResourcePoolManager$CompressedModuleData;
11 21 11 onFileSize J
private static void lambda$5(java.io.DataOutputStream, jdk.tools.jlink.plugin.ResourcePoolEntry);
descriptor: (Ljava/io/DataOutputStream;Ljdk/tools/jlink/plugin/ResourcePoolEntry;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
aload 0
invokeinterface jdk.tools.jlink.plugin.ResourcePoolEntry.write:(Ljava/io/OutputStream;)V
1: return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 2 1 res Ljdk/tools/jlink/plugin/ResourcePoolEntry;
private static java.util.stream.Stream lambda$7(java.util.Map, java.lang.String);
descriptor: (Ljava/util/Map;Ljava/lang/String;)Ljava/util/stream/Stream;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
1: aload 1
invokedynamic apply(Ljava/lang/String;)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/ImageFileCreator.lambda$8(Ljava/lang/String;Ljdk/tools/jlink/internal/Archive$Entry;)Ljdk/tools/jlink/internal/ArchiveEntryResourcePoolEntry; (6)
(Ljdk/tools/jlink/internal/Archive$Entry;)Ljdk/tools/jlink/internal/ArchiveEntryResourcePoolEntry;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
2: areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 mn Ljava/lang/String;
private static boolean lambda$1(jdk.tools.jlink.internal.Archive$Entry);
descriptor: (Ljdk/tools/jlink/internal/Archive$Entry;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.tools.jlink.internal.Archive$Entry.type:()Ljdk/tools/jlink/internal/Archive$Entry$EntryType;
1: getstatic jdk.tools.jlink.internal.Archive$Entry$EntryType.CLASS_OR_RESOURCE:Ljdk/tools/jlink/internal/Archive$Entry$EntryType;
2: if_acmpne 3
iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
4: StackMap locals:
StackMap stack: int
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 n Ljdk/tools/jlink/internal/Archive$Entry;
private static jdk.tools.jlink.internal.ArchiveEntryResourcePoolEntry lambda$8(java.lang.String, jdk.tools.jlink.internal.Archive$Entry);
descriptor: (Ljava/lang/String;Ljdk/tools/jlink/internal/Archive$Entry;)Ljdk/tools/jlink/internal/ArchiveEntryResourcePoolEntry;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=5, locals=2, args_size=2
start local 1 0: new jdk.tools.jlink.internal.ArchiveEntryResourcePoolEntry
dup
aload 0
1: aload 1
invokevirtual jdk.tools.jlink.internal.Archive$Entry.getResourcePoolEntryName:()Ljava/lang/String;
aload 1
2: invokespecial jdk.tools.jlink.internal.ArchiveEntryResourcePoolEntry.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/tools/jlink/internal/Archive$Entry;)V
3: areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 4 1 e Ljdk/tools/jlink/internal/Archive$Entry;
}
SourceFile: "ImageFileCreator.java"
NestMembers:
jdk.tools.jlink.internal.ImageFileCreator$1
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = jdk.tools.jlink.internal.Archive$Entry of jdk.tools.jlink.internal.Archive
public final EntryType = jdk.tools.jlink.internal.Archive$Entry$EntryType of jdk.tools.jlink.internal.Archive$Entry
jdk.tools.jlink.internal.ImageFileCreator$1
public final CompressedModuleData = jdk.tools.jlink.internal.ResourcePoolManager$CompressedModuleData of jdk.tools.jlink.internal.ResourcePoolManager
public final Type = jdk.tools.jlink.plugin.ResourcePoolEntry$Type of jdk.tools.jlink.plugin.ResourcePoolEntry