public abstract class org.graalvm.component.installer.FileOperations
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.component.installer.FileOperations
super_class: java.lang.Object
{
private org.graalvm.component.installer.Feedback feedback;
descriptor: Lorg/graalvm/component/installer/Feedback;
flags: (0x0002) ACC_PRIVATE
private java.nio.file.Path rootPath;
descriptor: Ljava/nio/file/Path;
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/component/installer/FileOperations;
public void init(org.graalvm.component.installer.Feedback);
descriptor: (Lorg/graalvm/component/installer/Feedback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.graalvm.component.installer.FileOperations.feedback:Lorg/graalvm/component/installer/Feedback;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/component/installer/FileOperations;
0 2 1 fb Lorg/graalvm/component/installer/Feedback;
MethodParameters:
Name Flags
fb
protected final org.graalvm.component.installer.Feedback feedback();
descriptor: ()Lorg/graalvm/component/installer/Feedback;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.component.installer.FileOperations.feedback:Lorg/graalvm/component/installer/Feedback;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/component/installer/FileOperations;
protected final java.nio.file.Path rootPath();
descriptor: ()Ljava/nio/file/Path;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.component.installer.FileOperations.rootPath:Ljava/nio/file/Path;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/component/installer/FileOperations;
public abstract boolean flush();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
public java.nio.file.Path materialize(java.nio.file.Path, boolean);
descriptor: (Ljava/nio/file/Path;Z)Ljava/nio/file/Path;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/component/installer/FileOperations;
0 1 1 p Ljava/nio/file/Path;
0 1 2 write Z
MethodParameters:
Name Flags
p
write
protected void performDelete(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.nio.file.Files.deleteIfExists:(Ljava/nio/file/Path;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/component/installer/FileOperations;
0 2 1 p Ljava/nio/file/Path;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
p
protected abstract boolean doWithPermissions(java.nio.file.Path, java.util.concurrent.Callable<java.lang.Void>);
descriptor: (Ljava/nio/file/Path;Ljava/util/concurrent/Callable;)Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
Signature: (Ljava/nio/file/Path;Ljava/util/concurrent/Callable<Ljava/lang/Void;>;)Z
MethodParameters:
Name Flags
p
action
protected void handleUndeletableFile(java.io.IOException, java.nio.file.Path);
descriptor: (Ljava/io/IOException;Ljava/nio/file/Path;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/component/installer/FileOperations;
0 1 1 ex Ljava/io/IOException;
0 1 2 p Ljava/nio/file/Path;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ex
p
protected java.nio.file.Path handleUnmodifiableFile(java.io.IOException, java.nio.file.Path, java.io.InputStream);
descriptor: (Ljava/io/IOException;Ljava/nio/file/Path;Ljava/io/InputStream;)Ljava/nio/file/Path;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/component/installer/FileOperations;
0 1 1 ex Ljava/io/IOException;
0 1 2 p Ljava/nio/file/Path;
0 1 3 content Ljava/io/InputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ex
p
content
private void deleteOneFile(java.nio.file.Path, java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokeinterface java.nio.file.Path.equals:(Ljava/lang/Object;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.component.installer.FileOperations.performDelete:(Ljava/nio/file/Path;)V
3: goto 10
StackMap locals:
StackMap stack: java.nio.file.AccessDeniedException
4: astore 3
start local 3 5: aload 0
aload 1
aload 0
aload 1
invokedynamic call(Lorg/graalvm/component/installer/FileOperations;Ljava/nio/file/Path;)Ljava/util/concurrent/Callable;
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;
org/graalvm/component/installer/FileOperations.lambda$0(Ljava/nio/file/Path;)Ljava/lang/Void; (7)
()Ljava/lang/Void;
invokevirtual org.graalvm.component.installer.FileOperations.doWithPermissions:(Ljava/nio/file/Path;Ljava/util/concurrent/Callable;)Z
6: ifne 10
7: aload 3
athrow
end local 3 8: StackMap locals:
StackMap stack: java.nio.file.FileSystemException
astore 3
start local 3 9: aload 0
aload 3
aload 1
invokevirtual org.graalvm.component.installer.FileOperations.handleUndeletableFile:(Ljava/io/IOException;Ljava/nio/file/Path;)V
end local 3 10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/component/installer/FileOperations;
0 11 1 p Ljava/nio/file/Path;
0 11 2 rp Ljava/nio/file/Path;
5 8 3 ex Ljava/nio/file/AccessDeniedException;
9 10 3 ex Ljava/nio/file/FileSystemException;
Exception table:
from to target type
0 1 4 Class java.nio.file.AccessDeniedException
2 3 4 Class java.nio.file.AccessDeniedException
0 1 8 Class java.nio.file.FileSystemException
2 3 8 Class java.nio.file.FileSystemException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
p
rp
public void deleteFile(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
getfield org.graalvm.component.installer.FileOperations.rootPath:Ljava/nio/file/Path;
invokevirtual org.graalvm.component.installer.FileOperations.deleteOneFile:(Ljava/nio/file/Path;Ljava/nio/file/Path;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/component/installer/FileOperations;
0 2 1 p Ljava/nio/file/Path;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
p
protected void performInstall(java.nio.file.Path, java.io.InputStream);
descriptor: (Ljava/nio/file/Path;Ljava/io/InputStream;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 1
iconst_1
anewarray java.nio.file.CopyOption
dup
iconst_0
getstatic java.nio.file.StandardCopyOption.REPLACE_EXISTING:Ljava/nio/file/StandardCopyOption;
aastore
invokestatic java.nio.file.Files.copy:(Ljava/io/InputStream;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)J
pop2
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/component/installer/FileOperations;
0 2 1 target Ljava/nio/file/Path;
0 2 2 contents Ljava/io/InputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
target
contents
public java.nio.file.Path installFile(java.nio.file.Path, java.io.InputStream);
descriptor: (Ljava/nio/file/Path;Ljava/io/InputStream;)Ljava/nio/file/Path;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
astore 3
start local 3 1: aload 0
aload 1
aload 2
invokevirtual org.graalvm.component.installer.FileOperations.performInstall:(Ljava/nio/file/Path;Ljava/io/InputStream;)V
2: goto 7
StackMap locals: org.graalvm.component.installer.FileOperations java.nio.file.Path java.io.InputStream java.nio.file.Path
StackMap stack: java.nio.file.AccessDeniedException
3: pop
4: aload 0
aload 1
aload 0
aload 1
aload 2
invokedynamic call(Lorg/graalvm/component/installer/FileOperations;Ljava/nio/file/Path;Ljava/io/InputStream;)Ljava/util/concurrent/Callable;
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;
org/graalvm/component/installer/FileOperations.lambda$1(Ljava/nio/file/Path;Ljava/io/InputStream;)Ljava/lang/Void; (7)
()Ljava/lang/Void;
invokevirtual org.graalvm.component.installer.FileOperations.doWithPermissions:(Ljava/nio/file/Path;Ljava/util/concurrent/Callable;)Z
pop
goto 7
5: StackMap locals:
StackMap stack: java.nio.file.FileSystemException
astore 4
start local 4 6: aload 0
aload 4
aload 1
aload 2
invokevirtual org.graalvm.component.installer.FileOperations.handleUnmodifiableFile:(Ljava/io/IOException;Ljava/nio/file/Path;Ljava/io/InputStream;)Ljava/nio/file/Path;
astore 3
end local 4 7: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/component/installer/FileOperations;
0 8 1 target Ljava/nio/file/Path;
0 8 2 contents Ljava/io/InputStream;
1 8 3 ret Ljava/nio/file/Path;
6 7 4 ex Ljava/nio/file/FileSystemException;
Exception table:
from to target type
1 2 3 Class java.nio.file.AccessDeniedException
1 2 5 Class java.nio.file.FileSystemException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
target
contents
public java.nio.file.Path getRootPath();
descriptor: ()Ljava/nio/file/Path;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.component.installer.FileOperations.rootPath:Ljava/nio/file/Path;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/component/installer/FileOperations;
public void setRootPath(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.graalvm.component.installer.FileOperations.rootPath:Ljava/nio/file/Path;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/component/installer/FileOperations;
0 2 1 rootPath Ljava/nio/file/Path;
MethodParameters:
Name Flags
rootPath
public abstract void setPermissions(java.nio.file.Path, java.util.Set<java.nio.file.attribute.PosixFilePermission>);
descriptor: (Ljava/nio/file/Path;Ljava/util/Set;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
Signature: (Ljava/nio/file/Path;Ljava/util/Set<Ljava/nio/file/attribute/PosixFilePermission;>;)V
MethodParameters:
Name Flags
target
perms
public static org.graalvm.component.installer.FileOperations createPlatformInstance(org.graalvm.component.installer.Feedback, java.nio.file.Path);
descriptor: (Lorg/graalvm/component/installer/Feedback;Ljava/nio/file/Path;)Lorg/graalvm/component/installer/FileOperations;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: invokestatic org.graalvm.component.installer.SystemUtils.isWindows:()Z
ifeq 7
1: new org.graalvm.component.installer.os.WindowsFileOperations
dup
invokespecial org.graalvm.component.installer.os.WindowsFileOperations.<init>:()V
astore 3
start local 3 2: aload 3
astore 2
start local 2 3: invokestatic org.graalvm.nativeimage.ImageInfo.inImageCode:()Z
ifne 8
4: aload 3
ldc "GU_POST_DELETE_LIST"
invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
invokestatic org.graalvm.component.installer.SystemUtils.fromUserString:(Ljava/lang/String;)Ljava/nio/file/Path;
invokevirtual org.graalvm.component.installer.os.WindowsFileOperations.setDelayDeletedList:(Ljava/nio/file/Path;)V
5: aload 3
ldc "GU_POST_COPY_CONTENTS"
invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
invokestatic org.graalvm.component.installer.SystemUtils.fromUserString:(Ljava/lang/String;)Ljava/nio/file/Path;
invokevirtual org.graalvm.component.installer.os.WindowsFileOperations.setCopyContents:(Ljava/nio/file/Path;)V
end local 3 6: goto 8
end local 2 7: StackMap locals:
StackMap stack:
new org.graalvm.component.installer.os.DefaultFileOperations
dup
invokespecial org.graalvm.component.installer.os.DefaultFileOperations.<init>:()V
astore 2
start local 2 8: StackMap locals: org.graalvm.component.installer.FileOperations
StackMap stack:
aload 2
aload 0
invokevirtual org.graalvm.component.installer.FileOperations.init:(Lorg/graalvm/component/installer/Feedback;)V
9: aload 2
aload 1
invokevirtual org.graalvm.component.installer.FileOperations.setRootPath:(Ljava/nio/file/Path;)V
10: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 f Lorg/graalvm/component/installer/Feedback;
0 11 1 rootPath Ljava/nio/file/Path;
3 7 2 inst Lorg/graalvm/component/installer/FileOperations;
8 11 2 inst Lorg/graalvm/component/installer/FileOperations;
2 6 3 w Lorg/graalvm/component/installer/os/WindowsFileOperations;
MethodParameters:
Name Flags
f
rootPath
private java.lang.Void lambda$0(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Ljava/lang/Void;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
invokevirtual org.graalvm.component.installer.FileOperations.performDelete:(Ljava/nio/file/Path;)V
1: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/component/installer/FileOperations;
Exceptions:
throws java.lang.Exception
private java.lang.Void lambda$1(java.nio.file.Path, java.io.InputStream);
descriptor: (Ljava/nio/file/Path;Ljava/io/InputStream;)Ljava/lang/Void;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 0: aload 0
aload 1
aload 2
invokevirtual org.graalvm.component.installer.FileOperations.performInstall:(Ljava/nio/file/Path;Ljava/io/InputStream;)V
1: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/component/installer/FileOperations;
Exceptions:
throws java.lang.Exception
}
SourceFile: "FileOperations.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles