class sun.nio.fs.UnixCopyFile
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.nio.fs.UnixCopyFile
super_class: java.lang.Object
{
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "nio"
invokestatic jdk.internal.loader.BootLoader.loadLibrary:(Ljava/lang/String;)V
1: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
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 Lsun/nio/fs/UnixCopyFile;
private static void copyDirectory(sun.nio.fs.UnixPath, sun.nio.fs.UnixFileAttributes, sun.nio.fs.UnixPath, sun.nio.fs.UnixCopyFile$Flags);
descriptor: (Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.mode:()I
invokestatic sun.nio.fs.UnixNativeDispatcher.mkdir:(Lsun/nio/fs/UnixPath;I)V
1: goto 4
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
2: astore 4
start local 4 3: aload 4
aload 2
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 4 4: StackMap locals:
StackMap stack:
aload 3
getfield sun.nio.fs.UnixCopyFile$Flags.copyBasicAttributes:Z
ifne 7
5: aload 3
getfield sun.nio.fs.UnixCopyFile$Flags.copyPosixAttributes:Z
ifne 7
6: aload 3
getfield sun.nio.fs.UnixCopyFile$Flags.copyNonPosixAttributes:Z
ifne 7
return
7: StackMap locals:
StackMap stack:
iconst_m1
istore 4
start local 4 8: aload 2
iconst_0
iconst_0
invokestatic sun.nio.fs.UnixNativeDispatcher.open:(Lsun/nio/fs/UnixPath;II)I
istore 4
9: goto 16
StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags int
StackMap stack: sun.nio.fs.UnixException
10: astore 5
start local 5 11: aload 3
getfield sun.nio.fs.UnixCopyFile$Flags.copyNonPosixAttributes:Z
ifeq 16
aload 3
getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyNonPosix:Z
ifeq 16
12: aload 2
invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
13: goto 15
StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags int sun.nio.fs.UnixException
StackMap stack: sun.nio.fs.UnixException
14: pop
15: StackMap locals:
StackMap stack:
aload 5
aload 2
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 5 16: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 17: aload 3
getfield sun.nio.fs.UnixCopyFile$Flags.copyPosixAttributes:Z
ifeq 28
18: iload 4
iflt 22
19: iload 4
aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.uid:()I
aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.gid:()I
invokestatic sun.nio.fs.UnixNativeDispatcher.fchown:(III)V
20: iload 4
aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.mode:()I
invokestatic sun.nio.fs.UnixNativeDispatcher.fchmod:(II)V
21: goto 28
22: StackMap locals: int
StackMap stack:
aload 2
aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.uid:()I
aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.gid:()I
invokestatic sun.nio.fs.UnixNativeDispatcher.chown:(Lsun/nio/fs/UnixPath;II)V
23: aload 2
aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.mode:()I
invokestatic sun.nio.fs.UnixNativeDispatcher.chmod:(Lsun/nio/fs/UnixPath;I)V
24: goto 28
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
25: astore 6
start local 6 26: aload 3
getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyPosix:Z
ifeq 28
27: aload 6
aload 2
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 6 28: StackMap locals:
StackMap stack:
aload 3
getfield sun.nio.fs.UnixCopyFile$Flags.copyNonPosixAttributes:Z
ifeq 38
iload 4
iflt 38
29: iconst_m1
istore 6
start local 6 30: aload 0
iconst_0
iconst_0
invokestatic sun.nio.fs.UnixNativeDispatcher.open:(Lsun/nio/fs/UnixPath;II)I
istore 6
31: goto 35
StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags int int int
StackMap stack: sun.nio.fs.UnixException
32: astore 7
start local 7 33: aload 3
getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyNonPosix:Z
ifeq 35
34: aload 7
aload 0
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 7 35: StackMap locals:
StackMap stack:
iload 6
iflt 38
36: aload 0
invokevirtual sun.nio.fs.UnixPath.getFileSystem:()Lsun/nio/fs/UnixFileSystem;
iload 6
iload 4
invokevirtual sun.nio.fs.UnixFileSystem.copyNonPosixAttributes:(II)V
37: iload 6
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
end local 6 38: StackMap locals:
StackMap stack:
aload 3
getfield sun.nio.fs.UnixCopyFile$Flags.copyBasicAttributes:Z
ifeq 53
39: iload 4
iflt 45
invokestatic sun.nio.fs.UnixNativeDispatcher.futimesSupported:()Z
ifeq 45
40: iload 4
41: aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.lastAccessTime:()Ljava/nio/file/attribute/FileTime;
getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.nio.file.attribute.FileTime.to:(Ljava/util/concurrent/TimeUnit;)J
42: aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.lastModifiedTime:()Ljava/nio/file/attribute/FileTime;
getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.nio.file.attribute.FileTime.to:(Ljava/util/concurrent/TimeUnit;)J
43: invokestatic sun.nio.fs.UnixNativeDispatcher.futimes:(IJJ)V
44: goto 53
45: StackMap locals:
StackMap stack:
aload 2
46: aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.lastAccessTime:()Ljava/nio/file/attribute/FileTime;
getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.nio.file.attribute.FileTime.to:(Ljava/util/concurrent/TimeUnit;)J
47: aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.lastModifiedTime:()Ljava/nio/file/attribute/FileTime;
getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.nio.file.attribute.FileTime.to:(Ljava/util/concurrent/TimeUnit;)J
48: invokestatic sun.nio.fs.UnixNativeDispatcher.utimes:(Lsun/nio/fs/UnixPath;JJ)V
49: goto 53
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
50: astore 6
start local 6 51: aload 3
getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyBasic:Z
ifeq 53
52: aload 6
aload 2
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 6 53: StackMap locals:
StackMap stack:
iconst_1
istore 5
54: goto 63
StackMap locals:
StackMap stack: java.lang.Throwable
55: astore 8
56: iload 4
iflt 58
57: iload 4
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
58: StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags int int top top java.lang.Throwable
StackMap stack:
iload 5
ifne 62
59: aload 2
invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
60: goto 62
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
61: pop
62: StackMap locals:
StackMap stack:
aload 8
athrow
63: StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags int int
StackMap stack:
iload 4
iflt 65
64: iload 4
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
65: StackMap locals:
StackMap stack:
iload 5
ifne 69
66: aload 2
invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
67: goto 69
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
68: pop
69: 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 70 0 source Lsun/nio/fs/UnixPath;
0 70 1 attrs Lsun/nio/fs/UnixFileAttributes;
0 70 2 target Lsun/nio/fs/UnixPath;
0 70 3 flags Lsun/nio/fs/UnixCopyFile$Flags;
3 4 4 x Lsun/nio/fs/UnixException;
8 70 4 dfd I
11 16 5 x Lsun/nio/fs/UnixException;
17 70 5 done Z
26 28 6 x Lsun/nio/fs/UnixException;
30 38 6 sfd I
33 35 7 x Lsun/nio/fs/UnixException;
51 53 6 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
0 1 2 Class sun.nio.fs.UnixException
8 9 10 Class sun.nio.fs.UnixException
12 13 14 Class sun.nio.fs.UnixException
18 24 25 Class sun.nio.fs.UnixException
30 31 32 Class sun.nio.fs.UnixException
39 49 50 Class sun.nio.fs.UnixException
17 55 55 any
59 60 61 Class sun.nio.fs.UnixException
66 67 68 Class sun.nio.fs.UnixException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
source
attrs
target
flags
private static void copyFile(sun.nio.fs.UnixPath, sun.nio.fs.UnixFileAttributes, sun.nio.fs.UnixPath, sun.nio.fs.UnixCopyFile$Flags, long);
descriptor: (Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;J)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_m1
istore 6
start local 6 1: aload 0
iconst_0
iconst_0
invokestatic sun.nio.fs.UnixNativeDispatcher.open:(Lsun/nio/fs/UnixPath;II)I
istore 6
2: goto 5
StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags long int
StackMap stack: sun.nio.fs.UnixException
3: astore 7
start local 7 4: aload 7
aload 0
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 7 5: StackMap locals:
StackMap stack:
iconst_m1
istore 7
start local 7 6: aload 2
7: sipush 193
8: aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.mode:()I
9: invokestatic sun.nio.fs.UnixNativeDispatcher.open:(Lsun/nio/fs/UnixPath;II)I
istore 7
10: goto 13
StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags long int int
StackMap stack: sun.nio.fs.UnixException
11: astore 8
start local 8 12: aload 8
aload 2
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 8 13: StackMap locals:
StackMap stack:
iconst_0
istore 8
start local 8 14: iload 7
iload 6
lload 4
invokestatic sun.nio.fs.UnixCopyFile.transfer:(IIJ)V
15: goto 18
StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags long int int int
StackMap stack: sun.nio.fs.UnixException
16: astore 9
start local 9 17: aload 9
aload 0
aload 2
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;)V
end local 9 18: StackMap locals:
StackMap stack:
aload 3
getfield sun.nio.fs.UnixCopyFile$Flags.copyPosixAttributes:Z
ifeq 25
19: iload 7
aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.uid:()I
aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.gid:()I
invokestatic sun.nio.fs.UnixNativeDispatcher.fchown:(III)V
20: iload 7
aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.mode:()I
invokestatic sun.nio.fs.UnixNativeDispatcher.fchmod:(II)V
21: goto 25
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
22: astore 9
start local 9 23: aload 3
getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyPosix:Z
ifeq 25
24: aload 9
aload 2
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 9 25: StackMap locals:
StackMap stack:
aload 3
getfield sun.nio.fs.UnixCopyFile$Flags.copyNonPosixAttributes:Z
ifeq 27
26: aload 0
invokevirtual sun.nio.fs.UnixPath.getFileSystem:()Lsun/nio/fs/UnixFileSystem;
iload 6
iload 7
invokevirtual sun.nio.fs.UnixFileSystem.copyNonPosixAttributes:(II)V
27: StackMap locals:
StackMap stack:
aload 3
getfield sun.nio.fs.UnixCopyFile$Flags.copyBasicAttributes:Z
ifeq 42
28: invokestatic sun.nio.fs.UnixNativeDispatcher.futimesSupported:()Z
ifeq 34
29: iload 7
30: aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.lastAccessTime:()Ljava/nio/file/attribute/FileTime;
getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.nio.file.attribute.FileTime.to:(Ljava/util/concurrent/TimeUnit;)J
31: aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.lastModifiedTime:()Ljava/nio/file/attribute/FileTime;
getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.nio.file.attribute.FileTime.to:(Ljava/util/concurrent/TimeUnit;)J
32: invokestatic sun.nio.fs.UnixNativeDispatcher.futimes:(IJJ)V
33: goto 42
34: StackMap locals:
StackMap stack:
aload 2
35: aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.lastAccessTime:()Ljava/nio/file/attribute/FileTime;
getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.nio.file.attribute.FileTime.to:(Ljava/util/concurrent/TimeUnit;)J
36: aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.lastModifiedTime:()Ljava/nio/file/attribute/FileTime;
getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.nio.file.attribute.FileTime.to:(Ljava/util/concurrent/TimeUnit;)J
37: invokestatic sun.nio.fs.UnixNativeDispatcher.utimes:(Lsun/nio/fs/UnixPath;JJ)V
38: goto 42
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
39: astore 9
start local 9 40: aload 3
getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyBasic:Z
ifeq 42
41: aload 9
aload 2
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 9 42: StackMap locals:
StackMap stack:
iconst_1
istore 8
43: goto 51
StackMap locals:
StackMap stack: java.lang.Throwable
44: astore 10
45: iload 7
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
46: iload 8
ifne 50
47: aload 2
invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
48: goto 50
StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags long int int int top java.lang.Throwable
StackMap stack: sun.nio.fs.UnixException
49: pop
50: StackMap locals:
StackMap stack:
aload 10
athrow
51: StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags long int int int
StackMap stack:
iload 7
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
52: iload 8
ifne 60
53: aload 2
invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
54: goto 60
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
55: pop
end local 8 end local 7 56: goto 60
StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags long int
StackMap stack: java.lang.Throwable
57: astore 11
58: iload 6
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
59: aload 11
athrow
60: StackMap locals:
StackMap stack:
iload 6
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
61: return
end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 62 0 source Lsun/nio/fs/UnixPath;
0 62 1 attrs Lsun/nio/fs/UnixFileAttributes;
0 62 2 target Lsun/nio/fs/UnixPath;
0 62 3 flags Lsun/nio/fs/UnixCopyFile$Flags;
0 62 4 addressToPollForCancel J
1 62 6 fi I
4 5 7 x Lsun/nio/fs/UnixException;
6 56 7 fo I
12 13 8 x Lsun/nio/fs/UnixException;
14 56 8 complete Z
17 18 9 x Lsun/nio/fs/UnixException;
23 25 9 x Lsun/nio/fs/UnixException;
40 42 9 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
1 2 3 Class sun.nio.fs.UnixException
6 10 11 Class sun.nio.fs.UnixException
14 15 16 Class sun.nio.fs.UnixException
19 21 22 Class sun.nio.fs.UnixException
28 38 39 Class sun.nio.fs.UnixException
14 44 44 any
47 48 49 Class sun.nio.fs.UnixException
53 54 55 Class sun.nio.fs.UnixException
5 57 57 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
source
attrs
target
flags
addressToPollForCancel
private static void copyLink(sun.nio.fs.UnixPath, sun.nio.fs.UnixFileAttributes, sun.nio.fs.UnixPath, sun.nio.fs.UnixCopyFile$Flags);
descriptor: (Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 0
invokestatic sun.nio.fs.UnixNativeDispatcher.readlink:(Lsun/nio/fs/UnixPath;)[B
astore 4
2: goto 5
StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags byte[]
StackMap stack: sun.nio.fs.UnixException
3: astore 5
start local 5 4: aload 5
aload 0
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 5 5: StackMap locals:
StackMap stack:
aload 4
aload 2
invokestatic sun.nio.fs.UnixNativeDispatcher.symlink:([BLsun/nio/fs/UnixPath;)V
6: aload 3
getfield sun.nio.fs.UnixCopyFile$Flags.copyPosixAttributes:Z
ifeq 13
7: aload 2
aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.uid:()I
aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.gid:()I
invokestatic sun.nio.fs.UnixNativeDispatcher.lchown:(Lsun/nio/fs/UnixPath;II)V
8: goto 13
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
9: pop
10: goto 13
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
11: astore 5
start local 5 12: aload 5
aload 2
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 5 13: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 source Lsun/nio/fs/UnixPath;
0 14 1 attrs Lsun/nio/fs/UnixFileAttributes;
0 14 2 target Lsun/nio/fs/UnixPath;
0 14 3 flags Lsun/nio/fs/UnixCopyFile$Flags;
1 14 4 linktarget [B
4 5 5 x Lsun/nio/fs/UnixException;
12 13 5 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
1 2 3 Class sun.nio.fs.UnixException
7 8 9 Class sun.nio.fs.UnixException
5 10 11 Class sun.nio.fs.UnixException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
source
attrs
target
flags
private static void copySpecial(sun.nio.fs.UnixPath, sun.nio.fs.UnixFileAttributes, sun.nio.fs.UnixPath, sun.nio.fs.UnixCopyFile$Flags);
descriptor: (Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.mode:()I
aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.rdev:()J
invokestatic sun.nio.fs.UnixNativeDispatcher.mknod:(Lsun/nio/fs/UnixPath;IJ)V
1: goto 4
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
2: astore 4
start local 4 3: aload 4
aload 2
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 4 4: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 5: aload 3
getfield sun.nio.fs.UnixCopyFile$Flags.copyPosixAttributes:Z
ifeq 12
6: aload 2
aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.uid:()I
aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.gid:()I
invokestatic sun.nio.fs.UnixNativeDispatcher.chown:(Lsun/nio/fs/UnixPath;II)V
7: aload 2
aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.mode:()I
invokestatic sun.nio.fs.UnixNativeDispatcher.chmod:(Lsun/nio/fs/UnixPath;I)V
8: goto 12
StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags int
StackMap stack: sun.nio.fs.UnixException
9: astore 5
start local 5 10: aload 3
getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyPosix:Z
ifeq 12
11: aload 5
aload 2
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 5 12: StackMap locals:
StackMap stack:
aload 3
getfield sun.nio.fs.UnixCopyFile$Flags.copyBasicAttributes:Z
ifeq 21
13: aload 2
14: aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.lastAccessTime:()Ljava/nio/file/attribute/FileTime;
getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.nio.file.attribute.FileTime.to:(Ljava/util/concurrent/TimeUnit;)J
15: aload 1
invokevirtual sun.nio.fs.UnixFileAttributes.lastModifiedTime:()Ljava/nio/file/attribute/FileTime;
getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.nio.file.attribute.FileTime.to:(Ljava/util/concurrent/TimeUnit;)J
16: invokestatic sun.nio.fs.UnixNativeDispatcher.utimes:(Lsun/nio/fs/UnixPath;JJ)V
17: goto 21
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
18: astore 5
start local 5 19: aload 3
getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyBasic:Z
ifeq 21
20: aload 5
aload 2
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 5 21: StackMap locals:
StackMap stack:
iconst_1
istore 4
22: goto 29
StackMap locals:
StackMap stack: java.lang.Throwable
23: astore 6
24: iload 4
ifne 28
25: aload 2
invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
26: goto 28
StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags int top java.lang.Throwable
StackMap stack: sun.nio.fs.UnixException
27: pop
28: StackMap locals:
StackMap stack:
aload 6
athrow
29: StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags int
StackMap stack:
iload 4
ifne 33
30: aload 2
invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
31: goto 33
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
32: pop
33: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 source Lsun/nio/fs/UnixPath;
0 34 1 attrs Lsun/nio/fs/UnixFileAttributes;
0 34 2 target Lsun/nio/fs/UnixPath;
0 34 3 flags Lsun/nio/fs/UnixCopyFile$Flags;
3 4 4 x Lsun/nio/fs/UnixException;
5 34 4 done Z
10 12 5 x Lsun/nio/fs/UnixException;
19 21 5 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
0 1 2 Class sun.nio.fs.UnixException
6 8 9 Class sun.nio.fs.UnixException
13 17 18 Class sun.nio.fs.UnixException
5 23 23 any
25 26 27 Class sun.nio.fs.UnixException
30 31 32 Class sun.nio.fs.UnixException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
source
attrs
target
flags
static void ensureEmptyDir(sun.nio.fs.UnixPath);
descriptor: (Lsun/nio/fs/UnixPath;)V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=6, args_size=1
start local 0 0: aload 0
invokestatic sun.nio.fs.UnixNativeDispatcher.opendir:(Lsun/nio/fs/UnixPath;)J
lstore 1
start local 1 1: aconst_null
astore 3
aconst_null
astore 4
2: new sun.nio.fs.UnixDirectoryStream
dup
aload 0
lload 1
invokedynamic accept()Ljava/nio/file/DirectoryStream$Filter;
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
sun/nio/fs/UnixCopyFile.lambda$0(Ljava/nio/file/Path;)Z (6)
(Ljava/nio/file/Path;)Z
invokespecial sun.nio.fs.UnixDirectoryStream.<init>:(Lsun/nio/fs/UnixPath;JLjava/nio/file/DirectoryStream$Filter;)V
3: astore 5
start local 5 4: aload 5
invokevirtual sun.nio.fs.UnixDirectoryStream.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 8
5: new java.nio.file.DirectoryNotEmptyException
dup
6: aload 0
invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
7: invokespecial java.nio.file.DirectoryNotEmptyException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: sun.nio.fs.UnixPath long java.lang.Throwable java.lang.Throwable sun.nio.fs.UnixDirectoryStream
StackMap stack:
aload 5
ifnull 16
aload 5
invokevirtual sun.nio.fs.UnixDirectoryStream.close:()V
goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 3
aload 5
ifnull 10
aload 5
invokevirtual sun.nio.fs.UnixDirectoryStream.close:()V
end local 5 StackMap locals:
StackMap stack:
10: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 4
aload 3
ifnonnull 12
aload 4
astore 3
goto 13
StackMap locals:
StackMap stack:
12: aload 3
aload 4
if_acmpeq 13
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
13: aload 3
athrow
end local 1 14: StackMap locals: sun.nio.fs.UnixPath
StackMap stack: sun.nio.fs.UnixException
astore 1
start local 1 15: aload 1
aload 0
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 1 16: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 dir Lsun/nio/fs/UnixPath;
1 14 1 ptr J
4 10 5 stream Lsun/nio/fs/UnixDirectoryStream;
15 16 1 e Lsun/nio/fs/UnixException;
Exception table:
from to target type
4 8 9 any
2 11 11 any
0 14 14 Class sun.nio.fs.UnixException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dir
static void move(sun.nio.fs.UnixPath, sun.nio.fs.UnixPath, java.nio.file.CopyOption[]);
descriptor: (Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;[Ljava/nio/file/CopyOption;)V
flags: (0x0088) ACC_STATIC, ACC_VARARGS
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 3
start local 3 1: aload 3
ifnull 4
2: aload 0
invokevirtual sun.nio.fs.UnixPath.checkWrite:()V
3: aload 1
invokevirtual sun.nio.fs.UnixPath.checkWrite:()V
4: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 2
invokestatic sun.nio.fs.UnixCopyFile$Flags.fromMoveOptions:([Ljava/nio/file/CopyOption;)Lsun/nio/fs/UnixCopyFile$Flags;
astore 4
start local 4 5: aload 4
getfield sun.nio.fs.UnixCopyFile$Flags.atomicMove:Z
ifeq 17
6: aload 0
aload 1
invokestatic sun.nio.fs.UnixNativeDispatcher.rename:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;)V
7: goto 16
StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixPath java.nio.file.CopyOption[] java.lang.SecurityManager sun.nio.fs.UnixCopyFile$Flags
StackMap stack: sun.nio.fs.UnixException
8: astore 5
start local 5 9: aload 5
invokevirtual sun.nio.fs.UnixException.errno:()I
bipush 18
if_icmpne 15
10: new java.nio.file.AtomicMoveNotSupportedException
dup
11: aload 0
invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
12: aload 1
invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
13: aload 5
invokevirtual sun.nio.fs.UnixException.errorString:()Ljava/lang/String;
14: invokespecial java.nio.file.AtomicMoveNotSupportedException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
athrow
15: StackMap locals: sun.nio.fs.UnixException
StackMap stack:
aload 5
aload 0
aload 1
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;)V
end local 5 16: StackMap locals:
StackMap stack:
return
17: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 18: aconst_null
astore 6
start local 6 19: aload 0
iconst_0
invokestatic sun.nio.fs.UnixFileAttributes.get:(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributes;
astore 5
20: goto 23
StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixPath java.nio.file.CopyOption[] java.lang.SecurityManager sun.nio.fs.UnixCopyFile$Flags sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixFileAttributes
StackMap stack: sun.nio.fs.UnixException
21: astore 7
start local 7 22: aload 7
aload 0
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 7 23: StackMap locals:
StackMap stack:
aload 1
iconst_0
invokestatic sun.nio.fs.UnixFileAttributes.get:(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributes;
astore 6
24: goto 26
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
25: pop
26: StackMap locals:
StackMap stack:
aload 6
ifnull 27
iconst_1
goto 28
StackMap locals:
StackMap stack:
27: iconst_0
StackMap locals:
StackMap stack: int
28: istore 7
start local 7 29: iload 7
ifeq 48
30: aload 5
aload 6
invokevirtual sun.nio.fs.UnixFileAttributes.isSameFile:(Lsun/nio/fs/UnixFileAttributes;)Z
ifeq 32
31: return
32: StackMap locals: int
StackMap stack:
aload 4
getfield sun.nio.fs.UnixCopyFile$Flags.replaceExisting:Z
ifne 36
33: new java.nio.file.FileAlreadyExistsException
dup
34: aload 1
invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
35: invokespecial java.nio.file.FileAlreadyExistsException.<init>:(Ljava/lang/String;)V
athrow
36: StackMap locals:
StackMap stack:
aload 6
invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
ifeq 39
37: aload 1
invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
38: goto 48
39: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
40: goto 48
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
41: astore 8
start local 8 42: aload 6
invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
ifeq 47
43: aload 8
invokevirtual sun.nio.fs.UnixException.errno:()I
bipush 17
if_icmpeq 44
aload 8
invokevirtual sun.nio.fs.UnixException.errno:()I
bipush 39
if_icmpne 47
44: StackMap locals: sun.nio.fs.UnixException
StackMap stack:
new java.nio.file.DirectoryNotEmptyException
dup
45: aload 1
invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
46: invokespecial java.nio.file.DirectoryNotEmptyException.<init>:(Ljava/lang/String;)V
athrow
47: StackMap locals:
StackMap stack:
aload 8
aload 1
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 8 48: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic sun.nio.fs.UnixNativeDispatcher.rename:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;)V
49: return
50: StackMap locals:
StackMap stack: sun.nio.fs.UnixException
astore 8
start local 8 51: aload 8
invokevirtual sun.nio.fs.UnixException.errno:()I
bipush 18
if_icmpeq 53
aload 8
invokevirtual sun.nio.fs.UnixException.errno:()I
bipush 21
if_icmpeq 53
52: aload 8
aload 0
aload 1
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;)V
end local 8 53: StackMap locals:
StackMap stack:
aload 5
invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
ifeq 57
54: aload 0
invokestatic sun.nio.fs.UnixCopyFile.ensureEmptyDir:(Lsun/nio/fs/UnixPath;)V
55: aload 0
aload 5
aload 1
aload 4
invokestatic sun.nio.fs.UnixCopyFile.copyDirectory:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;)V
56: goto 64
57: StackMap locals:
StackMap stack:
aload 5
invokevirtual sun.nio.fs.UnixFileAttributes.isSymbolicLink:()Z
ifeq 60
58: aload 0
aload 5
aload 1
aload 4
invokestatic sun.nio.fs.UnixCopyFile.copyLink:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;)V
59: goto 64
60: StackMap locals:
StackMap stack:
aload 5
invokevirtual sun.nio.fs.UnixFileAttributes.isDevice:()Z
ifeq 63
61: aload 0
aload 5
aload 1
aload 4
invokestatic sun.nio.fs.UnixCopyFile.copySpecial:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;)V
62: goto 64
63: StackMap locals:
StackMap stack:
aload 0
aload 5
aload 1
aload 4
lconst_0
invokestatic sun.nio.fs.UnixCopyFile.copyFile:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;J)V
64: StackMap locals:
StackMap stack:
aload 5
invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
ifeq 67
65: aload 0
invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
66: goto 82
67: StackMap locals:
StackMap stack:
aload 0
invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
68: goto 82
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
69: astore 8
start local 8 70: aload 5
invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
ifeq 73
71: aload 1
invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
72: goto 76
73: StackMap locals: sun.nio.fs.UnixException
StackMap stack:
aload 1
invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
74: goto 76
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
75: pop
76: StackMap locals:
StackMap stack:
aload 5
invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
ifeq 81
77: aload 8
invokevirtual sun.nio.fs.UnixException.errno:()I
bipush 17
if_icmpeq 78
aload 8
invokevirtual sun.nio.fs.UnixException.errno:()I
bipush 39
if_icmpne 81
78: StackMap locals:
StackMap stack:
new java.nio.file.DirectoryNotEmptyException
dup
79: aload 0
invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
80: invokespecial java.nio.file.DirectoryNotEmptyException.<init>:(Ljava/lang/String;)V
athrow
81: StackMap locals:
StackMap stack:
aload 8
aload 0
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 8 82: StackMap locals:
StackMap stack:
return
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 83 0 source Lsun/nio/fs/UnixPath;
0 83 1 target Lsun/nio/fs/UnixPath;
0 83 2 options [Ljava/nio/file/CopyOption;
1 83 3 sm Ljava/lang/SecurityManager;
5 83 4 flags Lsun/nio/fs/UnixCopyFile$Flags;
9 16 5 x Lsun/nio/fs/UnixException;
18 83 5 sourceAttrs Lsun/nio/fs/UnixFileAttributes;
19 83 6 targetAttrs Lsun/nio/fs/UnixFileAttributes;
22 23 7 x Lsun/nio/fs/UnixException;
29 83 7 targetExists Z
42 48 8 x Lsun/nio/fs/UnixException;
51 53 8 x Lsun/nio/fs/UnixException;
70 82 8 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
6 7 8 Class sun.nio.fs.UnixException
19 20 21 Class sun.nio.fs.UnixException
23 24 25 Class sun.nio.fs.UnixException
36 40 41 Class sun.nio.fs.UnixException
48 49 50 Class sun.nio.fs.UnixException
64 68 69 Class sun.nio.fs.UnixException
70 74 75 Class sun.nio.fs.UnixException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
source
target
options
static void copy(sun.nio.fs.UnixPath, sun.nio.fs.UnixPath, java.nio.file.CopyOption[]);
descriptor: (Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;[Ljava/nio/file/CopyOption;)V
flags: (0x0088) ACC_STATIC, ACC_VARARGS
Code:
stack=6, locals=12, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 3
start local 3 1: aload 3
ifnull 4
2: aload 0
invokevirtual sun.nio.fs.UnixPath.checkRead:()V
3: aload 1
invokevirtual sun.nio.fs.UnixPath.checkWrite:()V
4: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 2
invokestatic sun.nio.fs.UnixCopyFile$Flags.fromCopyOptions:([Ljava/nio/file/CopyOption;)Lsun/nio/fs/UnixCopyFile$Flags;
astore 4
start local 4 5: aconst_null
astore 5
start local 5 6: aconst_null
astore 6
start local 6 7: aload 0
aload 4
getfield sun.nio.fs.UnixCopyFile$Flags.followLinks:Z
invokestatic sun.nio.fs.UnixFileAttributes.get:(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributes;
astore 5
8: goto 11
StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixPath java.nio.file.CopyOption[] java.lang.SecurityManager sun.nio.fs.UnixCopyFile$Flags sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixFileAttributes
StackMap stack: sun.nio.fs.UnixException
9: astore 7
start local 7 10: aload 7
aload 0
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 7 11: StackMap locals:
StackMap stack:
aload 3
ifnull 13
aload 5
invokevirtual sun.nio.fs.UnixFileAttributes.isSymbolicLink:()Z
ifeq 13
12: aload 3
new java.nio.file.LinkPermission
dup
ldc "symbolic"
invokespecial java.nio.file.LinkPermission.<init>:(Ljava/lang/String;)V
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
13: StackMap locals:
StackMap stack:
aload 1
iconst_0
invokestatic sun.nio.fs.UnixFileAttributes.get:(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributes;
astore 6
14: goto 16
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
15: pop
16: StackMap locals:
StackMap stack:
aload 6
ifnull 17
iconst_1
goto 18
StackMap locals:
StackMap stack:
17: iconst_0
StackMap locals:
StackMap stack: int
18: istore 7
start local 7 19: iload 7
ifeq 38
20: aload 5
aload 6
invokevirtual sun.nio.fs.UnixFileAttributes.isSameFile:(Lsun/nio/fs/UnixFileAttributes;)Z
ifeq 22
21: return
22: StackMap locals: int
StackMap stack:
aload 4
getfield sun.nio.fs.UnixCopyFile$Flags.replaceExisting:Z
ifne 26
23: new java.nio.file.FileAlreadyExistsException
dup
24: aload 1
invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
25: invokespecial java.nio.file.FileAlreadyExistsException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals:
StackMap stack:
aload 6
invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
ifeq 29
27: aload 1
invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
28: goto 38
29: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
30: goto 38
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
31: astore 8
start local 8 32: aload 6
invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
ifeq 37
33: aload 8
invokevirtual sun.nio.fs.UnixException.errno:()I
bipush 17
if_icmpeq 34
aload 8
invokevirtual sun.nio.fs.UnixException.errno:()I
bipush 39
if_icmpne 37
34: StackMap locals: sun.nio.fs.UnixException
StackMap stack:
new java.nio.file.DirectoryNotEmptyException
dup
35: aload 1
invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
36: invokespecial java.nio.file.DirectoryNotEmptyException.<init>:(Ljava/lang/String;)V
athrow
37: StackMap locals:
StackMap stack:
aload 8
aload 1
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 8 38: StackMap locals:
StackMap stack:
aload 5
invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
ifeq 41
39: aload 0
aload 5
aload 1
aload 4
invokestatic sun.nio.fs.UnixCopyFile.copyDirectory:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;)V
40: return
41: StackMap locals:
StackMap stack:
aload 5
invokevirtual sun.nio.fs.UnixFileAttributes.isSymbolicLink:()Z
ifeq 44
42: aload 0
aload 5
aload 1
aload 4
invokestatic sun.nio.fs.UnixCopyFile.copyLink:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;)V
43: return
44: StackMap locals:
StackMap stack:
aload 4
getfield sun.nio.fs.UnixCopyFile$Flags.interruptible:Z
ifne 47
45: aload 0
aload 5
aload 1
aload 4
lconst_0
invokestatic sun.nio.fs.UnixCopyFile.copyFile:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;J)V
46: return
47: StackMap locals:
StackMap stack:
aload 5
astore 8
start local 8 48: new sun.nio.fs.UnixCopyFile$1
dup
aload 0
aload 8
aload 1
aload 4
invokespecial sun.nio.fs.UnixCopyFile$1.<init>:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;)V
astore 9
start local 9 49: aload 9
invokestatic sun.nio.fs.Cancellable.runInterruptibly:(Lsun/nio/fs/Cancellable;)V
50: goto 56
StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixPath java.nio.file.CopyOption[] java.lang.SecurityManager sun.nio.fs.UnixCopyFile$Flags sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixFileAttributes int sun.nio.fs.UnixFileAttributes sun.nio.fs.Cancellable
StackMap stack: java.util.concurrent.ExecutionException
51: astore 10
start local 10 52: aload 10
invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
astore 11
start local 11 53: aload 11
instanceof java.io.IOException
ifeq 55
54: aload 11
checkcast java.io.IOException
athrow
55: StackMap locals: java.util.concurrent.ExecutionException java.lang.Throwable
StackMap stack:
new java.io.IOException
dup
aload 11
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 11 end local 10 56: StackMap locals:
StackMap stack:
return
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 57 0 source Lsun/nio/fs/UnixPath;
0 57 1 target Lsun/nio/fs/UnixPath;
0 57 2 options [Ljava/nio/file/CopyOption;
1 57 3 sm Ljava/lang/SecurityManager;
5 57 4 flags Lsun/nio/fs/UnixCopyFile$Flags;
6 57 5 sourceAttrs Lsun/nio/fs/UnixFileAttributes;
7 57 6 targetAttrs Lsun/nio/fs/UnixFileAttributes;
10 11 7 x Lsun/nio/fs/UnixException;
19 57 7 targetExists Z
32 38 8 x Lsun/nio/fs/UnixException;
48 57 8 attrsToCopy Lsun/nio/fs/UnixFileAttributes;
49 57 9 copyTask Lsun/nio/fs/Cancellable;
52 56 10 e Ljava/util/concurrent/ExecutionException;
53 56 11 t Ljava/lang/Throwable;
Exception table:
from to target type
7 8 9 Class sun.nio.fs.UnixException
13 14 15 Class sun.nio.fs.UnixException
26 30 31 Class sun.nio.fs.UnixException
49 50 51 Class java.util.concurrent.ExecutionException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
source final
target final
options
static native void transfer(int, int, long);
descriptor: (IIJ)V
flags: (0x0108) ACC_STATIC, ACC_NATIVE
Exceptions:
throws sun.nio.fs.UnixException
MethodParameters:
Name Flags
dst
src
addressToPollForCancel
private static boolean lambda$0(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
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 e Ljava/nio/file/Path;
Exceptions:
throws java.io.IOException
}
SourceFile: "UnixCopyFile.java"
NestMembers:
sun.nio.fs.UnixCopyFile$1 sun.nio.fs.UnixCopyFile$Flags
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Filter = java.nio.file.DirectoryStream$Filter of java.nio.file.DirectoryStream
sun.nio.fs.UnixCopyFile$1
private Flags = sun.nio.fs.UnixCopyFile$Flags of sun.nio.fs.UnixCopyFile