public class org.graalvm.component.installer.os.DefaultFileOperations extends org.graalvm.component.installer.FileOperations
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.component.installer.os.DefaultFileOperations
super_class: org.graalvm.component.installer.FileOperations
{
private static final java.util.Set<java.nio.file.attribute.PosixFilePermission> ALL_WRITE_PERMS;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/nio/file/attribute/PosixFilePermission;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "rwxrwxrwx"
invokestatic java.nio.file.attribute.PosixFilePermissions.fromString:(Ljava/lang/String;)Ljava/util/Set;
putstatic org.graalvm.component.installer.os.DefaultFileOperations.ALL_WRITE_PERMS:Ljava/util/Set;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.component.installer.FileOperations.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/component/installer/os/DefaultFileOperations;
protected boolean doWithPermissions(java.nio.file.Path, java.util.concurrent.Callable<java.lang.Void>);
descriptor: (Ljava/nio/file/Path;Ljava/util/concurrent/Callable;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 1
getstatic org.graalvm.component.installer.os.DefaultFileOperations.ALL_WRITE_PERMS:Ljava/util/Set;
invokestatic java.nio.file.Files.setPosixFilePermissions:(Ljava/nio/file/Path;Ljava/util/Set;)Ljava/nio/file/Path;
pop
2: aload 1
invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
astore 4
start local 4 3: aload 4
ifnonnull 5
4: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Cannot determine parent of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: java.util.Set java.nio.file.Path
StackMap stack:
aload 4
aload 0
invokevirtual org.graalvm.component.installer.os.DefaultFileOperations.rootPath:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.startsWith:(Ljava/nio/file/Path;)Z
ifeq 11
aload 4
aload 0
invokevirtual org.graalvm.component.installer.os.DefaultFileOperations.rootPath:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.equals:(Ljava/lang/Object;)Z
ifne 11
6: aload 4
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.getPosixFilePermissions:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Ljava/util/Set;
astore 3
7: aload 4
getstatic org.graalvm.component.installer.os.DefaultFileOperations.ALL_WRITE_PERMS:Ljava/util/Set;
invokestatic java.nio.file.Files.setPosixFilePermissions:(Ljava/nio/file/Path;Ljava/util/Set;)Ljava/nio/file/Path;
pop
8: goto 11
StackMap locals:
StackMap stack: java.io.IOException
9: pop
10: iconst_0
ireturn
11: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 12: aload 2
invokeinterface java.util.concurrent.Callable.call:()Ljava/lang/Object;
pop
13: iconst_1
istore 5
14: goto 34
StackMap locals: org.graalvm.component.installer.os.DefaultFileOperations java.nio.file.Path java.util.concurrent.Callable java.util.Set java.nio.file.Path int
StackMap stack: java.io.IOException
15: astore 6
start local 6 16: aload 6
athrow
end local 6 17: StackMap locals:
StackMap stack: java.lang.Exception
pop
18: iconst_0
istore 5
19: aload 3
ifnull 40
20: aload 4
aload 3
invokestatic java.nio.file.Files.setPosixFilePermissions:(Ljava/nio/file/Path;Ljava/util/Set;)Ljava/nio/file/Path;
pop
21: goto 40
StackMap locals:
StackMap stack: java.io.IOException
22: astore 8
start local 8 23: aload 0
invokevirtual org.graalvm.component.installer.os.DefaultFileOperations.feedback:()Lorg/graalvm/component/installer/Feedback;
ldc "FILE_ErrorRestoringPermissions"
aload 8
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 8
invokevirtual java.io.IOException.getLocalizedMessage:()Ljava/lang/String;
aastore
invokeinterface org.graalvm.component.installer.Feedback.error:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)V
24: iconst_0
istore 5
end local 8 25: goto 40
26: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
27: aload 3
ifnull 33
28: aload 4
aload 3
invokestatic java.nio.file.Files.setPosixFilePermissions:(Ljava/nio/file/Path;Ljava/util/Set;)Ljava/nio/file/Path;
pop
29: goto 33
StackMap locals: org.graalvm.component.installer.os.DefaultFileOperations java.nio.file.Path java.util.concurrent.Callable java.util.Set java.nio.file.Path int top java.lang.Throwable
StackMap stack: java.io.IOException
30: astore 8
start local 8 31: aload 0
invokevirtual org.graalvm.component.installer.os.DefaultFileOperations.feedback:()Lorg/graalvm/component/installer/Feedback;
ldc "FILE_ErrorRestoringPermissions"
aload 8
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 8
invokevirtual java.io.IOException.getLocalizedMessage:()Ljava/lang/String;
aastore
invokeinterface org.graalvm.component.installer.Feedback.error:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)V
32: iconst_0
istore 5
end local 8 33: StackMap locals:
StackMap stack:
aload 7
athrow
34: StackMap locals: org.graalvm.component.installer.os.DefaultFileOperations java.nio.file.Path java.util.concurrent.Callable java.util.Set java.nio.file.Path int
StackMap stack:
aload 3
ifnull 40
35: aload 4
aload 3
invokestatic java.nio.file.Files.setPosixFilePermissions:(Ljava/nio/file/Path;Ljava/util/Set;)Ljava/nio/file/Path;
pop
36: goto 40
StackMap locals:
StackMap stack: java.io.IOException
37: astore 8
start local 8 38: aload 0
invokevirtual org.graalvm.component.installer.os.DefaultFileOperations.feedback:()Lorg/graalvm/component/installer/Feedback;
ldc "FILE_ErrorRestoringPermissions"
aload 8
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 8
invokevirtual java.io.IOException.getLocalizedMessage:()Ljava/lang/String;
aastore
invokeinterface org.graalvm.component.installer.Feedback.error:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)V
39: iconst_0
istore 5
end local 8 40: StackMap locals:
StackMap stack:
iload 5
ireturn
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 41 0 this Lorg/graalvm/component/installer/os/DefaultFileOperations;
0 41 1 p Ljava/nio/file/Path;
0 41 2 action Ljava/util/concurrent/Callable<Ljava/lang/Void;>;
1 41 3 restoreDirPermissions Ljava/util/Set<Ljava/nio/file/attribute/PosixFilePermission;>;
3 41 4 d Ljava/nio/file/Path;
12 41 5 ok Z
16 17 6 ex Ljava/io/IOException;
23 25 8 ex2 Ljava/io/IOException;
31 33 8 ex2 Ljava/io/IOException;
38 40 8 ex2 Ljava/io/IOException;
Exception table:
from to target type
7 8 9 Class java.io.IOException
12 14 15 Class java.io.IOException
12 14 17 Class java.lang.Exception
20 21 22 Class java.io.IOException
12 19 26 any
28 29 30 Class java.io.IOException
35 36 37 Class java.io.IOException
Exceptions:
throws java.io.IOException
Signature: (Ljava/nio/file/Path;Ljava/util/concurrent/Callable<Ljava/lang/Void;>;)Z
MethodParameters:
Name Flags
p
action
public void setPermissions(java.nio.file.Path, java.util.Set<java.nio.file.attribute.PosixFilePermission>);
descriptor: (Ljava/nio/file/Path;Ljava/util/Set;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokestatic java.nio.file.Files.setPosixFilePermissions:(Ljava/nio/file/Path;Ljava/util/Set;)Ljava/nio/file/Path;
pop
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/os/DefaultFileOperations;
0 2 1 target Ljava/nio/file/Path;
0 2 2 perms Ljava/util/Set<Ljava/nio/file/attribute/PosixFilePermission;>;
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 boolean flush();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/component/installer/os/DefaultFileOperations;
}
SourceFile: "DefaultFileOperations.java"