public class com.sun.imageio.stream.StreamCloser
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.imageio.stream.StreamCloser
super_class: java.lang.Object
{
private static java.util.WeakHashMap<com.sun.imageio.stream.StreamCloser$CloseAction, java.lang.Object> toCloseQueue;
descriptor: Ljava/util/WeakHashMap;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/WeakHashMap<Lcom/sun/imageio/stream/StreamCloser$CloseAction;Ljava/lang/Object;>;
private static java.lang.Thread streamCloser;
descriptor: Ljava/lang/Thread;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/imageio/stream/StreamCloser;
public static void addToQueue(com.sun.imageio.stream.StreamCloser$CloseAction);
descriptor: (Lcom/sun/imageio/stream/StreamCloser$CloseAction;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: ldc Lcom/sun/imageio/stream/StreamCloser;
dup
astore 1
monitorenter
1: getstatic com.sun.imageio.stream.StreamCloser.toCloseQueue:Ljava/util/WeakHashMap;
ifnonnull 4
2: new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
3: putstatic com.sun.imageio.stream.StreamCloser.toCloseQueue:Ljava/util/WeakHashMap;
4: StackMap locals: java.lang.Class
StackMap stack:
getstatic com.sun.imageio.stream.StreamCloser.toCloseQueue:Ljava/util/WeakHashMap;
aload 0
aconst_null
invokevirtual java.util.WeakHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: getstatic com.sun.imageio.stream.StreamCloser.streamCloser:Ljava/lang/Thread;
ifnonnull 9
6: new com.sun.imageio.stream.StreamCloser$1
dup
invokespecial com.sun.imageio.stream.StreamCloser$1.<init>:()V
astore 2
start local 2 7: new com.sun.imageio.stream.StreamCloser$2
dup
aload 2
invokespecial com.sun.imageio.stream.StreamCloser$2.<init>:(Ljava/lang/Runnable;)V
8: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
end local 2 9: StackMap locals:
StackMap stack:
aload 1
monitorexit
10: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
11: aload 1
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 ca Lcom/sun/imageio/stream/StreamCloser$CloseAction;
7 9 2 streamCloserRunnable Ljava/lang/Runnable;
Exception table:
from to target type
1 10 11 any
11 12 11 any
MethodParameters:
Name Flags
ca
public static void removeFromQueue(com.sun.imageio.stream.StreamCloser$CloseAction);
descriptor: (Lcom/sun/imageio/stream/StreamCloser$CloseAction;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: ldc Lcom/sun/imageio/stream/StreamCloser;
dup
astore 1
monitorenter
1: getstatic com.sun.imageio.stream.StreamCloser.toCloseQueue:Ljava/util/WeakHashMap;
ifnull 3
2: getstatic com.sun.imageio.stream.StreamCloser.toCloseQueue:Ljava/util/WeakHashMap;
aload 0
invokevirtual java.util.WeakHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
3: StackMap locals: java.lang.Class
StackMap stack:
aload 1
monitorexit
4: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
5: aload 1
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 ca Lcom/sun/imageio/stream/StreamCloser$CloseAction;
Exception table:
from to target type
1 4 5 any
5 6 5 any
MethodParameters:
Name Flags
ca
public static com.sun.imageio.stream.StreamCloser$CloseAction createCloseAction(javax.imageio.stream.ImageInputStream);
descriptor: (Ljavax/imageio/stream/ImageInputStream;)Lcom/sun/imageio/stream/StreamCloser$CloseAction;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.sun.imageio.stream.StreamCloser$CloseAction
dup
aload 0
invokespecial com.sun.imageio.stream.StreamCloser$CloseAction.<init>:(Ljavax/imageio/stream/ImageInputStream;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 iis Ljavax/imageio/stream/ImageInputStream;
MethodParameters:
Name Flags
iis
}
SourceFile: "StreamCloser.java"
NestMembers:
com.sun.imageio.stream.StreamCloser$1 com.sun.imageio.stream.StreamCloser$2 com.sun.imageio.stream.StreamCloser$CloseAction
InnerClasses:
com.sun.imageio.stream.StreamCloser$1
com.sun.imageio.stream.StreamCloser$2
public final CloseAction = com.sun.imageio.stream.StreamCloser$CloseAction of com.sun.imageio.stream.StreamCloser