class sun.nio.fs.UnixSecureDirectoryStream implements java.nio.file.SecureDirectoryStream<java.nio.file.Path>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.nio.fs.UnixSecureDirectoryStream
super_class: java.lang.Object
{
private final sun.nio.fs.UnixDirectoryStream ds;
descriptor: Lsun/nio/fs/UnixDirectoryStream;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int dfd;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(sun.nio.fs.UnixPath, long, int, java.nio.file.DirectoryStream$Filter<? super java.nio.file.Path>);
descriptor: (Lsun/nio/fs/UnixPath;JILjava/nio/file/DirectoryStream$Filter;)V
flags: (0x0000)
Code:
stack=7, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new sun.nio.fs.UnixDirectoryStream
dup
aload 1
lload 2
aload 5
invokespecial sun.nio.fs.UnixDirectoryStream.<init>:(Lsun/nio/fs/UnixPath;JLjava/nio/file/DirectoryStream$Filter;)V
putfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
2: aload 0
iload 4
putfield sun.nio.fs.UnixSecureDirectoryStream.dfd:I
3: return
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/nio/fs/UnixSecureDirectoryStream;
0 4 1 dir Lsun/nio/fs/UnixPath;
0 4 2 dp J
0 4 4 dfd I
0 4 5 filter Ljava/nio/file/DirectoryStream$Filter<-Ljava/nio/file/Path;>;
Signature: (Lsun/nio/fs/UnixPath;JILjava/nio/file/DirectoryStream$Filter<-Ljava/nio/file/Path;>;)V
MethodParameters:
Name Flags
dir
dp
dfd
filter
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.writeLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.closeImpl:()Z
ifeq 7
2: aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.dfd:I
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
3: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 1
5: aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.writeLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
6: aload 1
athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.writeLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/nio/fs/UnixSecureDirectoryStream;
Exception table:
from to target type
1 4 4 any
Exceptions:
throws java.io.IOException
public java.util.Iterator<java.nio.file.Path> iterator();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
aload 0
invokevirtual sun.nio.fs.UnixDirectoryStream.iterator:(Ljava/nio/file/DirectoryStream;)Ljava/util/Iterator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/fs/UnixSecureDirectoryStream;
Signature: ()Ljava/util/Iterator<Ljava/nio/file/Path;>;
private sun.nio.fs.UnixPath getName(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
instanceof sun.nio.fs.UnixPath
ifne 4
3: new java.nio.file.ProviderMismatchException
dup
invokespecial java.nio.file.ProviderMismatchException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 1
checkcast sun.nio.fs.UnixPath
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/nio/fs/UnixSecureDirectoryStream;
0 5 1 obj Ljava/nio/file/Path;
MethodParameters:
Name Flags
obj
public java.nio.file.SecureDirectoryStream<java.nio.file.Path> newDirectoryStream(java.nio.file.Path, java.nio.file.LinkOption[]);
descriptor: (Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Ljava/nio/file/SecureDirectoryStream;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=7, locals=14, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual sun.nio.fs.UnixSecureDirectoryStream.getName:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
astore 3
start local 3 1: aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.directory:()Lsun/nio/fs/UnixPath;
aload 3
invokevirtual sun.nio.fs.UnixPath.resolve:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
astore 4
start local 4 2: aload 2
invokestatic sun.nio.fs.Util.followLinks:([Ljava/nio/file/LinkOption;)Z
istore 5
start local 5 3: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 6
start local 6 4: aload 6
ifnull 6
5: aload 4
invokevirtual sun.nio.fs.UnixPath.checkRead:()V
6: StackMap locals: sun.nio.fs.UnixSecureDirectoryStream java.nio.file.Path java.nio.file.LinkOption[] sun.nio.fs.UnixPath sun.nio.fs.UnixPath int java.lang.SecurityManager
StackMap stack:
aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
7: aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.isOpen:()Z
ifne 9
8: new java.nio.file.ClosedDirectoryStreamException
dup
invokespecial java.nio.file.ClosedDirectoryStreamException.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
iconst_m1
istore 7
start local 7 10: iconst_m1
istore 8
start local 8 11: lconst_0
lstore 9
start local 9 12: iconst_0
istore 11
start local 11 13: iload 5
ifne 15
14: iload 11
ldc 131072
ior
istore 11
15: StackMap locals: sun.nio.fs.UnixSecureDirectoryStream java.nio.file.Path java.nio.file.LinkOption[] sun.nio.fs.UnixPath sun.nio.fs.UnixPath int java.lang.SecurityManager int int long int
StackMap stack:
aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.dfd:I
aload 3
invokevirtual sun.nio.fs.UnixPath.asByteArray:()[B
iload 11
iconst_0
invokestatic sun.nio.fs.UnixNativeDispatcher.openat:(I[BII)I
istore 7
16: iload 7
invokestatic sun.nio.fs.UnixNativeDispatcher.dup:(I)I
istore 8
17: iload 7
invokestatic sun.nio.fs.UnixNativeDispatcher.fdopendir:(I)J
lstore 9
end local 11 18: goto 27
StackMap locals: sun.nio.fs.UnixSecureDirectoryStream java.nio.file.Path java.nio.file.LinkOption[] sun.nio.fs.UnixPath sun.nio.fs.UnixPath int java.lang.SecurityManager int int long
StackMap stack: sun.nio.fs.UnixException
19: astore 11
start local 11 20: iload 7
iconst_m1
if_icmpeq 22
21: iload 7
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
22: StackMap locals: sun.nio.fs.UnixException
StackMap stack:
iload 8
iconst_m1
if_icmpeq 24
23: iload 8
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
24: StackMap locals:
StackMap stack:
aload 11
invokevirtual sun.nio.fs.UnixException.errno:()I
bipush 20
if_icmpne 26
25: new java.nio.file.NotDirectoryException
dup
aload 3
invokevirtual sun.nio.fs.UnixPath.toString:()Ljava/lang/String;
invokespecial java.nio.file.NotDirectoryException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals:
StackMap stack:
aload 11
aload 3
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 11 27: StackMap locals:
StackMap stack:
new sun.nio.fs.UnixSecureDirectoryStream
dup
aload 4
lload 9
iload 8
aconst_null
invokespecial sun.nio.fs.UnixSecureDirectoryStream.<init>:(Lsun/nio/fs/UnixPath;JILjava/nio/file/DirectoryStream$Filter;)V
astore 13
28: aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
29: aload 13
areturn
end local 9 end local 8 end local 7 30: StackMap locals: sun.nio.fs.UnixSecureDirectoryStream java.nio.file.Path java.nio.file.LinkOption[] sun.nio.fs.UnixPath sun.nio.fs.UnixPath int java.lang.SecurityManager
StackMap stack: java.lang.Throwable
astore 12
31: aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
32: aload 12
athrow
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 33 0 this Lsun/nio/fs/UnixSecureDirectoryStream;
0 33 1 obj Ljava/nio/file/Path;
0 33 2 options [Ljava/nio/file/LinkOption;
1 33 3 file Lsun/nio/fs/UnixPath;
2 33 4 child Lsun/nio/fs/UnixPath;
3 33 5 followLinks Z
4 33 6 sm Ljava/lang/SecurityManager;
10 30 7 newdfd1 I
11 30 8 newdfd2 I
12 30 9 ptr J
13 18 11 flags I
20 27 11 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
12 18 19 Class sun.nio.fs.UnixException
7 28 30 any
Exceptions:
throws java.io.IOException
Signature: (Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Ljava/nio/file/SecureDirectoryStream<Ljava/nio/file/Path;>;
MethodParameters:
Name Flags
obj
options
public java.nio.channels.SeekableByteChannel newByteChannel(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>[]);
descriptor: (Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual sun.nio.fs.UnixSecureDirectoryStream.getName:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
astore 4
start local 4 1: sipush 438
aload 3
invokestatic sun.nio.fs.UnixFileModeAttribute.toUnixMode:(I[Ljava/nio/file/attribute/FileAttribute;)I
2: istore 5
start local 5 3: aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.directory:()Lsun/nio/fs/UnixPath;
aload 4
invokevirtual sun.nio.fs.UnixPath.resolve:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
invokevirtual sun.nio.fs.UnixPath.getPathForPermissionCheck:()Ljava/lang/String;
astore 6
start local 6 4: aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
5: aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.isOpen:()Z
ifne 7
6: new java.nio.file.ClosedDirectoryStreamException
dup
invokespecial java.nio.file.ClosedDirectoryStreamException.<init>:()V
athrow
7: StackMap locals: sun.nio.fs.UnixPath int java.lang.String
StackMap stack:
aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.dfd:I
aload 4
aload 6
aload 2
iload 5
invokestatic sun.nio.fs.UnixChannelFactory.newFileChannel:(ILsun/nio/fs/UnixPath;Ljava/lang/String;Ljava/util/Set;I)Ljava/nio/channels/FileChannel;
astore 9
8: aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
9: aload 9
areturn
10: StackMap locals:
StackMap stack: sun.nio.fs.UnixException
astore 7
start local 7 11: aload 7
aload 4
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
12: aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
13: aconst_null
areturn
end local 7 14: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
15: aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
16: aload 8
athrow
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 17 0 this Lsun/nio/fs/UnixSecureDirectoryStream;
0 17 1 obj Ljava/nio/file/Path;
0 17 2 options Ljava/util/Set<+Ljava/nio/file/OpenOption;>;
0 17 3 attrs [Ljava/nio/file/attribute/FileAttribute;
1 17 4 file Lsun/nio/fs/UnixPath;
3 17 5 mode I
4 17 6 pathToCheck Ljava/lang/String;
11 14 7 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
7 8 10 Class sun.nio.fs.UnixException
5 8 14 any
10 12 14 any
Exceptions:
throws java.io.IOException
Signature: (Ljava/nio/file/Path;Ljava/util/Set<+Ljava/nio/file/OpenOption;>;[Ljava/nio/file/attribute/FileAttribute<*>;)Ljava/nio/channels/SeekableByteChannel;
MethodParameters:
Name Flags
obj
options
attrs
private void implDelete(java.nio.file.Path, boolean, int);
descriptor: (Ljava/nio/file/Path;ZI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual sun.nio.fs.UnixSecureDirectoryStream.getName:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
astore 4
start local 4 1: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 5
start local 5 2: aload 5
ifnull 4
3: aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.directory:()Lsun/nio/fs/UnixPath;
aload 4
invokevirtual sun.nio.fs.UnixPath.resolve:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
invokevirtual sun.nio.fs.UnixPath.checkDelete:()V
4: StackMap locals: sun.nio.fs.UnixPath java.lang.SecurityManager
StackMap stack:
aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
5: aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.isOpen:()Z
ifne 7
6: new java.nio.file.ClosedDirectoryStreamException
dup
invokespecial java.nio.file.ClosedDirectoryStreamException.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
iload 2
ifne 16
8: aconst_null
astore 6
start local 6 9: aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.dfd:I
aload 4
iconst_0
invokestatic sun.nio.fs.UnixFileAttributes.get:(ILsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributes;
astore 6
10: goto 13
StackMap locals: sun.nio.fs.UnixSecureDirectoryStream java.nio.file.Path int int sun.nio.fs.UnixPath java.lang.SecurityManager sun.nio.fs.UnixFileAttributes
StackMap stack: sun.nio.fs.UnixException
11: astore 7
start local 7 12: aload 7
aload 4
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 7 13: StackMap locals:
StackMap stack:
aload 6
invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
ifeq 14
sipush 512
goto 15
StackMap locals:
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: istore 3
end local 6 16: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.dfd:I
aload 4
invokevirtual sun.nio.fs.UnixPath.asByteArray:()[B
iload 3
invokestatic sun.nio.fs.UnixNativeDispatcher.unlinkat:(I[BI)V
17: goto 27
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
18: astore 6
start local 6 19: iload 3
sipush 512
iand
ifeq 22
20: aload 6
invokevirtual sun.nio.fs.UnixException.errno:()I
bipush 17
if_icmpeq 21
aload 6
invokevirtual sun.nio.fs.UnixException.errno:()I
bipush 39
if_icmpne 22
21: StackMap locals: sun.nio.fs.UnixException
StackMap stack:
new java.nio.file.DirectoryNotEmptyException
dup
aconst_null
invokespecial java.nio.file.DirectoryNotEmptyException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals:
StackMap stack:
aload 6
aload 4
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 6 23: goto 27
StackMap locals: sun.nio.fs.UnixSecureDirectoryStream java.nio.file.Path int int sun.nio.fs.UnixPath java.lang.SecurityManager
StackMap stack: java.lang.Throwable
24: astore 8
25: aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
26: aload 8
athrow
27: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
28: 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 29 0 this Lsun/nio/fs/UnixSecureDirectoryStream;
0 29 1 obj Ljava/nio/file/Path;
0 29 2 haveFlags Z
0 29 3 flags I
1 29 4 file Lsun/nio/fs/UnixPath;
2 29 5 sm Ljava/lang/SecurityManager;
9 16 6 attrs Lsun/nio/fs/UnixFileAttributes;
12 13 7 x Lsun/nio/fs/UnixException;
19 23 6 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
9 10 11 Class sun.nio.fs.UnixException
16 17 18 Class sun.nio.fs.UnixException
5 24 24 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj
haveFlags
flags
public void deleteFile(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
iconst_0
invokevirtual sun.nio.fs.UnixSecureDirectoryStream.implDelete:(Ljava/nio/file/Path;ZI)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/fs/UnixSecureDirectoryStream;
0 2 1 file Ljava/nio/file/Path;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
public void deleteDirectory(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
sipush 512
invokevirtual sun.nio.fs.UnixSecureDirectoryStream.implDelete:(Ljava/nio/file/Path;ZI)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/fs/UnixSecureDirectoryStream;
0 2 1 dir Ljava/nio/file/Path;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dir
public void move(java.nio.file.Path, java.nio.file.SecureDirectoryStream<java.nio.file.Path>, java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;Ljava/nio/file/SecureDirectoryStream;Ljava/nio/file/Path;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual sun.nio.fs.UnixSecureDirectoryStream.getName:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
astore 4
start local 4 1: aload 0
aload 3
invokevirtual sun.nio.fs.UnixSecureDirectoryStream.getName:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
astore 5
start local 5 2: aload 2
ifnonnull 4
3: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
4: StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixPath
StackMap stack:
aload 2
instanceof sun.nio.fs.UnixSecureDirectoryStream
ifne 6
5: new java.nio.file.ProviderMismatchException
dup
invokespecial java.nio.file.ProviderMismatchException.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
aload 2
checkcast sun.nio.fs.UnixSecureDirectoryStream
astore 6
start local 6 7: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 7
start local 7 8: aload 7
ifnull 11
9: aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.directory:()Lsun/nio/fs/UnixPath;
aload 4
invokevirtual sun.nio.fs.UnixPath.resolve:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
invokevirtual sun.nio.fs.UnixPath.checkWrite:()V
10: aload 6
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.directory:()Lsun/nio/fs/UnixPath;
aload 5
invokevirtual sun.nio.fs.UnixPath.resolve:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
invokevirtual sun.nio.fs.UnixPath.checkWrite:()V
11: StackMap locals: sun.nio.fs.UnixSecureDirectoryStream java.lang.SecurityManager
StackMap stack:
aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
12: aload 6
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
13: aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.isOpen:()Z
ifeq 14
aload 6
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.isOpen:()Z
ifne 15
14: StackMap locals:
StackMap stack:
new java.nio.file.ClosedDirectoryStreamException
dup
invokespecial java.nio.file.ClosedDirectoryStreamException.<init>:()V
athrow
15: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.dfd:I
aload 4
invokevirtual sun.nio.fs.UnixPath.asByteArray:()[B
aload 6
getfield sun.nio.fs.UnixSecureDirectoryStream.dfd:I
aload 5
invokevirtual sun.nio.fs.UnixPath.asByteArray:()[B
invokestatic sun.nio.fs.UnixNativeDispatcher.renameat:(I[BI[B)V
16: goto 27
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
17: astore 8
start local 8 18: aload 8
invokevirtual sun.nio.fs.UnixException.errno:()I
bipush 18
if_icmpne 22
19: new java.nio.file.AtomicMoveNotSupportedException
dup
20: aload 4
invokevirtual sun.nio.fs.UnixPath.toString:()Ljava/lang/String;
aload 5
invokevirtual sun.nio.fs.UnixPath.toString:()Ljava/lang/String;
aload 8
invokevirtual sun.nio.fs.UnixException.errorString:()Ljava/lang/String;
21: invokespecial java.nio.file.AtomicMoveNotSupportedException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
athrow
22: StackMap locals: sun.nio.fs.UnixException
StackMap stack:
aload 8
aload 4
aload 5
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;)V
end local 8 23: goto 27
StackMap locals: sun.nio.fs.UnixSecureDirectoryStream java.nio.file.Path java.nio.file.SecureDirectoryStream java.nio.file.Path sun.nio.fs.UnixPath sun.nio.fs.UnixPath sun.nio.fs.UnixSecureDirectoryStream java.lang.SecurityManager
StackMap stack: java.lang.Throwable
24: astore 9
25: aload 6
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
26: aload 9
athrow
27: StackMap locals:
StackMap stack:
aload 6
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
28: goto 32
StackMap locals:
StackMap stack: java.lang.Throwable
29: astore 10
30: aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
31: aload 10
athrow
32: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.fs.UnixSecureDirectoryStream.ds:Lsun/nio/fs/UnixDirectoryStream;
invokevirtual sun.nio.fs.UnixDirectoryStream.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
33: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lsun/nio/fs/UnixSecureDirectoryStream;
0 34 1 fromObj Ljava/nio/file/Path;
0 34 2 dir Ljava/nio/file/SecureDirectoryStream<Ljava/nio/file/Path;>;
0 34 3 toObj Ljava/nio/file/Path;
1 34 4 from Lsun/nio/fs/UnixPath;
2 34 5 to Lsun/nio/fs/UnixPath;
7 34 6 that Lsun/nio/fs/UnixSecureDirectoryStream;
8 34 7 sm Ljava/lang/SecurityManager;
18 23 8 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
15 16 17 Class sun.nio.fs.UnixException
13 24 24 any
12 29 29 any
Exceptions:
throws java.io.IOException
Signature: (Ljava/nio/file/Path;Ljava/nio/file/SecureDirectoryStream<Ljava/nio/file/Path;>;Ljava/nio/file/Path;)V
MethodParameters:
Name Flags
fromObj
dir
toObj
private <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeViewImpl(sun.nio.fs.UnixPath, java.lang.Class<V>, );
descriptor: (Lsun/nio/fs/UnixPath;Ljava/lang/Class;Z)Ljava/nio/file/attribute/FileAttributeView;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 2
astore 4
start local 4 3: aload 4
ldc Ljava/nio/file/attribute/BasicFileAttributeView;
if_acmpne 5
4: new sun.nio.fs.UnixSecureDirectoryStream$BasicFileAttributeViewImpl
dup
aload 0
aload 1
iload 3
invokespecial sun.nio.fs.UnixSecureDirectoryStream$BasicFileAttributeViewImpl.<init>:(Lsun/nio/fs/UnixSecureDirectoryStream;Lsun/nio/fs/UnixPath;Z)V
areturn
5: StackMap locals: java.lang.Class
StackMap stack:
aload 4
ldc Ljava/nio/file/attribute/PosixFileAttributeView;
if_acmpeq 6
aload 4
ldc Ljava/nio/file/attribute/FileOwnerAttributeView;
if_acmpne 7
6: StackMap locals:
StackMap stack:
new sun.nio.fs.UnixSecureDirectoryStream$PosixFileAttributeViewImpl
dup
aload 0
aload 1
iload 3
invokespecial sun.nio.fs.UnixSecureDirectoryStream$PosixFileAttributeViewImpl.<init>:(Lsun/nio/fs/UnixSecureDirectoryStream;Lsun/nio/fs/UnixPath;Z)V
areturn
7: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/nio/fs/UnixSecureDirectoryStream;
0 8 1 file Lsun/nio/fs/UnixPath;
0 8 2 type Ljava/lang/Class<TV;>;
0 8 3 followLinks Z
3 8 4 c Ljava/lang/Class<*>;
Signature: <V::Ljava/nio/file/attribute/FileAttributeView;>(Lsun/nio/fs/UnixPath;Ljava/lang/Class<TV;>;Z)TV;
MethodParameters:
Name Flags
file
type
followLinks
public <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(java.lang.Class<V>);
descriptor: (Ljava/lang/Class;)Ljava/nio/file/attribute/FileAttributeView;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aconst_null
aload 1
iconst_0
invokevirtual sun.nio.fs.UnixSecureDirectoryStream.getFileAttributeViewImpl:(Lsun/nio/fs/UnixPath;Ljava/lang/Class;Z)Ljava/nio/file/attribute/FileAttributeView;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/fs/UnixSecureDirectoryStream;
0 1 1 type Ljava/lang/Class<TV;>;
Signature: <V::Ljava/nio/file/attribute/FileAttributeView;>(Ljava/lang/Class<TV;>;)TV;
MethodParameters:
Name Flags
type
public <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(java.nio.file.Path, java.lang.Class<V>, java.nio.file.LinkOption[]);
descriptor: (Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileAttributeView;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual sun.nio.fs.UnixSecureDirectoryStream.getName:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
astore 4
start local 4 1: aload 3
invokestatic sun.nio.fs.Util.followLinks:([Ljava/nio/file/LinkOption;)Z
istore 5
start local 5 2: aload 0
aload 4
aload 2
iload 5
invokevirtual sun.nio.fs.UnixSecureDirectoryStream.getFileAttributeViewImpl:(Lsun/nio/fs/UnixPath;Ljava/lang/Class;Z)Ljava/nio/file/attribute/FileAttributeView;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/fs/UnixSecureDirectoryStream;
0 3 1 obj Ljava/nio/file/Path;
0 3 2 type Ljava/lang/Class<TV;>;
0 3 3 options [Ljava/nio/file/LinkOption;
1 3 4 file Lsun/nio/fs/UnixPath;
2 3 5 followLinks Z
Signature: <V::Ljava/nio/file/attribute/FileAttributeView;>(Ljava/nio/file/Path;Ljava/lang/Class<TV;>;[Ljava/nio/file/LinkOption;)TV;
MethodParameters:
Name Flags
obj
type
options
public void deleteFile(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast java.nio.file.Path
invokevirtual sun.nio.fs.UnixSecureDirectoryStream.deleteFile:(Ljava/nio/file/Path;)V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
public java.nio.channels.SeekableByteChannel newByteChannel(java.lang.Object, java.util.Set, java.nio.file.attribute.FileAttribute[]);
descriptor: (Ljava/lang/Object;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;
flags: (0x10c1) ACC_PUBLIC, ACC_BRIDGE, ACC_VARARGS, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
checkcast java.nio.file.Path
aload 2
aload 3
invokevirtual sun.nio.fs.UnixSecureDirectoryStream.newByteChannel:(Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
public java.nio.file.attribute.FileAttributeView getFileAttributeView(java.lang.Object, java.lang.Class, java.nio.file.LinkOption[]);
descriptor: (Ljava/lang/Object;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileAttributeView;
flags: (0x10c1) ACC_PUBLIC, ACC_BRIDGE, ACC_VARARGS, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
checkcast java.nio.file.Path
aload 2
checkcast java.lang.Class
aload 3
invokevirtual sun.nio.fs.UnixSecureDirectoryStream.getFileAttributeView:(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileAttributeView;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.nio.file.SecureDirectoryStream newDirectoryStream(java.lang.Object, java.nio.file.LinkOption[]);
descriptor: (Ljava/lang/Object;[Ljava/nio/file/LinkOption;)Ljava/nio/file/SecureDirectoryStream;
flags: (0x10c1) ACC_PUBLIC, ACC_BRIDGE, ACC_VARARGS, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast java.nio.file.Path
aload 2
invokevirtual sun.nio.fs.UnixSecureDirectoryStream.newDirectoryStream:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Ljava/nio/file/SecureDirectoryStream;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
public void deleteDirectory(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast java.nio.file.Path
invokevirtual sun.nio.fs.UnixSecureDirectoryStream.deleteDirectory:(Ljava/nio/file/Path;)V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
public void move(java.lang.Object, java.nio.file.SecureDirectoryStream, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/nio/file/SecureDirectoryStream;Ljava/lang/Object;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
checkcast java.nio.file.Path
aload 2
checkcast java.nio.file.SecureDirectoryStream
aload 3
checkcast java.nio.file.Path
invokevirtual sun.nio.fs.UnixSecureDirectoryStream.move:(Ljava/nio/file/Path;Ljava/nio/file/SecureDirectoryStream;Ljava/nio/file/Path;)V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
}
Signature: Ljava/lang/Object;Ljava/nio/file/SecureDirectoryStream<Ljava/nio/file/Path;>;
SourceFile: "UnixSecureDirectoryStream.java"
NestMembers:
sun.nio.fs.UnixSecureDirectoryStream$BasicFileAttributeViewImpl sun.nio.fs.UnixSecureDirectoryStream$PosixFileAttributeViewImpl
InnerClasses:
public abstract Filter = java.nio.file.DirectoryStream$Filter of java.nio.file.DirectoryStream
private BasicFileAttributeViewImpl = sun.nio.fs.UnixSecureDirectoryStream$BasicFileAttributeViewImpl of sun.nio.fs.UnixSecureDirectoryStream
private PosixFileAttributeViewImpl = sun.nio.fs.UnixSecureDirectoryStream$PosixFileAttributeViewImpl of sun.nio.fs.UnixSecureDirectoryStream