public class org.graalvm.component.installer.os.WindowsFileOperations 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.WindowsFileOperations
super_class: org.graalvm.component.installer.FileOperations
{
private java.nio.file.Path delayDeletedList;
descriptor: Ljava/nio/file/Path;
flags: (0x0002) ACC_PRIVATE
private java.nio.file.Path copyContents;
descriptor: Ljava/nio/file/Path;
flags: (0x0002) ACC_PRIVATE
private java.util.Map<java.nio.file.Path, java.nio.file.Path> copiedPaths;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/nio/file/Path;Ljava/nio/file/Path;>;
private java.util.NavigableSet<java.nio.file.Path> delayDeletedPaths;
descriptor: Ljava/util/NavigableSet;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/NavigableSet<Ljava/nio/file/Path;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/component/installer/os/WindowsFileOperations;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.graalvm.component.installer.os.WindowsFileOperations.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.component.installer.FileOperations.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.graalvm.component.installer.os.WindowsFileOperations.copiedPaths:Ljava/util/Map;
2: aload 0
new java.util.TreeSet
dup
invokespecial java.util.TreeSet.<init>:()V
putfield org.graalvm.component.installer.os.WindowsFileOperations.delayDeletedPaths:Ljava/util/NavigableSet;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/component/installer/os/WindowsFileOperations;
public void setDelayDeletedList(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.os.WindowsFileOperations.delayDeletedList: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/os/WindowsFileOperations;
0 2 1 delayDeletedList Ljava/nio/file/Path;
MethodParameters:
Name Flags
delayDeletedList
public void setCopyContents(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.os.WindowsFileOperations.copyContents: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/os/WindowsFileOperations;
0 2 1 copyContents Ljava/nio/file/Path;
MethodParameters:
Name Flags
copyContents
public java.util.Map<java.nio.file.Path, java.nio.file.Path> getCopiedPaths();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.component.installer.os.WindowsFileOperations.copiedPaths:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/component/installer/os/WindowsFileOperations;
Signature: ()Ljava/util/Map<Ljava/nio/file/Path;Ljava/nio/file/Path;>;
public java.util.Set<java.nio.file.Path> getDelayDeletedPaths();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.component.installer.os.WindowsFileOperations.delayDeletedPaths:Ljava/util/NavigableSet;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/component/installer/os/WindowsFileOperations;
Signature: ()Ljava/util/Set<Ljava/nio/file/Path;>;
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=12, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc Ljava/nio/file/attribute/AclFileAttributeView;
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.getFileAttributeView:(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileAttributeView;
checkcast java.nio.file.attribute.AclFileAttributeView
astore 3
start local 3 1: aload 1
invokeinterface java.nio.file.Path.getFileSystem:()Ljava/nio/file/FileSystem;
invokevirtual java.nio.file.FileSystem.getUserPrincipalLookupService:()Ljava/nio/file/attribute/UserPrincipalLookupService;
astore 4
start local 4 2: ldc "user.name"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 3: aload 4
aload 5
invokevirtual java.nio.file.attribute.UserPrincipalLookupService.lookupPrincipalByName:(Ljava/lang/String;)Ljava/nio/file/attribute/UserPrincipal;
astore 6
start local 6 4: aload 3
invokeinterface java.nio.file.attribute.AclFileAttributeView.getAcl:()Ljava/util/List;
astore 7
start local 7 5: new java.util.ArrayList
dup
aload 7
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 8
start local 8 6: invokestatic java.nio.file.attribute.AclEntry.newBuilder:()Ljava/nio/file/attribute/AclEntry$Builder;
getstatic java.nio.file.attribute.AclEntryType.ALLOW:Ljava/nio/file/attribute/AclEntryType;
invokevirtual java.nio.file.attribute.AclEntry$Builder.setType:(Ljava/nio/file/attribute/AclEntryType;)Ljava/nio/file/attribute/AclEntry$Builder;
aload 6
invokevirtual java.nio.file.attribute.AclEntry$Builder.setPrincipal:(Ljava/nio/file/attribute/UserPrincipal;)Ljava/nio/file/attribute/AclEntry$Builder;
iconst_1
anewarray java.nio.file.attribute.AclEntryPermission
dup
iconst_0
getstatic java.nio.file.attribute.AclEntryPermission.DELETE:Ljava/nio/file/attribute/AclEntryPermission;
aastore
invokevirtual java.nio.file.attribute.AclEntry$Builder.setPermissions:([Ljava/nio/file/attribute/AclEntryPermission;)Ljava/nio/file/attribute/AclEntry$Builder;
invokevirtual java.nio.file.attribute.AclEntry$Builder.build:()Ljava/nio/file/attribute/AclEntry;
astore 9
start local 9 7: aload 8
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: aload 3
aload 8
invokeinterface java.nio.file.attribute.AclFileAttributeView.setAcl:(Ljava/util/List;)V
end local 9 end local 8 9: goto 12
end local 7 end local 6 StackMap locals: org.graalvm.component.installer.os.WindowsFileOperations java.nio.file.Path java.util.concurrent.Callable java.nio.file.attribute.AclFileAttributeView java.nio.file.attribute.UserPrincipalLookupService java.lang.String
StackMap stack: java.io.IOException
10: pop
11: iconst_0
ireturn
start local 6 start local 7 12: StackMap locals: java.nio.file.attribute.UserPrincipal java.util.List
StackMap stack:
iconst_0
istore 8
start local 8 13: aload 2
invokeinterface java.util.concurrent.Callable.call:()Ljava/lang/Object;
pop
14: iconst_1
istore 8
15: goto 33
StackMap locals: org.graalvm.component.installer.os.WindowsFileOperations java.nio.file.Path java.util.concurrent.Callable java.nio.file.attribute.AclFileAttributeView java.nio.file.attribute.UserPrincipalLookupService java.lang.String java.nio.file.attribute.UserPrincipal java.util.List int
StackMap stack: java.io.IOException
16: astore 9
start local 9 17: aload 9
athrow
end local 9 18: StackMap locals:
StackMap stack: java.lang.Exception
pop
19: iconst_0
istore 8
20: aload 3
aload 7
invokeinterface java.nio.file.attribute.AclFileAttributeView.setAcl:(Ljava/util/List;)V
21: goto 38
StackMap locals:
StackMap stack: java.io.IOException
22: astore 11
start local 11 23: aload 0
invokevirtual org.graalvm.component.installer.os.WindowsFileOperations.feedback:()Lorg/graalvm/component/installer/Feedback;
ldc "FILE_ErrorRestoringPermissions"
aload 11
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 11
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 8
end local 11 25: goto 38
26: StackMap locals:
StackMap stack: java.lang.Throwable
astore 10
27: aload 3
aload 7
invokeinterface java.nio.file.attribute.AclFileAttributeView.setAcl:(Ljava/util/List;)V
28: goto 32
StackMap locals: org.graalvm.component.installer.os.WindowsFileOperations java.nio.file.Path java.util.concurrent.Callable java.nio.file.attribute.AclFileAttributeView java.nio.file.attribute.UserPrincipalLookupService java.lang.String java.nio.file.attribute.UserPrincipal java.util.List int top java.lang.Throwable
StackMap stack: java.io.IOException
29: astore 11
start local 11 30: aload 0
invokevirtual org.graalvm.component.installer.os.WindowsFileOperations.feedback:()Lorg/graalvm/component/installer/Feedback;
ldc "FILE_ErrorRestoringPermissions"
aload 11
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 11
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
31: iconst_0
istore 8
end local 11 32: StackMap locals:
StackMap stack:
aload 10
athrow
33: StackMap locals: org.graalvm.component.installer.os.WindowsFileOperations java.nio.file.Path java.util.concurrent.Callable java.nio.file.attribute.AclFileAttributeView java.nio.file.attribute.UserPrincipalLookupService java.lang.String java.nio.file.attribute.UserPrincipal java.util.List int
StackMap stack:
aload 3
aload 7
invokeinterface java.nio.file.attribute.AclFileAttributeView.setAcl:(Ljava/util/List;)V
34: goto 38
StackMap locals:
StackMap stack: java.io.IOException
35: astore 11
start local 11 36: aload 0
invokevirtual org.graalvm.component.installer.os.WindowsFileOperations.feedback:()Lorg/graalvm/component/installer/Feedback;
ldc "FILE_ErrorRestoringPermissions"
aload 11
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 11
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
37: iconst_0
istore 8
end local 11 38: StackMap locals:
StackMap stack:
iload 8
ireturn
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 39 0 this Lorg/graalvm/component/installer/os/WindowsFileOperations;
0 39 1 p Ljava/nio/file/Path;
0 39 2 action Ljava/util/concurrent/Callable<Ljava/lang/Void;>;
1 39 3 aclView Ljava/nio/file/attribute/AclFileAttributeView;
2 39 4 upls Ljava/nio/file/attribute/UserPrincipalLookupService;
3 39 5 un Ljava/lang/String;
4 10 6 up Ljava/nio/file/attribute/UserPrincipal;
12 39 6 up Ljava/nio/file/attribute/UserPrincipal;
5 10 7 save Ljava/util/List<Ljava/nio/file/attribute/AclEntry;>;
12 39 7 save Ljava/util/List<Ljava/nio/file/attribute/AclEntry;>;
6 9 8 temp Ljava/util/List<Ljava/nio/file/attribute/AclEntry;>;
7 9 9 en Ljava/nio/file/attribute/AclEntry;
13 39 8 ok Z
17 18 9 ex Ljava/io/IOException;
23 25 11 ex Ljava/io/IOException;
30 32 11 ex Ljava/io/IOException;
36 38 11 ex Ljava/io/IOException;
Exception table:
from to target type
3 9 10 Class java.io.IOException
13 15 16 Class java.io.IOException
13 15 18 Class java.lang.Exception
20 21 22 Class java.io.IOException
13 20 26 any
27 28 29 Class java.io.IOException
33 34 35 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 boolean flush();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield org.graalvm.component.installer.os.WindowsFileOperations.copyContents:Ljava/nio/file/Path;
ifnull 18
2: new java.util.ArrayList
dup
aload 0
getfield org.graalvm.component.installer.os.WindowsFileOperations.copiedPaths:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 3: aload 0
getfield org.graalvm.component.installer.os.WindowsFileOperations.copiedPaths:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 10
StackMap locals: org.graalvm.component.installer.os.WindowsFileOperations int java.util.List top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 5: aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.nio.file.Path
astore 5
start local 5 6: aload 5
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ifeq 10
7: new java.lang.StringBuilder
dup
aload 5
invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "|"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.nio.file.Path
invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 8: aload 2
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
9: aload 0
getfield org.graalvm.component.installer.os.WindowsFileOperations.delayDeletedPaths:Ljava/util/NavigableSet;
aload 5
invokeinterface java.util.NavigableSet.remove:(Ljava/lang/Object;)Z
pop
end local 6 end local 5 end local 3 10: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
11: aload 2
invokeinterface java.util.List.isEmpty:()Z
ifne 13
12: iconst_1
istore 1
13: StackMap locals: org.graalvm.component.installer.os.WindowsFileOperations int java.util.List
StackMap stack:
aload 0
getfield org.graalvm.component.installer.os.WindowsFileOperations.copyContents:Ljava/nio/file/Path;
aload 2
iconst_3
anewarray java.nio.file.OpenOption
dup
iconst_0
14: getstatic java.nio.file.StandardOpenOption.CREATE:Ljava/nio/file/StandardOpenOption;
aastore
dup
iconst_1
15: getstatic java.nio.file.StandardOpenOption.WRITE:Ljava/nio/file/StandardOpenOption;
aastore
dup
iconst_2
16: getstatic java.nio.file.StandardOpenOption.TRUNCATE_EXISTING:Ljava/nio/file/StandardOpenOption;
aastore
17: invokestatic java.nio.file.Files.write:(Ljava/nio/file/Path;Ljava/lang/Iterable;[Ljava/nio/file/OpenOption;)Ljava/nio/file/Path;
pop
end local 2 18: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.component.installer.os.WindowsFileOperations.delayDeletedList:Ljava/nio/file/Path;
ifnull 31
19: new java.util.ArrayList
dup
aload 0
getfield org.graalvm.component.installer.os.WindowsFileOperations.delayDeletedPaths:Ljava/util/NavigableSet;
invokeinterface java.util.NavigableSet.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 20: aload 0
getfield org.graalvm.component.installer.os.WindowsFileOperations.delayDeletedPaths:Ljava/util/NavigableSet;
invokeinterface java.util.NavigableSet.iterator:()Ljava/util/Iterator;
astore 4
goto 23
StackMap locals: org.graalvm.component.installer.os.WindowsFileOperations int java.util.List top java.util.Iterator
StackMap stack:
21: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.Path
astore 3
start local 3 22: aload 2
aload 3
invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 23: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
24: aload 2
invokeinterface java.util.List.isEmpty:()Z
ifne 26
25: iconst_1
istore 1
26: StackMap locals: org.graalvm.component.installer.os.WindowsFileOperations int java.util.List
StackMap stack:
aload 0
getfield org.graalvm.component.installer.os.WindowsFileOperations.delayDeletedList:Ljava/nio/file/Path;
aload 2
iconst_3
anewarray java.nio.file.OpenOption
dup
iconst_0
27: getstatic java.nio.file.StandardOpenOption.CREATE:Ljava/nio/file/StandardOpenOption;
aastore
dup
iconst_1
28: getstatic java.nio.file.StandardOpenOption.WRITE:Ljava/nio/file/StandardOpenOption;
aastore
dup
iconst_2
29: getstatic java.nio.file.StandardOpenOption.TRUNCATE_EXISTING:Ljava/nio/file/StandardOpenOption;
aastore
30: invokestatic java.nio.file.Files.write:(Ljava/nio/file/Path;Ljava/lang/Iterable;[Ljava/nio/file/OpenOption;)Ljava/nio/file/Path;
pop
end local 2 31: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lorg/graalvm/component/installer/os/WindowsFileOperations;
1 32 1 r Z
3 18 2 lines Ljava/util/List<Ljava/lang/String;>;
5 10 3 e Ljava/util/Map$Entry<Ljava/nio/file/Path;Ljava/nio/file/Path;>;
6 10 5 orig Ljava/nio/file/Path;
8 10 6 s Ljava/lang/String;
20 31 2 lines Ljava/util/List<Ljava/lang/String;>;
22 23 3 p Ljava/nio/file/Path;
Exceptions:
throws java.io.IOException
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=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.graalvm.component.installer.os.WindowsFileOperations.delayDeletedList:Ljava/nio/file/Path;
ifnonnull 3
1: aload 0
aload 1
aload 2
invokespecial org.graalvm.component.installer.FileOperations.handleUndeletableFile:(Ljava/io/IOException;Ljava/nio/file/Path;)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.component.installer.os.WindowsFileOperations.delayDeletedPaths:Ljava/util/NavigableSet;
aload 2
invokeinterface java.util.NavigableSet.add:(Ljava/lang/Object;)Z
pop
4: aload 0
invokevirtual org.graalvm.component.installer.os.WindowsFileOperations.feedback:()Lorg/graalvm/component/installer/Feedback;
ldc "FILE_CannotDeleteFileTryDelayed"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 1
invokevirtual java.io.IOException.getLocalizedMessage:()Ljava/lang/String;
aastore
invokeinterface org.graalvm.component.installer.Feedback.output:(Ljava/lang/String;[Ljava/lang/Object;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/component/installer/os/WindowsFileOperations;
0 6 1 ex Ljava/io/IOException;
0 6 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=6, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.graalvm.component.installer.os.WindowsFileOperations.copyContents:Ljava/nio/file/Path;
ifnonnull 2
1: aload 0
aload 1
aload 2
aload 3
invokespecial org.graalvm.component.installer.FileOperations.handleUnmodifiableFile:(Ljava/io/IOException;Ljava/nio/file/Path;Ljava/io/InputStream;)Ljava/nio/file/Path;
areturn
2: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
astore 4
start local 4 3: aload 2
invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
astore 5
start local 5 4: getstatic org.graalvm.component.installer.os.WindowsFileOperations.$assertionsDisabled:Z
ifne 5
aload 5
ifnonnull 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: java.nio.file.Path java.nio.file.Path
StackMap stack:
getstatic org.graalvm.component.installer.os.WindowsFileOperations.$assertionsDisabled:Z
ifne 6
aload 4
ifnonnull 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
astore 6
start local 6 7: getstatic org.graalvm.component.installer.os.WindowsFileOperations.$assertionsDisabled:Z
ifne 8
aload 6
ifnonnull 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals: java.nio.file.Path
StackMap stack:
aload 5
new java.lang.StringBuilder
dup
aload 6
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".new"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.nio.file.Path.resolveSibling:(Ljava/lang/String;)Ljava/nio/file/Path;
astore 7
start local 7 9: aload 0
getfield org.graalvm.component.installer.os.WindowsFileOperations.copiedPaths:Ljava/util/Map;
aload 5
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: aload 0
invokevirtual org.graalvm.component.installer.os.WindowsFileOperations.feedback:()Lorg/graalvm/component/installer/Feedback;
ldc "FILE_CannotInstallFileTryDelayed"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 1
invokevirtual java.io.IOException.getLocalizedMessage:()Ljava/lang/String;
aastore
invokeinterface org.graalvm.component.installer.Feedback.output:(Ljava/lang/String;[Ljava/lang/Object;)V
11: aload 7
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokestatic java.nio.file.Files.createDirectories:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
pop
12: aload 7
aload 4
invokeinterface java.nio.file.Path.resolve:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
astore 8
start local 8 13: aload 3
aload 8
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
14: aload 8
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 15 0 this Lorg/graalvm/component/installer/os/WindowsFileOperations;
0 15 1 ex Ljava/io/IOException;
0 15 2 p Ljava/nio/file/Path;
0 15 3 content Ljava/io/InputStream;
3 15 4 fn Ljava/nio/file/Path;
4 15 5 parentDir Ljava/nio/file/Path;
7 15 6 pn Ljava/nio/file/Path;
9 15 7 copy Ljava/nio/file/Path;
13 15 8 target Ljava/nio/file/Path;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ex
p
content
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=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.graalvm.component.installer.os.WindowsFileOperations.copyContents:Ljava/nio/file/Path;
ifnull 1
aload 0
getfield org.graalvm.component.installer.os.WindowsFileOperations.delayDeletedList:Ljava/nio/file/Path;
ifnonnull 2
1: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokespecial org.graalvm.component.installer.FileOperations.materialize:(Ljava/nio/file/Path;Z)Ljava/nio/file/Path;
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
astore 3
start local 3 3: aload 0
getfield org.graalvm.component.installer.os.WindowsFileOperations.copiedPaths:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.nio.file.Path
astore 4
start local 4 4: aload 1
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
astore 5
start local 5 5: getstatic org.graalvm.component.installer.os.WindowsFileOperations.$assertionsDisabled:Z
ifne 6
aload 5
ifnonnull 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals: java.nio.file.Path java.nio.file.Path java.nio.file.Path
StackMap stack:
getstatic org.graalvm.component.installer.os.WindowsFileOperations.$assertionsDisabled:Z
ifne 7
aload 3
ifnonnull 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 4
ifnull 10
8: aload 4
aload 5
invokeinterface java.nio.file.Path.resolve:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
astore 6
start local 6 9: aload 6
areturn
end local 6 10: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.component.installer.os.WindowsFileOperations.delayDeletedPaths:Ljava/util/NavigableSet;
aload 1
invokeinterface java.util.NavigableSet.contains:(Ljava/lang/Object;)Z
ifeq 18
11: iload 2
ifeq 17
12: aload 3
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
astore 6
start local 6 13: getstatic org.graalvm.component.installer.os.WindowsFileOperations.$assertionsDisabled:Z
ifne 14
aload 6
ifnonnull 14
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals: java.nio.file.Path
StackMap stack:
aload 3
new java.lang.StringBuilder
dup
aload 6
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".new"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.nio.file.Path.resolveSibling:(Ljava/lang/String;)Ljava/nio/file/Path;
astore 4
15: aload 0
getfield org.graalvm.component.installer.os.WindowsFileOperations.copiedPaths:Ljava/util/Map;
aload 3
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
16: aload 4
aload 5
invokeinterface java.nio.file.Path.resolve:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
areturn
end local 6 17: StackMap locals:
StackMap stack:
aconst_null
areturn
18: StackMap locals:
StackMap stack:
aload 1
areturn
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 19 0 this Lorg/graalvm/component/installer/os/WindowsFileOperations;
0 19 1 p Ljava/nio/file/Path;
0 19 2 write Z
3 19 3 parentDir Ljava/nio/file/Path;
4 19 4 copy Ljava/nio/file/Path;
5 19 5 fn Ljava/nio/file/Path;
9 10 6 r Ljava/nio/file/Path;
13 17 6 pn Ljava/nio/file/Path;
MethodParameters:
Name Flags
p
write
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=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/component/installer/os/WindowsFileOperations;
0 1 1 target Ljava/nio/file/Path;
0 1 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
protected void performDelete(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.component.installer.os.WindowsFileOperations.delayDeletedPaths:Ljava/util/NavigableSet;
aload 1
invokeinterface java.util.NavigableSet.ceiling:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.nio.file.Path
astore 2
start local 2 1: aload 2
ifnull 4
aload 2
aload 1
invokeinterface java.nio.file.Path.startsWith:(Ljava/nio/file/Path;)Z
ifeq 4
2: aload 0
invokevirtual org.graalvm.component.installer.os.WindowsFileOperations.feedback:()Lorg/graalvm/component/installer/Feedback;
ldc "FILE_CannotDeleteParentTryDelayed"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokeinterface org.graalvm.component.installer.Feedback.output:(Ljava/lang/String;[Ljava/lang/Object;)V
3: goto 5
4: StackMap locals: java.nio.file.Path
StackMap stack:
aload 0
aload 1
invokespecial org.graalvm.component.installer.FileOperations.performDelete:(Ljava/nio/file/Path;)V
5: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/component/installer/os/WindowsFileOperations;
0 6 1 p Ljava/nio/file/Path;
1 6 2 next Ljava/nio/file/Path;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
p
}
SourceFile: "WindowsFileOperations.java"
InnerClasses:
public final Builder = java.nio.file.attribute.AclEntry$Builder of java.nio.file.attribute.AclEntry
public abstract Entry = java.util.Map$Entry of java.util.Map