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=2, locals=0, args_size=0
         0: .line 607
            new sun.nio.fs.UnixCopyFile$1
            dup
            invokespecial sun.nio.fs.UnixCopyFile$1.<init>:()V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         1: .line 613
            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 // sun.nio.fs.UnixCopyFile this
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.nio.fs.UnixCopyFile this
      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=6, locals=9, args_size=4
        start local 0 // sun.nio.fs.UnixPath source
        start local 1 // sun.nio.fs.UnixFileAttributes attrs
        start local 2 // sun.nio.fs.UnixPath target
        start local 3 // sun.nio.fs.UnixCopyFile$Flags flags
         0: .line 134
            aload 2 /* target */
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.mode:()I
            invokestatic sun.nio.fs.UnixNativeDispatcher.mkdir:(Lsun/nio/fs/UnixPath;I)V
         1: .line 135
            goto 4
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
         2: astore 4 /* x */
        start local 4 // sun.nio.fs.UnixException x
         3: .line 136
            aload 4 /* x */
            aload 2 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 4 // sun.nio.fs.UnixException x
         4: .line 140
      StackMap locals:
      StackMap stack:
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyBasicAttributes:Z
            ifne 7
         5: .line 141
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyPosixAttributes:Z
            ifne 7
         6: .line 142
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyNonPosixAttributes:Z
            ifne 7
            return
         7: .line 146
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 4 /* dfd */
        start local 4 // int dfd
         8: .line 148
            aload 2 /* target */
            iconst_0
            iconst_0
            invokestatic sun.nio.fs.UnixNativeDispatcher.open:(Lsun/nio/fs/UnixPath;II)I
            istore 4 /* dfd */
         9: .line 149
            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 /* x */
        start local 5 // sun.nio.fs.UnixException x
        11: .line 151
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyNonPosixAttributes:Z
            ifeq 16
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyNonPosix:Z
            ifeq 16
        12: .line 152
            aload 2 /* target */
            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: .line 153
      StackMap locals:
      StackMap stack:
            aload 5 /* x */
            aload 2 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 5 // sun.nio.fs.UnixException x
        16: .line 157
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* done */
        start local 5 // boolean done
        17: .line 160
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyPosixAttributes:Z
            ifeq 28
        18: .line 162
            iload 4 /* dfd */
            iflt 22
        19: .line 163
            iload 4 /* dfd */
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.uid:()I
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.gid:()I
            invokestatic sun.nio.fs.UnixNativeDispatcher.fchown:(III)V
        20: .line 164
            iload 4 /* dfd */
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.mode:()I
            invokestatic sun.nio.fs.UnixNativeDispatcher.fchmod:(II)V
        21: .line 165
            goto 28
        22: .line 166
      StackMap locals: int
      StackMap stack:
            aload 2 /* target */
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.uid:()I
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.gid:()I
            invokestatic sun.nio.fs.UnixNativeDispatcher.chown:(Lsun/nio/fs/UnixPath;II)V
        23: .line 167
            aload 2 /* target */
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.mode:()I
            invokestatic sun.nio.fs.UnixNativeDispatcher.chmod:(Lsun/nio/fs/UnixPath;I)V
        24: .line 169
            goto 28
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        25: astore 6 /* x */
        start local 6 // sun.nio.fs.UnixException x
        26: .line 171
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyPosix:Z
            ifeq 28
        27: .line 172
            aload 6 /* x */
            aload 2 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 6 // sun.nio.fs.UnixException x
        28: .line 176
      StackMap locals:
      StackMap stack:
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyNonPosixAttributes:Z
            ifeq 38
            iload 4 /* dfd */
            iflt 38
        29: .line 177
            iconst_m1
            istore 6 /* sfd */
        start local 6 // int sfd
        30: .line 179
            aload 0 /* source */
            iconst_0
            iconst_0
            invokestatic sun.nio.fs.UnixNativeDispatcher.open:(Lsun/nio/fs/UnixPath;II)I
            istore 6 /* sfd */
        31: .line 180
            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 /* x */
        start local 7 // sun.nio.fs.UnixException x
        33: .line 181
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyNonPosix:Z
            ifeq 35
        34: .line 182
            aload 7 /* x */
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 7 // sun.nio.fs.UnixException x
        35: .line 184
      StackMap locals:
      StackMap stack:
            iload 6 /* sfd */
            iflt 38
        36: .line 185
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixPath.getFileSystem:()Lsun/nio/fs/UnixFileSystem;
            iload 6 /* sfd */
            iload 4 /* dfd */
            invokevirtual sun.nio.fs.UnixFileSystem.copyNonPosixAttributes:(II)V
        37: .line 186
            iload 6 /* sfd */
            invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
        end local 6 // int sfd
        38: .line 190
      StackMap locals:
      StackMap stack:
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyBasicAttributes:Z
            ifeq 54
        39: .line 192
            iload 4 /* dfd */
            iflt 46
        40: .line 194
            iload 4 /* dfd */
        41: .line 195
            aload 1 /* attrs */
            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: .line 196
            aload 1 /* attrs */
            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: .line 197
            aload 2 /* target */
        44: .line 194
            invokestatic sun.nio.fs.UnixNativeDispatcher.futimes:(IJJLsun/nio/fs/UnixPath;)V
        45: .line 198
            goto 54
        46: .line 199
      StackMap locals:
      StackMap stack:
            aload 2 /* target */
        47: .line 200
            aload 1 /* attrs */
            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
        48: .line 201
            aload 1 /* attrs */
            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
        49: .line 199
            invokestatic sun.nio.fs.UnixNativeDispatcher.utimes:(Lsun/nio/fs/UnixPath;JJ)V
        50: .line 203
            goto 54
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        51: astore 6 /* x */
        start local 6 // sun.nio.fs.UnixException x
        52: .line 205
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyBasic:Z
            ifeq 54
        53: .line 206
            aload 6 /* x */
            aload 2 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 6 // sun.nio.fs.UnixException x
        54: .line 209
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* done */
        55: .line 210
            goto 64
      StackMap locals:
      StackMap stack: java.lang.Throwable
        56: astore 8
        57: .line 211
            iload 4 /* dfd */
            iflt 59
        58: .line 212
            iload 4 /* dfd */
            invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
        59: .line 213
      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 /* done */
            ifne 63
        60: .line 215
            aload 2 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
        61: goto 63
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        62: pop
        63: .line 217
      StackMap locals:
      StackMap stack:
            aload 8
            athrow
        64: .line 211
      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 /* dfd */
            iflt 66
        65: .line 212
            iload 4 /* dfd */
            invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
        66: .line 213
      StackMap locals:
      StackMap stack:
            iload 5 /* done */
            ifne 70
        67: .line 215
            aload 2 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
        68: goto 70
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        69: pop
        70: .line 218
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean done
        end local 4 // int dfd
        end local 3 // sun.nio.fs.UnixCopyFile$Flags flags
        end local 2 // sun.nio.fs.UnixPath target
        end local 1 // sun.nio.fs.UnixFileAttributes attrs
        end local 0 // sun.nio.fs.UnixPath source
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   71     0  source  Lsun/nio/fs/UnixPath;
            0   71     1   attrs  Lsun/nio/fs/UnixFileAttributes;
            0   71     2  target  Lsun/nio/fs/UnixPath;
            0   71     3   flags  Lsun/nio/fs/UnixCopyFile$Flags;
            3    4     4       x  Lsun/nio/fs/UnixException;
            8   71     4     dfd  I
           11   16     5       x  Lsun/nio/fs/UnixException;
           17   71     5    done  Z
           26   28     6       x  Lsun/nio/fs/UnixException;
           30   38     6     sfd  I
           33   35     7       x  Lsun/nio/fs/UnixException;
           52   54     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    50      51  Class sun.nio.fs.UnixException
          17    56      56  any
          60    61      62  Class sun.nio.fs.UnixException
          67    68      69  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=6, locals=12, args_size=5
        start local 0 // sun.nio.fs.UnixPath source
        start local 1 // sun.nio.fs.UnixFileAttributes attrs
        start local 2 // sun.nio.fs.UnixPath target
        start local 3 // sun.nio.fs.UnixCopyFile$Flags flags
        start local 4 // long addressToPollForCancel
         0: .line 228
            iconst_m1
            istore 6 /* fi */
        start local 6 // int fi
         1: .line 230
            aload 0 /* source */
            iconst_0
            iconst_0
            invokestatic sun.nio.fs.UnixNativeDispatcher.open:(Lsun/nio/fs/UnixPath;II)I
            istore 6 /* fi */
         2: .line 231
            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 /* x */
        start local 7 // sun.nio.fs.UnixException x
         4: .line 232
            aload 7 /* x */
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 7 // sun.nio.fs.UnixException x
         5: .line 237
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 7 /* fo */
        start local 7 // int fo
         6: .line 239
            aload 2 /* target */
         7: .line 240
            sipush 193
         8: .line 243
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.mode:()I
         9: .line 239
            invokestatic sun.nio.fs.UnixNativeDispatcher.open:(Lsun/nio/fs/UnixPath;II)I
            istore 7 /* fo */
        10: .line 244
            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 /* x */
        start local 8 // sun.nio.fs.UnixException x
        12: .line 245
            aload 8 /* x */
            aload 2 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 8 // sun.nio.fs.UnixException x
        13: .line 249
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* complete */
        start local 8 // boolean complete
        14: .line 253
            iload 7 /* fo */
            iload 6 /* fi */
            lload 4 /* addressToPollForCancel */
            invokestatic sun.nio.fs.UnixCopyFile.transfer:(IIJ)V
        15: .line 254
            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 /* x */
        start local 9 // sun.nio.fs.UnixException x
        17: .line 255
            aload 9 /* x */
            aload 0 /* source */
            aload 2 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;)V
        end local 9 // sun.nio.fs.UnixException x
        18: .line 258
      StackMap locals:
      StackMap stack:
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyPosixAttributes:Z
            ifeq 25
        19: .line 260
            iload 7 /* fo */
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.uid:()I
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.gid:()I
            invokestatic sun.nio.fs.UnixNativeDispatcher.fchown:(III)V
        20: .line 261
            iload 7 /* fo */
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.mode:()I
            invokestatic sun.nio.fs.UnixNativeDispatcher.fchmod:(II)V
        21: .line 262
            goto 25
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        22: astore 9 /* x */
        start local 9 // sun.nio.fs.UnixException x
        23: .line 263
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyPosix:Z
            ifeq 25
        24: .line 264
            aload 9 /* x */
            aload 2 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 9 // sun.nio.fs.UnixException x
        25: .line 268
      StackMap locals:
      StackMap stack:
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyNonPosixAttributes:Z
            ifeq 27
        26: .line 269
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixPath.getFileSystem:()Lsun/nio/fs/UnixFileSystem;
            iload 6 /* fi */
            iload 7 /* fo */
            invokevirtual sun.nio.fs.UnixFileSystem.copyNonPosixAttributes:(II)V
        27: .line 272
      StackMap locals:
      StackMap stack:
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyBasicAttributes:Z
            ifeq 37
        28: .line 275
            iload 7 /* fo */
        29: .line 276
            aload 1 /* attrs */
            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
        30: .line 277
            aload 1 /* attrs */
            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
        31: .line 278
            aload 2 /* target */
        32: .line 275
            invokestatic sun.nio.fs.UnixNativeDispatcher.futimes:(IJJLsun/nio/fs/UnixPath;)V
        33: .line 279
            goto 37
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        34: astore 9 /* x */
        start local 9 // sun.nio.fs.UnixException x
        35: .line 280
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyBasic:Z
            ifeq 37
        36: .line 281
            aload 9 /* x */
            aload 2 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 9 // sun.nio.fs.UnixException x
        37: .line 284
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 8 /* complete */
        38: .line 285
            goto 46
      StackMap locals:
      StackMap stack: java.lang.Throwable
        39: astore 10
        40: .line 286
            iload 7 /* fo */
            invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
        41: .line 289
            iload 8 /* complete */
            ifne 45
        42: .line 291
            aload 2 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
        43: .line 292
            goto 45
      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
        44: pop
        45: .line 294
      StackMap locals:
      StackMap stack:
            aload 10
            athrow
        46: .line 286
      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 /* fo */
            invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
        47: .line 289
            iload 8 /* complete */
            ifne 55
        48: .line 291
            aload 2 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
        49: .line 292
            goto 55
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        50: pop
        end local 8 // boolean complete
        end local 7 // int fo
        51: .line 295
            goto 55
      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
        52: astore 11
        53: .line 296
            iload 6 /* fi */
            invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
        54: .line 297
            aload 11
            athrow
        55: .line 296
      StackMap locals:
      StackMap stack:
            iload 6 /* fi */
            invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
        56: .line 298
            return
        end local 6 // int fi
        end local 4 // long addressToPollForCancel
        end local 3 // sun.nio.fs.UnixCopyFile$Flags flags
        end local 2 // sun.nio.fs.UnixPath target
        end local 1 // sun.nio.fs.UnixFileAttributes attrs
        end local 0 // sun.nio.fs.UnixPath source
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   57     0                  source  Lsun/nio/fs/UnixPath;
            0   57     1                   attrs  Lsun/nio/fs/UnixFileAttributes;
            0   57     2                  target  Lsun/nio/fs/UnixPath;
            0   57     3                   flags  Lsun/nio/fs/UnixCopyFile$Flags;
            0   57     4  addressToPollForCancel  J
            1   57     6                      fi  I
            4    5     7                       x  Lsun/nio/fs/UnixException;
            6   51     7                      fo  I
           12   13     8                       x  Lsun/nio/fs/UnixException;
           14   51     8                complete  Z
           17   18     9                       x  Lsun/nio/fs/UnixException;
           23   25     9                       x  Lsun/nio/fs/UnixException;
           35   37     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    33      34  Class sun.nio.fs.UnixException
          14    39      39  any
          42    43      44  Class sun.nio.fs.UnixException
          48    49      50  Class sun.nio.fs.UnixException
           5    52      52  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 // sun.nio.fs.UnixPath source
        start local 1 // sun.nio.fs.UnixFileAttributes attrs
        start local 2 // sun.nio.fs.UnixPath target
        start local 3 // sun.nio.fs.UnixCopyFile$Flags flags
         0: .line 307
            aconst_null
            astore 4 /* linktarget */
        start local 4 // byte[] linktarget
         1: .line 309
            aload 0 /* source */
            invokestatic sun.nio.fs.UnixNativeDispatcher.readlink:(Lsun/nio/fs/UnixPath;)[B
            astore 4 /* linktarget */
         2: .line 310
            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 /* x */
        start local 5 // sun.nio.fs.UnixException x
         4: .line 311
            aload 5 /* x */
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 5 // sun.nio.fs.UnixException x
         5: .line 314
      StackMap locals:
      StackMap stack:
            aload 4 /* linktarget */
            aload 2 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.symlink:([BLsun/nio/fs/UnixPath;)V
         6: .line 316
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyPosixAttributes:Z
            ifeq 13
         7: .line 318
            aload 2 /* target */
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.uid:()I
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.gid:()I
            invokestatic sun.nio.fs.UnixNativeDispatcher.lchown:(Lsun/nio/fs/UnixPath;II)V
         8: .line 319
            goto 13
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
         9: pop
        10: .line 323
            goto 13
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        11: astore 5 /* x */
        start local 5 // sun.nio.fs.UnixException x
        12: .line 324
            aload 5 /* x */
            aload 2 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 5 // sun.nio.fs.UnixException x
        13: .line 326
      StackMap locals:
      StackMap stack:
            return
        end local 4 // byte[] linktarget
        end local 3 // sun.nio.fs.UnixCopyFile$Flags flags
        end local 2 // sun.nio.fs.UnixPath target
        end local 1 // sun.nio.fs.UnixFileAttributes attrs
        end local 0 // sun.nio.fs.UnixPath source
      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 // sun.nio.fs.UnixPath source
        start local 1 // sun.nio.fs.UnixFileAttributes attrs
        start local 2 // sun.nio.fs.UnixPath target
        start local 3 // sun.nio.fs.UnixCopyFile$Flags flags
         0: .line 336
            aload 2 /* target */
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.mode:()I
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.rdev:()J
            invokestatic sun.nio.fs.UnixNativeDispatcher.mknod:(Lsun/nio/fs/UnixPath;IJ)V
         1: .line 337
            goto 4
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
         2: astore 4 /* x */
        start local 4 // sun.nio.fs.UnixException x
         3: .line 338
            aload 4 /* x */
            aload 2 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 4 // sun.nio.fs.UnixException x
         4: .line 340
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* done */
        start local 4 // boolean done
         5: .line 342
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyPosixAttributes:Z
            ifeq 12
         6: .line 344
            aload 2 /* target */
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.uid:()I
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.gid:()I
            invokestatic sun.nio.fs.UnixNativeDispatcher.chown:(Lsun/nio/fs/UnixPath;II)V
         7: .line 345
            aload 2 /* target */
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.mode:()I
            invokestatic sun.nio.fs.UnixNativeDispatcher.chmod:(Lsun/nio/fs/UnixPath;I)V
         8: .line 346
            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 /* x */
        start local 5 // sun.nio.fs.UnixException x
        10: .line 347
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyPosix:Z
            ifeq 12
        11: .line 348
            aload 5 /* x */
            aload 2 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 5 // sun.nio.fs.UnixException x
        12: .line 351
      StackMap locals:
      StackMap stack:
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyBasicAttributes:Z
            ifeq 21
        13: .line 353
            aload 2 /* target */
        14: .line 354
            aload 1 /* attrs */
            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: .line 355
            aload 1 /* attrs */
            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: .line 353
            invokestatic sun.nio.fs.UnixNativeDispatcher.utimes:(Lsun/nio/fs/UnixPath;JJ)V
        17: .line 356
            goto 21
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        18: astore 5 /* x */
        start local 5 // sun.nio.fs.UnixException x
        19: .line 357
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyBasic:Z
            ifeq 21
        20: .line 358
            aload 5 /* x */
            aload 2 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 5 // sun.nio.fs.UnixException x
        21: .line 361
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* done */
        22: .line 362
            goto 29
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: astore 6
        24: .line 363
            iload 4 /* done */
            ifne 28
        25: .line 364
            aload 2 /* target */
            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: .line 366
      StackMap locals:
      StackMap stack:
            aload 6
            athrow
        29: .line 363
      StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags int
      StackMap stack:
            iload 4 /* done */
            ifne 33
        30: .line 364
            aload 2 /* target */
            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: .line 367
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean done
        end local 3 // sun.nio.fs.UnixCopyFile$Flags flags
        end local 2 // sun.nio.fs.UnixPath target
        end local 1 // sun.nio.fs.UnixFileAttributes attrs
        end local 0 // sun.nio.fs.UnixPath source
      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 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 // sun.nio.fs.UnixPath source
        start local 1 // sun.nio.fs.UnixPath target
        start local 2 // java.nio.file.CopyOption[] options
         0: .line 374
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* sm */
        start local 3 // java.lang.SecurityManager sm
         1: .line 375
            aload 3 /* sm */
            ifnull 4
         2: .line 376
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixPath.checkWrite:()V
         3: .line 377
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixPath.checkWrite:()V
         4: .line 381
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 2 /* options */
            invokestatic sun.nio.fs.UnixCopyFile$Flags.fromMoveOptions:([Ljava/nio/file/CopyOption;)Lsun/nio/fs/UnixCopyFile$Flags;
            astore 4 /* flags */
        start local 4 // sun.nio.fs.UnixCopyFile$Flags flags
         5: .line 384
            aload 4 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.atomicMove:Z
            ifeq 17
         6: .line 386
            aload 0 /* source */
            aload 1 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.rename:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;)V
         7: .line 387
            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 /* x */
        start local 5 // sun.nio.fs.UnixException x
         9: .line 388
            aload 5 /* x */
            invokevirtual sun.nio.fs.UnixException.errno:()I
            bipush 18
            if_icmpne 15
        10: .line 389
            new java.nio.file.AtomicMoveNotSupportedException
            dup
        11: .line 390
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
        12: .line 391
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
        13: .line 392
            aload 5 /* x */
            invokevirtual sun.nio.fs.UnixException.errorString:()Ljava/lang/String;
        14: .line 389
            invokespecial java.nio.file.AtomicMoveNotSupportedException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            athrow
        15: .line 394
      StackMap locals: sun.nio.fs.UnixException
      StackMap stack:
            aload 5 /* x */
            aload 0 /* source */
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;)V
        end local 5 // sun.nio.fs.UnixException x
        16: .line 396
      StackMap locals:
      StackMap stack:
            return
        17: .line 400
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* sourceAttrs */
        start local 5 // sun.nio.fs.UnixFileAttributes sourceAttrs
        18: .line 401
            aconst_null
            astore 6 /* targetAttrs */
        start local 6 // sun.nio.fs.UnixFileAttributes targetAttrs
        19: .line 405
            aload 0 /* source */
            iconst_0
            invokestatic sun.nio.fs.UnixFileAttributes.get:(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributes;
            astore 5 /* sourceAttrs */
        20: .line 406
            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 /* x */
        start local 7 // sun.nio.fs.UnixException x
        22: .line 407
            aload 7 /* x */
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 7 // sun.nio.fs.UnixException x
        23: .line 412
      StackMap locals:
      StackMap stack:
            aload 1 /* target */
            iconst_0
            invokestatic sun.nio.fs.UnixFileAttributes.get:(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributes;
            astore 6 /* targetAttrs */
        24: .line 413
            goto 26
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        25: pop
        26: .line 416
      StackMap locals:
      StackMap stack:
            aload 6 /* targetAttrs */
            ifnull 27
            iconst_1
            goto 28
      StackMap locals:
      StackMap stack:
        27: iconst_0
      StackMap locals:
      StackMap stack: int
        28: istore 7 /* targetExists */
        start local 7 // boolean targetExists
        29: .line 422
            iload 7 /* targetExists */
            ifeq 48
        30: .line 423
            aload 5 /* sourceAttrs */
            aload 6 /* targetAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isSameFile:(Lsun/nio/fs/UnixFileAttributes;)Z
            ifeq 32
        31: .line 424
            return
        32: .line 425
      StackMap locals: int
      StackMap stack:
            aload 4 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.replaceExisting:Z
            ifne 36
        33: .line 426
            new java.nio.file.FileAlreadyExistsException
            dup
        34: .line 427
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
        35: .line 426
            invokespecial java.nio.file.FileAlreadyExistsException.<init>:(Ljava/lang/String;)V
            athrow
        36: .line 432
      StackMap locals:
      StackMap stack:
            aload 6 /* targetAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 39
        37: .line 433
            aload 1 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
        38: .line 434
            goto 48
        39: .line 435
      StackMap locals:
      StackMap stack:
            aload 1 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
        40: .line 437
            goto 48
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        41: astore 8 /* x */
        start local 8 // sun.nio.fs.UnixException x
        42: .line 439
            aload 6 /* targetAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 47
        43: .line 440
            aload 8 /* x */
            invokevirtual sun.nio.fs.UnixException.errno:()I
            bipush 17
            if_icmpeq 44
            aload 8 /* x */
            invokevirtual sun.nio.fs.UnixException.errno:()I
            bipush 39
            if_icmpne 47
        44: .line 442
      StackMap locals: sun.nio.fs.UnixException
      StackMap stack:
            new java.nio.file.DirectoryNotEmptyException
            dup
        45: .line 443
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
        46: .line 442
            invokespecial java.nio.file.DirectoryNotEmptyException.<init>:(Ljava/lang/String;)V
            athrow
        47: .line 445
      StackMap locals:
      StackMap stack:
            aload 8 /* x */
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 8 // sun.nio.fs.UnixException x
        48: .line 451
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            aload 1 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.rename:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;)V
        49: .line 452
            return
        50: .line 453
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
            astore 8 /* x */
        start local 8 // sun.nio.fs.UnixException x
        51: .line 454
            aload 8 /* x */
            invokevirtual sun.nio.fs.UnixException.errno:()I
            bipush 18
            if_icmpeq 53
            aload 8 /* x */
            invokevirtual sun.nio.fs.UnixException.errno:()I
            bipush 21
            if_icmpeq 53
        52: .line 455
            aload 8 /* x */
            aload 0 /* source */
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;)V
        end local 8 // sun.nio.fs.UnixException x
        53: .line 460
      StackMap locals:
      StackMap stack:
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 56
        54: .line 461
            aload 0 /* source */
            aload 5 /* sourceAttrs */
            aload 1 /* target */
            aload 4 /* flags */
            invokestatic sun.nio.fs.UnixCopyFile.copyDirectory:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;)V
        55: .line 462
            goto 63
        56: .line 463
      StackMap locals:
      StackMap stack:
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isSymbolicLink:()Z
            ifeq 59
        57: .line 464
            aload 0 /* source */
            aload 5 /* sourceAttrs */
            aload 1 /* target */
            aload 4 /* flags */
            invokestatic sun.nio.fs.UnixCopyFile.copyLink:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;)V
        58: .line 465
            goto 63
        59: .line 466
      StackMap locals:
      StackMap stack:
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDevice:()Z
            ifeq 62
        60: .line 467
            aload 0 /* source */
            aload 5 /* sourceAttrs */
            aload 1 /* target */
            aload 4 /* flags */
            invokestatic sun.nio.fs.UnixCopyFile.copySpecial:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;)V
        61: .line 468
            goto 63
        62: .line 469
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            aload 5 /* sourceAttrs */
            aload 1 /* target */
            aload 4 /* flags */
            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
        63: .line 476
      StackMap locals:
      StackMap stack:
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 66
        64: .line 477
            aload 0 /* source */
            invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
        65: .line 478
            goto 81
        66: .line 479
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
        67: .line 481
            goto 81
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        68: astore 8 /* x */
        start local 8 // sun.nio.fs.UnixException x
        69: .line 485
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 72
        70: .line 486
            aload 1 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
        71: .line 487
            goto 75
        72: .line 488
      StackMap locals: sun.nio.fs.UnixException
      StackMap stack:
            aload 1 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
        73: .line 490
            goto 75
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        74: pop
        75: .line 492
      StackMap locals:
      StackMap stack:
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 80
        76: .line 493
            aload 8 /* x */
            invokevirtual sun.nio.fs.UnixException.errno:()I
            bipush 17
            if_icmpeq 77
            aload 8 /* x */
            invokevirtual sun.nio.fs.UnixException.errno:()I
            bipush 39
            if_icmpne 80
        77: .line 495
      StackMap locals:
      StackMap stack:
            new java.nio.file.DirectoryNotEmptyException
            dup
        78: .line 496
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
        79: .line 495
            invokespecial java.nio.file.DirectoryNotEmptyException.<init>:(Ljava/lang/String;)V
            athrow
        80: .line 498
      StackMap locals:
      StackMap stack:
            aload 8 /* x */
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 8 // sun.nio.fs.UnixException x
        81: .line 500
      StackMap locals:
      StackMap stack:
            return
        end local 7 // boolean targetExists
        end local 6 // sun.nio.fs.UnixFileAttributes targetAttrs
        end local 5 // sun.nio.fs.UnixFileAttributes sourceAttrs
        end local 4 // sun.nio.fs.UnixCopyFile$Flags flags
        end local 3 // java.lang.SecurityManager sm
        end local 2 // java.nio.file.CopyOption[] options
        end local 1 // sun.nio.fs.UnixPath target
        end local 0 // sun.nio.fs.UnixPath source
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   82     0        source  Lsun/nio/fs/UnixPath;
            0   82     1        target  Lsun/nio/fs/UnixPath;
            0   82     2       options  [Ljava/nio/file/CopyOption;
            1   82     3            sm  Ljava/lang/SecurityManager;
            5   82     4         flags  Lsun/nio/fs/UnixCopyFile$Flags;
            9   16     5             x  Lsun/nio/fs/UnixException;
           18   82     5   sourceAttrs  Lsun/nio/fs/UnixFileAttributes;
           19   82     6   targetAttrs  Lsun/nio/fs/UnixFileAttributes;
           22   23     7             x  Lsun/nio/fs/UnixException;
           29   82     7  targetExists  Z
           42   48     8             x  Lsun/nio/fs/UnixException;
           51   53     8             x  Lsun/nio/fs/UnixException;
           69   81     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
          63    67      68  Class sun.nio.fs.UnixException
          69    73      74  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 // sun.nio.fs.UnixPath source
        start local 1 // sun.nio.fs.UnixPath target
        start local 2 // java.nio.file.CopyOption[] options
         0: .line 508
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* sm */
        start local 3 // java.lang.SecurityManager sm
         1: .line 509
            aload 3 /* sm */
            ifnull 4
         2: .line 510
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixPath.checkRead:()V
         3: .line 511
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixPath.checkWrite:()V
         4: .line 515
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 2 /* options */
            invokestatic sun.nio.fs.UnixCopyFile$Flags.fromCopyOptions:([Ljava/nio/file/CopyOption;)Lsun/nio/fs/UnixCopyFile$Flags;
            astore 4 /* flags */
        start local 4 // sun.nio.fs.UnixCopyFile$Flags flags
         5: .line 517
            aconst_null
            astore 5 /* sourceAttrs */
        start local 5 // sun.nio.fs.UnixFileAttributes sourceAttrs
         6: .line 518
            aconst_null
            astore 6 /* targetAttrs */
        start local 6 // sun.nio.fs.UnixFileAttributes targetAttrs
         7: .line 522
            aload 0 /* source */
            aload 4 /* flags */
            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 /* sourceAttrs */
         8: .line 523
            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 /* x */
        start local 7 // sun.nio.fs.UnixException x
        10: .line 524
            aload 7 /* x */
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 7 // sun.nio.fs.UnixException x
        11: .line 528
      StackMap locals:
      StackMap stack:
            aload 3 /* sm */
            ifnull 13
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isSymbolicLink:()Z
            ifeq 13
        12: .line 529
            aload 3 /* sm */
            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: .line 534
      StackMap locals:
      StackMap stack:
            aload 1 /* target */
            iconst_0
            invokestatic sun.nio.fs.UnixFileAttributes.get:(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributes;
            astore 6 /* targetAttrs */
        14: .line 535
            goto 16
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        15: pop
        16: .line 538
      StackMap locals:
      StackMap stack:
            aload 6 /* targetAttrs */
            ifnull 17
            iconst_1
            goto 18
      StackMap locals:
      StackMap stack:
        17: iconst_0
      StackMap locals:
      StackMap stack: int
        18: istore 7 /* targetExists */
        start local 7 // boolean targetExists
        19: .line 544
            iload 7 /* targetExists */
            ifeq 38
        20: .line 545
            aload 5 /* sourceAttrs */
            aload 6 /* targetAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isSameFile:(Lsun/nio/fs/UnixFileAttributes;)Z
            ifeq 22
        21: .line 546
            return
        22: .line 547
      StackMap locals: int
      StackMap stack:
            aload 4 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.replaceExisting:Z
            ifne 26
        23: .line 548
            new java.nio.file.FileAlreadyExistsException
            dup
        24: .line 549
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
        25: .line 548
            invokespecial java.nio.file.FileAlreadyExistsException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 551
      StackMap locals:
      StackMap stack:
            aload 6 /* targetAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 29
        27: .line 552
            aload 1 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
        28: .line 553
            goto 38
        29: .line 554
      StackMap locals:
      StackMap stack:
            aload 1 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
        30: .line 556
            goto 38
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        31: astore 8 /* x */
        start local 8 // sun.nio.fs.UnixException x
        32: .line 558
            aload 6 /* targetAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 37
        33: .line 559
            aload 8 /* x */
            invokevirtual sun.nio.fs.UnixException.errno:()I
            bipush 17
            if_icmpeq 34
            aload 8 /* x */
            invokevirtual sun.nio.fs.UnixException.errno:()I
            bipush 39
            if_icmpne 37
        34: .line 561
      StackMap locals: sun.nio.fs.UnixException
      StackMap stack:
            new java.nio.file.DirectoryNotEmptyException
            dup
        35: .line 562
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
        36: .line 561
            invokespecial java.nio.file.DirectoryNotEmptyException.<init>:(Ljava/lang/String;)V
            athrow
        37: .line 564
      StackMap locals:
      StackMap stack:
            aload 8 /* x */
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 8 // sun.nio.fs.UnixException x
        38: .line 569
      StackMap locals:
      StackMap stack:
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 41
        39: .line 570
            aload 0 /* source */
            aload 5 /* sourceAttrs */
            aload 1 /* target */
            aload 4 /* flags */
            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: .line 571
            return
        41: .line 573
      StackMap locals:
      StackMap stack:
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isSymbolicLink:()Z
            ifeq 44
        42: .line 574
            aload 0 /* source */
            aload 5 /* sourceAttrs */
            aload 1 /* target */
            aload 4 /* flags */
            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: .line 575
            return
        44: .line 577
      StackMap locals:
      StackMap stack:
            aload 4 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.interruptible:Z
            ifne 47
        45: .line 579
            aload 0 /* source */
            aload 5 /* sourceAttrs */
            aload 1 /* target */
            aload 4 /* flags */
            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: .line 580
            return
        47: .line 584
      StackMap locals:
      StackMap stack:
            aload 5 /* sourceAttrs */
            astore 8 /* attrsToCopy */
        start local 8 // sun.nio.fs.UnixFileAttributes attrsToCopy
        48: .line 585
            new sun.nio.fs.UnixCopyFile$2
            dup
            aload 0 /* source */
            aload 8 /* attrsToCopy */
            aload 1 /* target */
            aload 4 /* flags */
            invokespecial sun.nio.fs.UnixCopyFile$2.<init>:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;)V
            astore 9 /* copyTask */
        start local 9 // sun.nio.fs.Cancellable copyTask
        49: .line 592
            aload 9 /* copyTask */
            invokestatic sun.nio.fs.Cancellable.runInterruptibly:(Lsun/nio/fs/Cancellable;)V
        50: .line 593
            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 /* e */
        start local 10 // java.util.concurrent.ExecutionException e
        52: .line 594
            aload 10 /* e */
            invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
            astore 11 /* t */
        start local 11 // java.lang.Throwable t
        53: .line 595
            aload 11 /* t */
            instanceof java.io.IOException
            ifeq 55
        54: .line 596
            aload 11 /* t */
            checkcast java.io.IOException
            athrow
        55: .line 597
      StackMap locals: java.util.concurrent.ExecutionException java.lang.Throwable
      StackMap stack:
            new java.io.IOException
            dup
            aload 11 /* t */
            invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 11 // java.lang.Throwable t
        end local 10 // java.util.concurrent.ExecutionException e
        56: .line 599
      StackMap locals:
      StackMap stack:
            return
        end local 9 // sun.nio.fs.Cancellable copyTask
        end local 8 // sun.nio.fs.UnixFileAttributes attrsToCopy
        end local 7 // boolean targetExists
        end local 6 // sun.nio.fs.UnixFileAttributes targetAttrs
        end local 5 // sun.nio.fs.UnixFileAttributes sourceAttrs
        end local 4 // sun.nio.fs.UnixCopyFile$Flags flags
        end local 3 // java.lang.SecurityManager sm
        end local 2 // java.nio.file.CopyOption[] options
        end local 1 // sun.nio.fs.UnixPath target
        end local 0 // sun.nio.fs.UnixPath source
      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  
}
SourceFile: "UnixCopyFile.java"
NestMembers:
  sun.nio.fs.UnixCopyFile$1  sun.nio.fs.UnixCopyFile$2  sun.nio.fs.UnixCopyFile$Flags
InnerClasses:
  sun.nio.fs.UnixCopyFile$1
  sun.nio.fs.UnixCopyFile$2
  private Flags = sun.nio.fs.UnixCopyFile$Flags of sun.nio.fs.UnixCopyFile