abstract class sun.nio.fs.AbstractWatchService implements java.nio.file.WatchService
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: sun.nio.fs.AbstractWatchService
super_class: java.lang.Object
{
private final java.util.concurrent.LinkedBlockingDeque<java.nio.file.WatchKey> pendingKeys;
descriptor: Ljava/util/concurrent/LinkedBlockingDeque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/LinkedBlockingDeque<Ljava/nio/file/WatchKey;>;
private final java.nio.file.WatchKey CLOSE_KEY;
descriptor: Ljava/nio/file/WatchKey;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile boolean closed;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.lang.Object closeLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
2: new java.util.concurrent.LinkedBlockingDeque
dup
invokespecial java.util.concurrent.LinkedBlockingDeque.<init>:()V
putfield sun.nio.fs.AbstractWatchService.pendingKeys:Ljava/util/concurrent/LinkedBlockingDeque;
3: aload 0
4: new sun.nio.fs.AbstractWatchService$1
dup
aload 0
aconst_null
aconst_null
invokespecial sun.nio.fs.AbstractWatchService$1.<init>:(Lsun/nio/fs/AbstractWatchService;Ljava/nio/file/Path;Lsun/nio/fs/AbstractWatchService;)V
putfield sun.nio.fs.AbstractWatchService.CLOSE_KEY:Ljava/nio/file/WatchKey;
5: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.nio.fs.AbstractWatchService.closeLock:Ljava/lang/Object;
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/nio/fs/AbstractWatchService;
abstract java.nio.file.WatchKey register(java.nio.file.Path, java.nio.file.WatchEvent$Kind<?>[], java.nio.file.WatchEvent$Modifier[]);
descriptor: (Ljava/nio/file/Path;[Ljava/nio/file/WatchEvent$Kind;[Ljava/nio/file/WatchEvent$Modifier;)Ljava/nio/file/WatchKey;
flags: (0x0480) ACC_VARARGS, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
Signature: (Ljava/nio/file/Path;[Ljava/nio/file/WatchEvent$Kind<*>;[Ljava/nio/file/WatchEvent$Modifier;)Ljava/nio/file/WatchKey;
MethodParameters:
Name Flags
path
events
modifers
final void enqueueKey(java.nio.file.WatchKey);
descriptor: (Ljava/nio/file/WatchKey;)V
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.nio.fs.AbstractWatchService.pendingKeys:Ljava/util/concurrent/LinkedBlockingDeque;
aload 1
invokevirtual java.util.concurrent.LinkedBlockingDeque.offer:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/fs/AbstractWatchService;
0 2 1 key Ljava/nio/file/WatchKey;
MethodParameters:
Name Flags
key
private void checkOpen();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.nio.fs.AbstractWatchService.closed:Z
ifeq 2
1: new java.nio.file.ClosedWatchServiceException
dup
invokespecial java.nio.file.ClosedWatchServiceException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/fs/AbstractWatchService;
private void checkKey(java.nio.file.WatchKey);
descriptor: (Ljava/nio/file/WatchKey;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield sun.nio.fs.AbstractWatchService.CLOSE_KEY:Ljava/nio/file/WatchKey;
if_acmpne 2
1: aload 0
aload 1
invokevirtual sun.nio.fs.AbstractWatchService.enqueueKey:(Ljava/nio/file/WatchKey;)V
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.fs.AbstractWatchService.checkOpen:()V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/nio/fs/AbstractWatchService;
0 4 1 key Ljava/nio/file/WatchKey;
MethodParameters:
Name Flags
key
public final java.nio.file.WatchKey poll();
descriptor: ()Ljava/nio/file/WatchKey;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.nio.fs.AbstractWatchService.checkOpen:()V
1: aload 0
getfield sun.nio.fs.AbstractWatchService.pendingKeys:Ljava/util/concurrent/LinkedBlockingDeque;
invokevirtual java.util.concurrent.LinkedBlockingDeque.poll:()Ljava/lang/Object;
checkcast java.nio.file.WatchKey
astore 1
start local 1 2: aload 0
aload 1
invokevirtual sun.nio.fs.AbstractWatchService.checkKey:(Ljava/nio/file/WatchKey;)V
3: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/nio/fs/AbstractWatchService;
2 4 1 key Ljava/nio/file/WatchKey;
public final java.nio.file.WatchKey poll(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)Ljava/nio/file/WatchKey;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
invokevirtual sun.nio.fs.AbstractWatchService.checkOpen:()V
1: aload 0
getfield sun.nio.fs.AbstractWatchService.pendingKeys:Ljava/util/concurrent/LinkedBlockingDeque;
lload 1
aload 3
invokevirtual java.util.concurrent.LinkedBlockingDeque.poll:(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
checkcast java.nio.file.WatchKey
astore 4
start local 4 2: aload 0
aload 4
invokevirtual sun.nio.fs.AbstractWatchService.checkKey:(Ljava/nio/file/WatchKey;)V
3: aload 4
areturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/nio/fs/AbstractWatchService;
0 4 1 timeout J
0 4 3 unit Ljava/util/concurrent/TimeUnit;
2 4 4 key Ljava/nio/file/WatchKey;
Exceptions:
throws java.lang.InterruptedException
MethodParameters:
Name Flags
timeout
unit
public final java.nio.file.WatchKey take();
descriptor: ()Ljava/nio/file/WatchKey;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.nio.fs.AbstractWatchService.checkOpen:()V
1: aload 0
getfield sun.nio.fs.AbstractWatchService.pendingKeys:Ljava/util/concurrent/LinkedBlockingDeque;
invokevirtual java.util.concurrent.LinkedBlockingDeque.take:()Ljava/lang/Object;
checkcast java.nio.file.WatchKey
astore 1
start local 1 2: aload 0
aload 1
invokevirtual sun.nio.fs.AbstractWatchService.checkKey:(Ljava/nio/file/WatchKey;)V
3: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/nio/fs/AbstractWatchService;
2 4 1 key Ljava/nio/file/WatchKey;
Exceptions:
throws java.lang.InterruptedException
final boolean isOpen();
descriptor: ()Z
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.nio.fs.AbstractWatchService.closed:Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/fs/AbstractWatchService;
final java.lang.Object closeLock();
descriptor: ()Ljava/lang/Object;
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.nio.fs.AbstractWatchService.closeLock:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/fs/AbstractWatchService;
abstract void implClose();
descriptor: ()V
flags: (0x0400) ACC_ABSTRACT
Exceptions:
throws java.io.IOException
public final void close();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.nio.fs.AbstractWatchService.closeLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield sun.nio.fs.AbstractWatchService.closed:Z
ifeq 4
2: aload 1
monitorexit
3: return
4: StackMap locals: java.lang.Object
StackMap stack:
aload 0
iconst_1
putfield sun.nio.fs.AbstractWatchService.closed:Z
5: aload 0
invokevirtual sun.nio.fs.AbstractWatchService.implClose:()V
6: aload 0
getfield sun.nio.fs.AbstractWatchService.pendingKeys:Ljava/util/concurrent/LinkedBlockingDeque;
invokevirtual java.util.concurrent.LinkedBlockingDeque.clear:()V
7: aload 0
getfield sun.nio.fs.AbstractWatchService.pendingKeys:Ljava/util/concurrent/LinkedBlockingDeque;
aload 0
getfield sun.nio.fs.AbstractWatchService.CLOSE_KEY:Ljava/nio/file/WatchKey;
invokevirtual java.util.concurrent.LinkedBlockingDeque.offer:(Ljava/lang/Object;)Z
pop
8: aload 1
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 1
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/nio/fs/AbstractWatchService;
Exception table:
from to target type
1 3 10 any
4 9 10 any
10 11 10 any
Exceptions:
throws java.io.IOException
}
SourceFile: "AbstractWatchService.java"
NestMembers:
sun.nio.fs.AbstractWatchService$1
InnerClasses:
public abstract Kind = java.nio.file.WatchEvent$Kind of java.nio.file.WatchEvent
public abstract Modifier = java.nio.file.WatchEvent$Modifier of java.nio.file.WatchEvent
sun.nio.fs.AbstractWatchService$1