class java.nio.file.CopyMoveHelper
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.nio.file.CopyMoveHelper
super_class: java.lang.Object
{
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 Ljava/nio/file/CopyMoveHelper;
private static java.nio.file.CopyOption[] convertMoveToCopyOptions(java.nio.file.CopyOption[]);
descriptor: ([Ljava/nio/file/CopyOption;)[Ljava/nio/file/CopyOption;
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
arraylength
istore 1
start local 1 1: iload 1
iconst_2
iadd
anewarray java.nio.file.CopyOption
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 11
4: StackMap locals: int java.nio.file.CopyOption[] int
StackMap stack:
aload 0
iload 3
aaload
astore 4
start local 4 5: aload 4
getstatic java.nio.file.StandardCopyOption.ATOMIC_MOVE:Ljava/nio/file/StandardCopyOption;
if_acmpne 9
6: new java.nio.file.AtomicMoveNotSupportedException
dup
aconst_null
aconst_null
7: ldc "Atomic move between providers is not supported"
8: invokespecial java.nio.file.AtomicMoveNotSupportedException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
athrow
9: StackMap locals: java.nio.file.CopyOption
StackMap stack:
aload 2
iload 3
aload 4
aastore
end local 4 10: iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
iload 1
if_icmplt 4
end local 3 12: aload 2
iload 1
getstatic java.nio.file.LinkOption.NOFOLLOW_LINKS:Ljava/nio/file/LinkOption;
aastore
13: aload 2
iload 1
iconst_1
iadd
getstatic java.nio.file.StandardCopyOption.COPY_ATTRIBUTES:Ljava/nio/file/StandardCopyOption;
aastore
14: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 options [Ljava/nio/file/CopyOption;
1 15 1 len I
2 15 2 newOptions [Ljava/nio/file/CopyOption;
3 12 3 i I
5 10 4 option Ljava/nio/file/CopyOption;
Exceptions:
throws java.nio.file.AtomicMoveNotSupportedException
MethodParameters:
Name Flags
options
static void copyToForeignTarget(java.nio.file.Path, java.nio.file.Path, java.nio.file.CopyOption[]);
descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)V
flags: (0x0088) ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic java.nio.file.CopyMoveHelper$CopyOptions.parse:([Ljava/nio/file/CopyOption;)Ljava/nio/file/CopyMoveHelper$CopyOptions;
astore 3
start local 3 1: aload 3
getfield java.nio.file.CopyMoveHelper$CopyOptions.followLinks:Z
ifeq 2
iconst_0
anewarray java.nio.file.LinkOption
goto 3
2: StackMap locals: java.nio.file.CopyMoveHelper$CopyOptions
StackMap stack:
iconst_1
anewarray java.nio.file.LinkOption
dup
iconst_0
getstatic java.nio.file.LinkOption.NOFOLLOW_LINKS:Ljava/nio/file/LinkOption;
aastore
3: StackMap locals:
StackMap stack: java.nio.file.LinkOption[]
astore 4
start local 4 4: aload 0
5: ldc Ljava/nio/file/attribute/BasicFileAttributes;
6: aload 4
7: invokestatic java.nio.file.Files.readAttributes:(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/BasicFileAttributes;
astore 5
start local 5 8: aload 5
invokeinterface java.nio.file.attribute.BasicFileAttributes.isSymbolicLink:()Z
ifeq 10
9: new java.io.IOException
dup
ldc "Copying of symbolic links not supported"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: java.nio.file.LinkOption[] java.nio.file.attribute.BasicFileAttributes
StackMap stack:
aload 3
getfield java.nio.file.CopyMoveHelper$CopyOptions.replaceExisting:Z
ifeq 13
11: aload 1
invokestatic java.nio.file.Files.deleteIfExists:(Ljava/nio/file/Path;)Z
pop
12: goto 15
StackMap locals:
StackMap stack:
13: aload 1
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ifeq 15
14: new java.nio.file.FileAlreadyExistsException
dup
aload 1
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokespecial java.nio.file.FileAlreadyExistsException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.nio.file.attribute.BasicFileAttributes.isDirectory:()Z
ifeq 18
16: aload 1
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokestatic java.nio.file.Files.createDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
pop
17: goto 27
18: StackMap locals:
StackMap stack:
aconst_null
astore 6
aconst_null
astore 7
19: aload 0
iconst_0
anewarray java.nio.file.OpenOption
invokestatic java.nio.file.Files.newInputStream:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/InputStream;
astore 8
start local 8 20: aload 8
aload 1
iconst_0
anewarray java.nio.file.CopyOption
invokestatic java.nio.file.Files.copy:(Ljava/io/InputStream;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)J
pop2
21: aload 8
ifnull 27
aload 8
invokevirtual java.io.InputStream.close:()V
goto 27
StackMap locals: java.nio.file.Path java.nio.file.Path java.nio.file.CopyOption[] java.nio.file.CopyMoveHelper$CopyOptions java.nio.file.LinkOption[] java.nio.file.attribute.BasicFileAttributes java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
22: astore 6
aload 8
ifnull 23
aload 8
invokevirtual java.io.InputStream.close:()V
end local 8 StackMap locals:
StackMap stack:
23: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
24: astore 7
aload 6
ifnonnull 25
aload 7
astore 6
goto 26
StackMap locals:
StackMap stack:
25: aload 6
aload 7
if_acmpeq 26
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
26: aload 6
athrow
27: StackMap locals:
StackMap stack:
aload 3
getfield java.nio.file.CopyMoveHelper$CopyOptions.copyAttributes:Z
ifeq 41
28: aload 1
ldc Ljava/nio/file/attribute/BasicFileAttributeView;
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.BasicFileAttributeView
29: astore 6
start local 6 30: aload 6
aload 5
invokeinterface java.nio.file.attribute.BasicFileAttributes.lastModifiedTime:()Ljava/nio/file/attribute/FileTime;
31: aload 5
invokeinterface java.nio.file.attribute.BasicFileAttributes.lastAccessTime:()Ljava/nio/file/attribute/FileTime;
32: aload 5
invokeinterface java.nio.file.attribute.BasicFileAttributes.creationTime:()Ljava/nio/file/attribute/FileTime;
33: invokeinterface java.nio.file.attribute.BasicFileAttributeView.setTimes:(Ljava/nio/file/attribute/FileTime;Ljava/nio/file/attribute/FileTime;Ljava/nio/file/attribute/FileTime;)V
34: goto 41
StackMap locals: java.nio.file.Path java.nio.file.Path java.nio.file.CopyOption[] java.nio.file.CopyMoveHelper$CopyOptions java.nio.file.LinkOption[] java.nio.file.attribute.BasicFileAttributes java.nio.file.attribute.BasicFileAttributeView
StackMap stack: java.lang.Throwable
35: astore 7
start local 7 36: aload 1
invokestatic java.nio.file.Files.delete:(Ljava/nio/file/Path;)V
37: goto 40
StackMap locals: java.nio.file.Path java.nio.file.Path java.nio.file.CopyOption[] java.nio.file.CopyMoveHelper$CopyOptions java.nio.file.LinkOption[] java.nio.file.attribute.BasicFileAttributes java.nio.file.attribute.BasicFileAttributeView java.lang.Throwable
StackMap stack: java.lang.Throwable
38: astore 8
start local 8 39: aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
end local 8 40: StackMap locals:
StackMap stack:
aload 7
athrow
end local 7 end local 6 41: 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 42 0 source Ljava/nio/file/Path;
0 42 1 target Ljava/nio/file/Path;
0 42 2 options [Ljava/nio/file/CopyOption;
1 42 3 opts Ljava/nio/file/CopyMoveHelper$CopyOptions;
4 42 4 linkOptions [Ljava/nio/file/LinkOption;
8 42 5 attrs Ljava/nio/file/attribute/BasicFileAttributes;
20 23 8 in Ljava/io/InputStream;
30 41 6 view Ljava/nio/file/attribute/BasicFileAttributeView;
36 41 7 x Ljava/lang/Throwable;
39 40 8 suppressed Ljava/lang/Throwable;
Exception table:
from to target type
20 21 22 any
19 24 24 any
30 34 35 Class java.lang.Throwable
36 37 38 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
source
target
options
static void moveToForeignTarget(java.nio.file.Path, java.nio.file.Path, java.nio.file.CopyOption[]);
descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)V
flags: (0x0088) ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic java.nio.file.CopyMoveHelper.convertMoveToCopyOptions:([Ljava/nio/file/CopyOption;)[Ljava/nio/file/CopyOption;
invokestatic java.nio.file.CopyMoveHelper.copyToForeignTarget:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)V
1: aload 0
invokestatic java.nio.file.Files.delete:(Ljava/nio/file/Path;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 source Ljava/nio/file/Path;
0 3 1 target Ljava/nio/file/Path;
0 3 2 options [Ljava/nio/file/CopyOption;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
source
target
options
}
SourceFile: "CopyMoveHelper.java"
NestMembers:
java.nio.file.CopyMoveHelper$CopyOptions
InnerClasses:
private CopyOptions = java.nio.file.CopyMoveHelper$CopyOptions of java.nio.file.CopyMoveHelper