class sun.nio.fs.WindowsFileCopy
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.nio.fs.WindowsFileCopy
super_class: java.lang.Object
{
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 Lsun/nio/fs/WindowsFileCopy;
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 sun.nio.fs.WindowsFileCopy.$assertionsDisabled:Z
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
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/fs/WindowsFileCopy;
static void copy(sun.nio.fs.WindowsPath, sun.nio.fs.WindowsPath, java.nio.file.CopyOption[]);
descriptor: (Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;[Ljava/nio/file/CopyOption;)V
flags: (0x0088) ACC_STATIC, ACC_VARARGS
Code:
stack=7, locals=18, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: iconst_1
istore 5
start local 5 3: iconst_0
istore 6
start local 6 4: aload 2
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 22
StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int int int top int int java.nio.file.CopyOption[]
StackMap stack:
5: aload 10
iload 8
aaload
astore 7
start local 7 6: aload 7
getstatic java.nio.file.StandardCopyOption.REPLACE_EXISTING:Ljava/nio/file/StandardCopyOption;
if_acmpne 9
7: iconst_1
istore 3
8: goto 21
9: StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int int int java.nio.file.CopyOption int int java.nio.file.CopyOption[]
StackMap stack:
aload 7
getstatic java.nio.file.LinkOption.NOFOLLOW_LINKS:Ljava/nio/file/LinkOption;
if_acmpne 12
10: iconst_0
istore 5
11: goto 21
12: StackMap locals:
StackMap stack:
aload 7
getstatic java.nio.file.StandardCopyOption.COPY_ATTRIBUTES:Ljava/nio/file/StandardCopyOption;
if_acmpne 15
13: iconst_1
istore 4
14: goto 21
15: StackMap locals:
StackMap stack:
aload 7
getstatic com.sun.nio.file.ExtendedCopyOption.INTERRUPTIBLE:Lcom/sun/nio/file/ExtendedCopyOption;
if_acmpne 18
16: iconst_1
istore 6
17: goto 21
18: StackMap locals:
StackMap stack:
aload 7
ifnonnull 20
19: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
20: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
ldc "Unsupported copy option"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 7 21: StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int int int top int int java.nio.file.CopyOption[]
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
22: iload 8
iload 9
if_icmplt 5
23: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 7
start local 7 24: aload 7
ifnull 27
25: aload 0
invokevirtual sun.nio.fs.WindowsPath.checkRead:()V
26: aload 1
invokevirtual sun.nio.fs.WindowsPath.checkWrite:()V
27: StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int int int java.lang.SecurityManager
StackMap stack:
aconst_null
astore 8
start local 8 28: aconst_null
astore 9
start local 9 29: lconst_0
lstore 10
start local 10 30: aload 0
iload 5
invokevirtual sun.nio.fs.WindowsPath.openForReadAttributeAccess:(Z)J
lstore 10
31: goto 34
StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int int int java.lang.SecurityManager sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsFileAttributes long
StackMap stack: sun.nio.fs.WindowsException
32: astore 12
start local 12 33: aload 12
aload 0
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
end local 12 34: StackMap locals:
StackMap stack:
lload 10
invokestatic sun.nio.fs.WindowsFileAttributes.readAttributes:(J)Lsun/nio/fs/WindowsFileAttributes;
astore 8
35: goto 38
StackMap locals:
StackMap stack: sun.nio.fs.WindowsException
36: astore 12
start local 12 37: aload 12
aload 0
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
end local 12 38: StackMap locals:
StackMap stack:
lconst_0
lstore 12
start local 12 39: aload 1
iconst_0
invokevirtual sun.nio.fs.WindowsPath.openForReadAttributeAccess:(Z)J
lstore 12
40: lload 12
invokestatic sun.nio.fs.WindowsFileAttributes.readAttributes:(J)Lsun/nio/fs/WindowsFileAttributes;
astore 9
41: aload 8
aload 9
invokestatic sun.nio.fs.WindowsFileAttributes.isSameFile:(Lsun/nio/fs/WindowsFileAttributes;Lsun/nio/fs/WindowsFileAttributes;)Z
ifeq 45
42: lload 12
invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
43: lload 10
invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
44: return
45: StackMap locals: long
StackMap stack:
iload 3
ifne 52
46: new java.nio.file.FileAlreadyExistsException
dup
47: aload 1
invokevirtual sun.nio.fs.WindowsPath.getPathForExceptionMessage:()Ljava/lang/String;
48: invokespecial java.nio.file.FileAlreadyExistsException.<init>:(Ljava/lang/String;)V
athrow
49: StackMap locals:
StackMap stack: java.lang.Throwable
astore 14
50: lload 12
invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
51: aload 14
athrow
52: StackMap locals:
StackMap stack:
lload 12
invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
53: goto 59
StackMap locals:
StackMap stack: sun.nio.fs.WindowsException
54: pop
end local 12 55: goto 59
StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int int int java.lang.SecurityManager sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsFileAttributes long
StackMap stack: java.lang.Throwable
56: astore 15
57: lload 10
invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
58: aload 15
athrow
59: StackMap locals:
StackMap stack:
lload 10
invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
60: aload 7
ifnull 62
aload 8
invokevirtual sun.nio.fs.WindowsFileAttributes.isSymbolicLink:()Z
ifeq 62
61: aload 7
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
62: StackMap locals:
StackMap stack:
aload 0
invokestatic sun.nio.fs.WindowsFileCopy.asWin32Path:(Lsun/nio/fs/WindowsPath;)Ljava/lang/String;
astore 12
start local 12 63: aload 1
invokestatic sun.nio.fs.WindowsFileCopy.asWin32Path:(Lsun/nio/fs/WindowsPath;)Ljava/lang/String;
astore 13
start local 13 64: aload 9
ifnull 78
65: aload 9
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
ifne 66
aload 9
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectoryLink:()Z
ifeq 68
66: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 13
invokestatic sun.nio.fs.WindowsNativeDispatcher.RemoveDirectory:(Ljava/lang/String;)V
67: goto 78
68: StackMap locals:
StackMap stack:
aload 13
invokestatic sun.nio.fs.WindowsNativeDispatcher.DeleteFile:(Ljava/lang/String;)V
69: goto 78
StackMap locals:
StackMap stack: sun.nio.fs.WindowsException
70: astore 14
start local 14 71: aload 9
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
ifeq 77
72: aload 14
invokevirtual sun.nio.fs.WindowsException.lastError:()I
sipush 145
if_icmpeq 74
73: aload 14
invokevirtual sun.nio.fs.WindowsException.lastError:()I
sipush 183
if_icmpne 77
74: StackMap locals: sun.nio.fs.WindowsException
StackMap stack:
new java.nio.file.DirectoryNotEmptyException
dup
75: aload 1
invokevirtual sun.nio.fs.WindowsPath.getPathForExceptionMessage:()Ljava/lang/String;
76: invokespecial java.nio.file.DirectoryNotEmptyException.<init>:(Ljava/lang/String;)V
athrow
77: StackMap locals:
StackMap stack:
aload 14
aload 1
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
end local 14 78: StackMap locals:
StackMap stack:
aload 8
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
ifne 101
aload 8
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectoryLink:()Z
ifne 101
79: aload 0
invokevirtual sun.nio.fs.WindowsPath.getFileSystem:()Lsun/nio/fs/WindowsFileSystem;
invokevirtual sun.nio.fs.WindowsFileSystem.supportsLinks:()Z
ifeq 81
iload 5
ifne 81
80: sipush 2048
goto 82
StackMap locals:
StackMap stack:
81: iconst_0
82: StackMap locals:
StackMap stack: int
istore 14
start local 14 83: iload 6
ifeq 92
84: new sun.nio.fs.WindowsFileCopy$1
dup
aload 12
aload 13
iload 14
aload 0
aload 1
invokespecial sun.nio.fs.WindowsFileCopy$1.<init>:(Ljava/lang/String;Ljava/lang/String;ILsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;)V
astore 15
start local 15 85: aload 15
invokestatic sun.nio.fs.Cancellable.runInterruptibly:(Lsun/nio/fs/Cancellable;)V
86: goto 96
StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int int int java.lang.SecurityManager sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsFileAttributes long java.lang.String java.lang.String int sun.nio.fs.Cancellable
StackMap stack: java.util.concurrent.ExecutionException
87: astore 16
start local 16 88: aload 16
invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
astore 17
start local 17 89: aload 17
instanceof java.io.IOException
ifeq 91
90: aload 17
checkcast java.io.IOException
athrow
91: StackMap locals: java.util.concurrent.ExecutionException java.lang.Throwable
StackMap stack:
new java.io.IOException
dup
aload 17
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 17 end local 16 end local 15 92: StackMap locals:
StackMap stack:
aload 12
aload 13
iload 14
lconst_0
invokestatic sun.nio.fs.WindowsNativeDispatcher.CopyFileEx:(Ljava/lang/String;Ljava/lang/String;IJ)V
93: goto 96
StackMap locals:
StackMap stack: sun.nio.fs.WindowsException
94: astore 15
start local 15 95: aload 15
aload 0
aload 1
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;)V
end local 15 96: StackMap locals:
StackMap stack:
iload 4
ifeq 100
97: aload 0
aload 1
iload 5
invokestatic sun.nio.fs.WindowsFileCopy.copySecurityAttributes:(Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;Z)V
98: goto 100
StackMap locals:
StackMap stack: java.io.IOException
99: pop
100: StackMap locals:
StackMap stack:
return
end local 14 101: StackMap locals:
StackMap stack:
aload 8
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
ifeq 104
102: aload 13
lconst_0
invokestatic sun.nio.fs.WindowsNativeDispatcher.CreateDirectory:(Ljava/lang/String;J)V
103: goto 113
104: StackMap locals:
StackMap stack:
aload 0
invokestatic sun.nio.fs.WindowsLinkSupport.readLink:(Lsun/nio/fs/WindowsPath;)Ljava/lang/String;
astore 14
start local 14 105: iconst_1
istore 15
start local 15 106: aload 13
107: aload 14
invokestatic sun.nio.fs.WindowsPath.addPrefixIfNeeded:(Ljava/lang/String;)Ljava/lang/String;
108: iload 15
109: invokestatic sun.nio.fs.WindowsNativeDispatcher.CreateSymbolicLink:(Ljava/lang/String;Ljava/lang/String;I)V
end local 15 end local 14 110: goto 113
StackMap locals:
StackMap stack: sun.nio.fs.WindowsException
111: astore 14
start local 14 112: aload 14
aload 1
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
end local 14 113: StackMap locals:
StackMap stack:
iload 4
ifeq 126
114: aload 1
iconst_0
invokestatic sun.nio.fs.WindowsFileAttributeViews.createDosView:(Lsun/nio/fs/WindowsPath;Z)Lsun/nio/fs/WindowsFileAttributeViews$Dos;
115: astore 14
start local 14 116: aload 14
aload 8
invokevirtual sun.nio.fs.WindowsFileAttributeViews$Dos.setAttributes:(Lsun/nio/fs/WindowsFileAttributes;)V
117: goto 123
StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int int int java.lang.SecurityManager sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsFileAttributes long java.lang.String java.lang.String sun.nio.fs.WindowsFileAttributeViews$Dos
StackMap stack: java.io.IOException
118: pop
119: aload 8
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
ifeq 123
120: aload 13
invokestatic sun.nio.fs.WindowsNativeDispatcher.RemoveDirectory:(Ljava/lang/String;)V
121: goto 123
StackMap locals:
StackMap stack: sun.nio.fs.WindowsException
122: pop
123: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 5
invokestatic sun.nio.fs.WindowsFileCopy.copySecurityAttributes:(Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;Z)V
124: goto 126
StackMap locals:
StackMap stack: java.io.IOException
125: pop
end local 14 126: StackMap locals:
StackMap stack:
return
end local 13 end local 12 end local 10 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 127 0 source Lsun/nio/fs/WindowsPath;
0 127 1 target Lsun/nio/fs/WindowsPath;
0 127 2 options [Ljava/nio/file/CopyOption;
1 127 3 replaceExisting Z
2 127 4 copyAttributes Z
3 127 5 followLinks Z
4 127 6 interruptible Z
6 21 7 option Ljava/nio/file/CopyOption;
24 127 7 sm Ljava/lang/SecurityManager;
28 127 8 sourceAttrs Lsun/nio/fs/WindowsFileAttributes;
29 127 9 targetAttrs Lsun/nio/fs/WindowsFileAttributes;
30 127 10 sourceHandle J
33 34 12 x Lsun/nio/fs/WindowsException;
37 38 12 x Lsun/nio/fs/WindowsException;
39 55 12 targetHandle J
63 127 12 sourcePath Ljava/lang/String;
64 127 13 targetPath Ljava/lang/String;
71 78 14 x Lsun/nio/fs/WindowsException;
83 101 14 flags I
85 92 15 copyTask Lsun/nio/fs/Cancellable;
88 92 16 e Ljava/util/concurrent/ExecutionException;
89 92 17 t Ljava/lang/Throwable;
95 96 15 x Lsun/nio/fs/WindowsException;
105 110 14 linkTarget Ljava/lang/String;
106 110 15 flags I
112 113 14 x Lsun/nio/fs/WindowsException;
116 126 14 view Lsun/nio/fs/WindowsFileAttributeViews$Dos;
Exception table:
from to target type
30 31 32 Class sun.nio.fs.WindowsException
34 35 36 Class sun.nio.fs.WindowsException
40 42 49 any
45 49 49 any
39 43 54 Class sun.nio.fs.WindowsException
45 53 54 Class sun.nio.fs.WindowsException
34 43 56 any
45 56 56 any
65 69 70 Class sun.nio.fs.WindowsException
85 86 87 Class java.util.concurrent.ExecutionException
92 93 94 Class sun.nio.fs.WindowsException
97 98 99 Class java.io.IOException
101 110 111 Class sun.nio.fs.WindowsException
116 117 118 Class java.io.IOException
120 121 122 Class sun.nio.fs.WindowsException
123 124 125 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
source final
target final
options
static void move(sun.nio.fs.WindowsPath, sun.nio.fs.WindowsPath, java.nio.file.CopyOption[]);
descriptor: (Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;[Ljava/nio/file/CopyOption;)V
flags: (0x0088) ACC_STATIC, ACC_VARARGS
Code:
stack=5, locals=16, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: aload 2
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 15
StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int top int int java.nio.file.CopyOption[]
StackMap stack:
3: aload 8
iload 6
aaload
astore 5
start local 5 4: aload 5
getstatic java.nio.file.StandardCopyOption.ATOMIC_MOVE:Ljava/nio/file/StandardCopyOption;
if_acmpne 7
5: iconst_1
istore 3
6: goto 14
7: StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int java.nio.file.CopyOption int int java.nio.file.CopyOption[]
StackMap stack:
aload 5
getstatic java.nio.file.StandardCopyOption.REPLACE_EXISTING:Ljava/nio/file/StandardCopyOption;
if_acmpne 10
8: iconst_1
istore 4
9: goto 14
10: StackMap locals:
StackMap stack:
aload 5
getstatic java.nio.file.LinkOption.NOFOLLOW_LINKS:Ljava/nio/file/LinkOption;
if_acmpne 12
11: goto 14
12: StackMap locals:
StackMap stack:
aload 5
ifnonnull 13
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
ldc "Unsupported copy option"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 5 14: StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int top int int java.nio.file.CopyOption[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
15: iload 6
iload 7
if_icmplt 3
16: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 5
start local 5 17: aload 5
ifnull 20
18: aload 0
invokevirtual sun.nio.fs.WindowsPath.checkWrite:()V
19: aload 1
invokevirtual sun.nio.fs.WindowsPath.checkWrite:()V
20: StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int java.lang.SecurityManager
StackMap stack:
aload 0
invokestatic sun.nio.fs.WindowsFileCopy.asWin32Path:(Lsun/nio/fs/WindowsPath;)Ljava/lang/String;
astore 6
start local 6 21: aload 1
invokestatic sun.nio.fs.WindowsFileCopy.asWin32Path:(Lsun/nio/fs/WindowsPath;)Ljava/lang/String;
astore 7
start local 7 22: iload 3
ifeq 34
23: aload 6
aload 7
iconst_1
invokestatic sun.nio.fs.WindowsNativeDispatcher.MoveFileEx:(Ljava/lang/String;Ljava/lang/String;I)V
24: goto 33
StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int java.lang.SecurityManager java.lang.String java.lang.String
StackMap stack: sun.nio.fs.WindowsException
25: astore 8
start local 8 26: aload 8
invokevirtual sun.nio.fs.WindowsException.lastError:()I
bipush 17
if_icmpne 32
27: new java.nio.file.AtomicMoveNotSupportedException
dup
28: aload 0
invokevirtual sun.nio.fs.WindowsPath.getPathForExceptionMessage:()Ljava/lang/String;
29: aload 1
invokevirtual sun.nio.fs.WindowsPath.getPathForExceptionMessage:()Ljava/lang/String;
30: aload 8
invokevirtual sun.nio.fs.WindowsException.errorString:()Ljava/lang/String;
31: invokespecial java.nio.file.AtomicMoveNotSupportedException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
athrow
32: StackMap locals: sun.nio.fs.WindowsException
StackMap stack:
aload 8
aload 0
aload 1
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;)V
end local 8 33: StackMap locals:
StackMap stack:
return
34: StackMap locals:
StackMap stack:
aconst_null
astore 8
start local 8 35: aconst_null
astore 9
start local 9 36: lconst_0
lstore 10
start local 10 37: aload 0
iconst_0
invokevirtual sun.nio.fs.WindowsPath.openForReadAttributeAccess:(Z)J
lstore 10
38: goto 41
StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int java.lang.SecurityManager java.lang.String java.lang.String sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsFileAttributes long
StackMap stack: sun.nio.fs.WindowsException
39: astore 12
start local 12 40: aload 12
aload 0
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
end local 12 41: StackMap locals:
StackMap stack:
lload 10
invokestatic sun.nio.fs.WindowsFileAttributes.readAttributes:(J)Lsun/nio/fs/WindowsFileAttributes;
astore 8
42: goto 45
StackMap locals:
StackMap stack: sun.nio.fs.WindowsException
43: astore 12
start local 12 44: aload 12
aload 0
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
end local 12 45: StackMap locals:
StackMap stack:
lconst_0
lstore 12
start local 12 46: aload 1
iconst_0
invokevirtual sun.nio.fs.WindowsPath.openForReadAttributeAccess:(Z)J
lstore 12
47: lload 12
invokestatic sun.nio.fs.WindowsFileAttributes.readAttributes:(J)Lsun/nio/fs/WindowsFileAttributes;
astore 9
48: aload 8
aload 9
invokestatic sun.nio.fs.WindowsFileAttributes.isSameFile:(Lsun/nio/fs/WindowsFileAttributes;Lsun/nio/fs/WindowsFileAttributes;)Z
ifeq 52
49: lload 12
invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
50: lload 10
invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
51: return
52: StackMap locals: long
StackMap stack:
iload 4
ifne 59
53: new java.nio.file.FileAlreadyExistsException
dup
54: aload 1
invokevirtual sun.nio.fs.WindowsPath.getPathForExceptionMessage:()Ljava/lang/String;
55: invokespecial java.nio.file.FileAlreadyExistsException.<init>:(Ljava/lang/String;)V
athrow
56: StackMap locals:
StackMap stack: java.lang.Throwable
astore 14
57: lload 12
invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
58: aload 14
athrow
59: StackMap locals:
StackMap stack:
lload 12
invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
60: goto 66
StackMap locals:
StackMap stack: sun.nio.fs.WindowsException
61: pop
end local 12 62: goto 66
StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int java.lang.SecurityManager java.lang.String java.lang.String sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsFileAttributes long
StackMap stack: java.lang.Throwable
63: astore 15
64: lload 10
invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
65: aload 15
athrow
66: StackMap locals:
StackMap stack:
lload 10
invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
67: aload 9
ifnull 81
68: aload 9
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
ifne 69
aload 9
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectoryLink:()Z
ifeq 71
69: StackMap locals:
StackMap stack:
aload 7
invokestatic sun.nio.fs.WindowsNativeDispatcher.RemoveDirectory:(Ljava/lang/String;)V
70: goto 81
71: StackMap locals:
StackMap stack:
aload 7
invokestatic sun.nio.fs.WindowsNativeDispatcher.DeleteFile:(Ljava/lang/String;)V
72: goto 81
StackMap locals:
StackMap stack: sun.nio.fs.WindowsException
73: astore 12
start local 12 74: aload 9
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
ifeq 80
75: aload 12
invokevirtual sun.nio.fs.WindowsException.lastError:()I
sipush 145
if_icmpeq 77
76: aload 12
invokevirtual sun.nio.fs.WindowsException.lastError:()I
sipush 183
if_icmpne 80
77: StackMap locals: sun.nio.fs.WindowsException
StackMap stack:
new java.nio.file.DirectoryNotEmptyException
dup
78: aload 1
invokevirtual sun.nio.fs.WindowsPath.getPathForExceptionMessage:()Ljava/lang/String;
79: invokespecial java.nio.file.DirectoryNotEmptyException.<init>:(Ljava/lang/String;)V
athrow
80: StackMap locals:
StackMap stack:
aload 12
aload 1
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
end local 12 81: StackMap locals:
StackMap stack:
aload 6
aload 7
iconst_0
invokestatic sun.nio.fs.WindowsNativeDispatcher.MoveFileEx:(Ljava/lang/String;Ljava/lang/String;I)V
82: return
83: StackMap locals:
StackMap stack: sun.nio.fs.WindowsException
astore 12
start local 12 84: aload 12
invokevirtual sun.nio.fs.WindowsException.lastError:()I
bipush 17
if_icmpeq 86
85: aload 12
aload 0
aload 1
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;)V
end local 12 86: StackMap locals:
StackMap stack:
aload 8
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
ifne 95
aload 8
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectoryLink:()Z
ifne 95
87: aload 6
aload 7
iconst_2
invokestatic sun.nio.fs.WindowsNativeDispatcher.MoveFileEx:(Ljava/lang/String;Ljava/lang/String;I)V
88: goto 91
StackMap locals:
StackMap stack: sun.nio.fs.WindowsException
89: astore 12
start local 12 90: aload 12
aload 0
aload 1
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;)V
end local 12 91: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
invokestatic sun.nio.fs.WindowsFileCopy.copySecurityAttributes:(Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;Z)V
92: goto 94
StackMap locals:
StackMap stack: java.io.IOException
93: pop
94: StackMap locals:
StackMap stack:
return
95: StackMap locals:
StackMap stack:
getstatic sun.nio.fs.WindowsFileCopy.$assertionsDisabled:Z
ifne 96
aload 8
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
ifne 96
aload 8
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectoryLink:()Z
ifne 96
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
96: StackMap locals:
StackMap stack:
aload 8
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
ifeq 99
97: aload 7
lconst_0
invokestatic sun.nio.fs.WindowsNativeDispatcher.CreateDirectory:(Ljava/lang/String;J)V
98: goto 107
99: StackMap locals:
StackMap stack:
aload 0
invokestatic sun.nio.fs.WindowsLinkSupport.readLink:(Lsun/nio/fs/WindowsPath;)Ljava/lang/String;
astore 12
start local 12 100: aload 7
101: aload 12
invokestatic sun.nio.fs.WindowsPath.addPrefixIfNeeded:(Ljava/lang/String;)Ljava/lang/String;
102: iconst_1
103: invokestatic sun.nio.fs.WindowsNativeDispatcher.CreateSymbolicLink:(Ljava/lang/String;Ljava/lang/String;I)V
end local 12 104: goto 107
StackMap locals:
StackMap stack: sun.nio.fs.WindowsException
105: astore 12
start local 12 106: aload 12
aload 1
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
end local 12 107: StackMap locals:
StackMap stack:
aload 1
iconst_0
invokestatic sun.nio.fs.WindowsFileAttributeViews.createDosView:(Lsun/nio/fs/WindowsPath;Z)Lsun/nio/fs/WindowsFileAttributeViews$Dos;
108: astore 12
start local 12 109: aload 12
aload 8
invokevirtual sun.nio.fs.WindowsFileAttributeViews$Dos.setAttributes:(Lsun/nio/fs/WindowsFileAttributes;)V
110: goto 116
StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int java.lang.SecurityManager java.lang.String java.lang.String sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsFileAttributes long sun.nio.fs.WindowsFileAttributeViews$Dos
StackMap stack: java.io.IOException
111: astore 13
start local 13 112: aload 7
invokestatic sun.nio.fs.WindowsNativeDispatcher.RemoveDirectory:(Ljava/lang/String;)V
113: goto 115
StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int java.lang.SecurityManager java.lang.String java.lang.String sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsFileAttributes long sun.nio.fs.WindowsFileAttributeViews$Dos java.io.IOException
StackMap stack: sun.nio.fs.WindowsException
114: pop
115: StackMap locals:
StackMap stack:
aload 13
athrow
end local 13 116: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
invokestatic sun.nio.fs.WindowsFileCopy.copySecurityAttributes:(Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;Z)V
117: goto 119
StackMap locals:
StackMap stack: java.io.IOException
118: pop
119: StackMap locals:
StackMap stack:
aload 6
invokestatic sun.nio.fs.WindowsNativeDispatcher.RemoveDirectory:(Ljava/lang/String;)V
120: goto 131
StackMap locals:
StackMap stack: sun.nio.fs.WindowsException
121: astore 13
start local 13 122: aload 7
invokestatic sun.nio.fs.WindowsNativeDispatcher.RemoveDirectory:(Ljava/lang/String;)V
123: goto 125
StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int java.lang.SecurityManager java.lang.String java.lang.String sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsFileAttributes long sun.nio.fs.WindowsFileAttributeViews$Dos sun.nio.fs.WindowsException
StackMap stack: sun.nio.fs.WindowsException
124: pop
125: StackMap locals:
StackMap stack:
aload 13
invokevirtual sun.nio.fs.WindowsException.lastError:()I
sipush 145
if_icmpeq 127
126: aload 13
invokevirtual sun.nio.fs.WindowsException.lastError:()I
sipush 183
if_icmpne 130
127: StackMap locals:
StackMap stack:
new java.nio.file.DirectoryNotEmptyException
dup
128: aload 1
invokevirtual sun.nio.fs.WindowsPath.getPathForExceptionMessage:()Ljava/lang/String;
129: invokespecial java.nio.file.DirectoryNotEmptyException.<init>:(Ljava/lang/String;)V
athrow
130: StackMap locals:
StackMap stack:
aload 13
aload 0
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
end local 13 131: StackMap locals:
StackMap stack:
return
end local 12 end local 10 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 132 0 source Lsun/nio/fs/WindowsPath;
0 132 1 target Lsun/nio/fs/WindowsPath;
0 132 2 options [Ljava/nio/file/CopyOption;
1 132 3 atomicMove Z
2 132 4 replaceExisting Z
4 14 5 option Ljava/nio/file/CopyOption;
17 132 5 sm Ljava/lang/SecurityManager;
21 132 6 sourcePath Ljava/lang/String;
22 132 7 targetPath Ljava/lang/String;
26 33 8 x Lsun/nio/fs/WindowsException;
35 132 8 sourceAttrs Lsun/nio/fs/WindowsFileAttributes;
36 132 9 targetAttrs Lsun/nio/fs/WindowsFileAttributes;
37 132 10 sourceHandle J
40 41 12 x Lsun/nio/fs/WindowsException;
44 45 12 x Lsun/nio/fs/WindowsException;
46 62 12 targetHandle J
74 81 12 x Lsun/nio/fs/WindowsException;
84 86 12 x Lsun/nio/fs/WindowsException;
90 91 12 x Lsun/nio/fs/WindowsException;
100 104 12 linkTarget Ljava/lang/String;
106 107 12 x Lsun/nio/fs/WindowsException;
109 132 12 view Lsun/nio/fs/WindowsFileAttributeViews$Dos;
112 116 13 x Ljava/io/IOException;
122 131 13 x Lsun/nio/fs/WindowsException;
Exception table:
from to target type
23 24 25 Class sun.nio.fs.WindowsException
37 38 39 Class sun.nio.fs.WindowsException
41 42 43 Class sun.nio.fs.WindowsException
47 49 56 any
52 56 56 any
46 50 61 Class sun.nio.fs.WindowsException
52 60 61 Class sun.nio.fs.WindowsException
41 50 63 any
52 63 63 any
68 72 73 Class sun.nio.fs.WindowsException
81 82 83 Class sun.nio.fs.WindowsException
87 88 89 Class sun.nio.fs.WindowsException
91 92 93 Class java.io.IOException
96 104 105 Class sun.nio.fs.WindowsException
109 110 111 Class java.io.IOException
112 113 114 Class sun.nio.fs.WindowsException
116 117 118 Class java.io.IOException
119 120 121 Class sun.nio.fs.WindowsException
122 123 124 Class sun.nio.fs.WindowsException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
source
target
options
private static java.lang.String asWin32Path(sun.nio.fs.WindowsPath);
descriptor: (Lsun/nio/fs/WindowsPath;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.nio.fs.WindowsPath.getPathForWin32Calls:()Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: sun.nio.fs.WindowsException
astore 1
start local 1 3: aload 1
aload 0
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
4: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 path Lsun/nio/fs/WindowsPath;
3 5 1 x Lsun/nio/fs/WindowsException;
Exception table:
from to target type
0 1 2 Class sun.nio.fs.WindowsException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
path
private static void copySecurityAttributes(sun.nio.fs.WindowsPath, sun.nio.fs.WindowsPath, boolean);
descriptor: (Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 2
invokestatic sun.nio.fs.WindowsLinkSupport.getFinalPath:(Lsun/nio/fs/WindowsPath;Z)Ljava/lang/String;
astore 3
start local 3 1: ldc "SeRestorePrivilege"
invokestatic sun.nio.fs.WindowsSecurity.enablePrivilege:(Ljava/lang/String;)Lsun/nio/fs/WindowsSecurity$Privilege;
2: astore 4
start local 4 3: bipush 7
istore 5
start local 5 4: aload 3
iload 5
invokestatic sun.nio.fs.WindowsAclFileAttributeView.getFileSecurity:(Ljava/lang/String;I)Lsun/nio/fs/NativeBuffer;
5: astore 6
start local 6 6: aload 1
invokevirtual sun.nio.fs.WindowsPath.getPathForWin32Calls:()Ljava/lang/String;
iload 5
7: aload 6
invokevirtual sun.nio.fs.NativeBuffer.address:()J
8: invokestatic sun.nio.fs.WindowsNativeDispatcher.SetFileSecurity:(Ljava/lang/String;IJ)V
9: goto 16
StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath int java.lang.String sun.nio.fs.WindowsSecurity$Privilege int sun.nio.fs.NativeBuffer
StackMap stack: sun.nio.fs.WindowsException
10: astore 7
start local 7 11: aload 7
aload 1
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
end local 7 12: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 8
14: aload 6
invokevirtual sun.nio.fs.NativeBuffer.release:()V
15: aload 8
athrow
16: StackMap locals:
StackMap stack:
aload 6
invokevirtual sun.nio.fs.NativeBuffer.release:()V
end local 6 end local 5 17: goto 21
StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath int java.lang.String sun.nio.fs.WindowsSecurity$Privilege
StackMap stack: java.lang.Throwable
18: astore 9
19: aload 4
invokeinterface sun.nio.fs.WindowsSecurity$Privilege.drop:()V
20: aload 9
athrow
21: StackMap locals:
StackMap stack:
aload 4
invokeinterface sun.nio.fs.WindowsSecurity$Privilege.drop:()V
22: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 source Lsun/nio/fs/WindowsPath;
0 23 1 target Lsun/nio/fs/WindowsPath;
0 23 2 followLinks Z
1 23 3 path Ljava/lang/String;
3 23 4 priv Lsun/nio/fs/WindowsSecurity$Privilege;
4 17 5 request I
6 17 6 buffer Lsun/nio/fs/NativeBuffer;
11 12 7 x Lsun/nio/fs/WindowsException;
Exception table:
from to target type
6 9 10 Class sun.nio.fs.WindowsException
6 13 13 any
3 18 18 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
source
target
followLinks
}
SourceFile: "WindowsFileCopy.java"
NestMembers:
sun.nio.fs.WindowsFileCopy$1
InnerClasses:
Dos = sun.nio.fs.WindowsFileAttributeViews$Dos of sun.nio.fs.WindowsFileAttributeViews
sun.nio.fs.WindowsFileCopy$1
abstract Privilege = sun.nio.fs.WindowsSecurity$Privilege of sun.nio.fs.WindowsSecurity