public class org.graalvm.component.installer.FileIterable$FileComponent implements org.graalvm.component.installer.ComponentParam
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.component.installer.FileIterable$FileComponent
super_class: java.lang.Object
{
private final java.io.File localFile;
descriptor: Ljava/io/File;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.graalvm.component.installer.persist.MetadataLoader loader;
descriptor: Lorg/graalvm/component/installer/persist/MetadataLoader;
flags: (0x0002) ACC_PRIVATE
private final boolean verifyJars;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.component.installer.Feedback feedback;
descriptor: Lorg/graalvm/component/installer/Feedback;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String serial;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.io.File, boolean, java.lang.String, org.graalvm.component.installer.Feedback);
descriptor: (Ljava/io/File;ZLjava/lang/String;Lorg/graalvm/component/installer/Feedback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.graalvm.component.installer.FileIterable$FileComponent.localFile:Ljava/io/File;
2: aload 0
iload 2
putfield org.graalvm.component.installer.FileIterable$FileComponent.verifyJars:Z
3: aload 0
aload 3
putfield org.graalvm.component.installer.FileIterable$FileComponent.serial:Ljava/lang/String;
4: aload 0
aload 4
ldc Lorg/graalvm/component/installer/FileIterable$FileComponent;
invokeinterface org.graalvm.component.installer.Feedback.withBundle:(Ljava/lang/Class;)Lorg/graalvm/component/installer/Feedback;
putfield org.graalvm.component.installer.FileIterable$FileComponent.feedback:Lorg/graalvm/component/installer/Feedback;
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/component/installer/FileIterable$FileComponent;
0 6 1 localFile Ljava/io/File;
0 6 2 verifyJars Z
0 6 3 serial Ljava/lang/String;
0 6 4 feedback Lorg/graalvm/component/installer/Feedback;
MethodParameters:
Name Flags
localFile
verifyJars
serial
feedback
public org.graalvm.component.installer.persist.MetadataLoader createMetaLoader();
descriptor: ()Lorg/graalvm/component/installer/persist/MetadataLoader;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=1
start local 0 0: aload 0
getfield org.graalvm.component.installer.FileIterable$FileComponent.loader:Lorg/graalvm/component/installer/persist/MetadataLoader;
ifnull 2
1: aload 0
getfield org.graalvm.component.installer.FileIterable$FileComponent.loader:Lorg/graalvm/component/installer/persist/MetadataLoader;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 1
start local 1 3: aload 0
getfield org.graalvm.component.installer.FileIterable$FileComponent.localFile:Ljava/io/File;
invokevirtual java.io.File.isFile:()Z
ifeq 20
4: aconst_null
astore 3
aconst_null
astore 4
5: aload 0
getfield org.graalvm.component.installer.FileIterable$FileComponent.localFile:Ljava/io/File;
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
iconst_1
anewarray java.nio.file.OpenOption
dup
iconst_0
getstatic java.nio.file.StandardOpenOption.READ:Ljava/nio/file/StandardOpenOption;
aastore
invokestatic java.nio.channels.FileChannel.open:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/nio/channels/FileChannel;
astore 5
start local 5 6: bipush 8
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 6
start local 6 7: aload 5
aload 6
invokeinterface java.nio.channels.ReadableByteChannel.read:(Ljava/nio/ByteBuffer;)I
pop
8: aload 6
invokevirtual java.nio.ByteBuffer.array:()[B
astore 1
end local 6 9: aload 5
ifnull 15
aload 5
invokeinterface java.nio.channels.ReadableByteChannel.close:()V
goto 15
StackMap locals: org.graalvm.component.installer.FileIterable$FileComponent byte[] top java.lang.Throwable java.lang.Throwable java.nio.channels.ReadableByteChannel
StackMap stack: java.lang.Throwable
10: astore 3
aload 5
ifnull 11
aload 5
invokeinterface java.nio.channels.ReadableByteChannel.close:()V
end local 5 StackMap locals:
StackMap stack:
11: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 4
aload 3
ifnonnull 13
aload 4
astore 3
goto 14
StackMap locals:
StackMap stack:
13: aload 3
aload 4
if_acmpeq 14
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
14: aload 3
athrow
15: StackMap locals: org.graalvm.component.installer.FileIterable$FileComponent byte[]
StackMap stack:
aload 0
getfield org.graalvm.component.installer.FileIterable$FileComponent.serial:Ljava/lang/String;
ifnull 18
16: aload 0
getfield org.graalvm.component.installer.FileIterable$FileComponent.serial:Ljava/lang/String;
astore 2
start local 2 17: goto 22
end local 2 18: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.component.installer.FileIterable$FileComponent.localFile:Ljava/io/File;
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
aconst_null
invokestatic org.graalvm.component.installer.SystemUtils.computeFileDigest:(Ljava/nio/file/Path;Ljava/lang/String;)[B
iconst_0
invokestatic org.graalvm.component.installer.SystemUtils.fingerPrint:([BZ)Ljava/lang/String;
astore 2
start local 2 19: goto 22
end local 2 20: StackMap locals:
StackMap stack:
bipush 8
newarray 8
astore 1
21: ldc ""
astore 2
start local 2 22: StackMap locals: java.lang.String
StackMap stack:
ldc Lorg/graalvm/component/installer/ComponentArchiveReader;
invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;)Ljava/util/ServiceLoader;
invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
astore 4
goto 28
StackMap locals: org.graalvm.component.installer.FileIterable$FileComponent byte[] java.lang.String top java.util.Iterator
StackMap stack:
23: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.component.installer.ComponentArchiveReader
astore 3
start local 3 24: aload 3
aload 0
getfield org.graalvm.component.installer.FileIterable$FileComponent.localFile:Ljava/io/File;
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
aload 1
aload 2
aload 0
getfield org.graalvm.component.installer.FileIterable$FileComponent.feedback:Lorg/graalvm/component/installer/Feedback;
aload 0
getfield org.graalvm.component.installer.FileIterable$FileComponent.verifyJars:Z
invokeinterface org.graalvm.component.installer.ComponentArchiveReader.createLoader:(Ljava/nio/file/Path;[BLjava/lang/String;Lorg/graalvm/component/installer/Feedback;Z)Lorg/graalvm/component/installer/persist/MetadataLoader;
astore 5
start local 5 25: aload 5
ifnull 28
26: aload 0
aload 5
putfield org.graalvm.component.installer.FileIterable$FileComponent.loader:Lorg/graalvm/component/installer/persist/MetadataLoader;
27: aload 5
areturn
end local 5 end local 3 28: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
29: aload 0
getfield org.graalvm.component.installer.FileIterable$FileComponent.feedback:Lorg/graalvm/component/installer/Feedback;
ldc "ERROR_UnknownFileFormat"
aconst_null
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.graalvm.component.installer.FileIterable$FileComponent.localFile:Ljava/io/File;
invokevirtual java.io.File.toString:()Ljava/lang/String;
aastore
invokeinterface org.graalvm.component.installer.Feedback.failure:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/graalvm/component/installer/FileIterable$FileComponent;
3 30 1 fileStart [B
17 18 2 ser Ljava/lang/String;
19 20 2 ser Ljava/lang/String;
22 30 2 ser Ljava/lang/String;
6 11 5 ch Ljava/nio/channels/ReadableByteChannel;
7 9 6 bb Ljava/nio/ByteBuffer;
24 28 3 provider Lorg/graalvm/component/installer/ComponentArchiveReader;
25 28 5 ldr Lorg/graalvm/component/installer/persist/MetadataLoader;
Exception table:
from to target type
6 9 10 any
5 12 12 any
Exceptions:
throws java.io.IOException
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.component.installer.FileIterable$FileComponent.loader:Lorg/graalvm/component/installer/persist/MetadataLoader;
ifnull 2
1: aload 0
getfield org.graalvm.component.installer.FileIterable$FileComponent.loader:Lorg/graalvm/component/installer/persist/MetadataLoader;
invokeinterface org.graalvm.component.installer.persist.MetadataLoader.close:()V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/component/installer/FileIterable$FileComponent;
Exceptions:
throws java.io.IOException
public org.graalvm.component.installer.persist.MetadataLoader createFileLoader();
descriptor: ()Lorg/graalvm/component/installer/persist/MetadataLoader;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.component.installer.FileIterable$FileComponent.createMetaLoader:()Lorg/graalvm/component/installer/persist/MetadataLoader;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/component/installer/FileIterable$FileComponent;
Exceptions:
throws java.io.IOException
public boolean isComplete();
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 Lorg/graalvm/component/installer/FileIterable$FileComponent;
public java.lang.String getSpecification();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.component.installer.FileIterable$FileComponent.localFile:Ljava/io/File;
invokevirtual java.io.File.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/component/installer/FileIterable$FileComponent;
public java.lang.String getDisplayName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.component.installer.FileIterable$FileComponent.localFile:Ljava/io/File;
invokevirtual java.io.File.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/component/installer/FileIterable$FileComponent;
public java.lang.String getFullPath();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.component.installer.FileIterable$FileComponent.localFile:Ljava/io/File;
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/component/installer/FileIterable$FileComponent;
public java.lang.String getShortName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.component.installer.FileIterable$FileComponent.localFile:Ljava/io/File;
invokevirtual java.io.File.getName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/component/installer/FileIterable$FileComponent;
}
SourceFile: "FileIterable.java"
NestHost: org.graalvm.component.installer.FileIterable
InnerClasses:
public FileComponent = org.graalvm.component.installer.FileIterable$FileComponent of org.graalvm.component.installer.FileIterable