public class sun.java2d.pipe.hw.AccelDeviceEventNotifier
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.java2d.pipe.hw.AccelDeviceEventNotifier
super_class: java.lang.Object
{
private static sun.java2d.pipe.hw.AccelDeviceEventNotifier theInstance;
descriptor: Lsun/java2d/pipe/hw/AccelDeviceEventNotifier;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
public static final int DEVICE_RESET;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int DEVICE_DISPOSED;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private final java.util.Map<sun.java2d.pipe.hw.AccelDeviceEventListener, java.lang.Integer> listeners;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lsun/java2d/pipe/hw/AccelDeviceEventListener;Ljava/lang/Integer;>;
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
2: new java.util.HashMap
dup
iconst_1
invokespecial java.util.HashMap.<init>:(I)V
3: invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
putfield sun.java2d.pipe.hw.AccelDeviceEventNotifier.listeners:Ljava/util/Map;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/java2d/pipe/hw/AccelDeviceEventNotifier;
private static synchronized sun.java2d.pipe.hw.AccelDeviceEventNotifier getInstance(boolean);
descriptor: (Z)Lsun/java2d/pipe/hw/AccelDeviceEventNotifier;
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic sun.java2d.pipe.hw.AccelDeviceEventNotifier.theInstance:Lsun/java2d/pipe/hw/AccelDeviceEventNotifier;
ifnonnull 2
iload 0
ifeq 2
1: new sun.java2d.pipe.hw.AccelDeviceEventNotifier
dup
invokespecial sun.java2d.pipe.hw.AccelDeviceEventNotifier.<init>:()V
putstatic sun.java2d.pipe.hw.AccelDeviceEventNotifier.theInstance:Lsun/java2d/pipe/hw/AccelDeviceEventNotifier;
2: StackMap locals:
StackMap stack:
getstatic sun.java2d.pipe.hw.AccelDeviceEventNotifier.theInstance:Lsun/java2d/pipe/hw/AccelDeviceEventNotifier;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 create Z
MethodParameters:
Name Flags
create
public static final void eventOccured(int, int);
descriptor: (II)V
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
invokestatic sun.java2d.pipe.hw.AccelDeviceEventNotifier.getInstance:(Z)Lsun/java2d/pipe/hw/AccelDeviceEventNotifier;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
iload 1
iload 0
invokevirtual sun.java2d.pipe.hw.AccelDeviceEventNotifier.notifyListeners:(II)V
3: StackMap locals: sun.java2d.pipe.hw.AccelDeviceEventNotifier
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 screen I
0 4 1 eventType I
1 4 2 notifier Lsun/java2d/pipe/hw/AccelDeviceEventNotifier;
MethodParameters:
Name Flags
screen
eventType
public static final void addListener(sun.java2d.pipe.hw.AccelDeviceEventListener, int);
descriptor: (Lsun/java2d/pipe/hw/AccelDeviceEventListener;I)V
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iconst_1
invokestatic sun.java2d.pipe.hw.AccelDeviceEventNotifier.getInstance:(Z)Lsun/java2d/pipe/hw/AccelDeviceEventNotifier;
aload 0
iload 1
invokevirtual sun.java2d.pipe.hw.AccelDeviceEventNotifier.add:(Lsun/java2d/pipe/hw/AccelDeviceEventListener;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 l Lsun/java2d/pipe/hw/AccelDeviceEventListener;
0 2 1 screen I
MethodParameters:
Name Flags
l
screen
public static final void removeListener(sun.java2d.pipe.hw.AccelDeviceEventListener);
descriptor: (Lsun/java2d/pipe/hw/AccelDeviceEventListener;)V
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: iconst_1
invokestatic sun.java2d.pipe.hw.AccelDeviceEventNotifier.getInstance:(Z)Lsun/java2d/pipe/hw/AccelDeviceEventNotifier;
aload 0
invokevirtual sun.java2d.pipe.hw.AccelDeviceEventNotifier.remove:(Lsun/java2d/pipe/hw/AccelDeviceEventListener;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 l Lsun/java2d/pipe/hw/AccelDeviceEventListener;
MethodParameters:
Name Flags
l
private final void add(sun.java2d.pipe.hw.AccelDeviceEventListener, int);
descriptor: (Lsun/java2d/pipe/hw/AccelDeviceEventListener;I)V
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.java2d.pipe.hw.AccelDeviceEventNotifier.listeners:Ljava/util/Map;
aload 1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/java2d/pipe/hw/AccelDeviceEventNotifier;
0 2 1 theListener Lsun/java2d/pipe/hw/AccelDeviceEventListener;
0 2 2 screen I
MethodParameters:
Name Flags
theListener
screen
private final void remove(sun.java2d.pipe.hw.AccelDeviceEventListener);
descriptor: (Lsun/java2d/pipe/hw/AccelDeviceEventListener;)V
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.java2d.pipe.hw.AccelDeviceEventNotifier.listeners:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/java2d/pipe/hw/AccelDeviceEventNotifier;
0 2 1 theListener Lsun/java2d/pipe/hw/AccelDeviceEventListener;
MethodParameters:
Name Flags
theListener
private final void notifyListeners(int, int);
descriptor: (II)V
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.java2d.pipe.hw.AccelDeviceEventNotifier.listeners:Ljava/util/Map;
dup
astore 5
monitorenter
1: new java.util.HashMap
dup
aload 0
getfield sun.java2d.pipe.hw.AccelDeviceEventNotifier.listeners:Ljava/util/Map;
invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
2: astore 3
start local 3 3: aload 5
monitorexit
4: goto 7
end local 3 StackMap locals: sun.java2d.pipe.hw.AccelDeviceEventNotifier int int top top java.util.Map
StackMap stack: java.lang.Throwable
5: aload 5
monitorexit
6: athrow
start local 3 7: StackMap locals: sun.java2d.pipe.hw.AccelDeviceEventNotifier int int java.util.HashMap
StackMap stack:
aload 3
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
astore 4
start local 4 8: aload 4
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
start local 5 9: goto 19
10: StackMap locals: java.util.Set java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.java2d.pipe.hw.AccelDeviceEventListener
astore 6
start local 6 11: aload 3
aload 6
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 7
start local 7 12: aload 7
ifnull 14
aload 7
invokevirtual java.lang.Integer.intValue:()I
iload 2
if_icmpeq 14
13: goto 19
14: StackMap locals: sun.java2d.pipe.hw.AccelDeviceEventListener java.lang.Integer
StackMap stack:
iload 1
ifne 17
15: aload 6
invokeinterface sun.java2d.pipe.hw.AccelDeviceEventListener.onDeviceReset:()V
16: goto 19
StackMap locals:
StackMap stack:
17: iload 1
iconst_1
if_icmpne 19
18: aload 6
invokeinterface sun.java2d.pipe.hw.AccelDeviceEventListener.onDeviceDispose:()V
end local 7 end local 6 19: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
20: 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 21 0 this Lsun/java2d/pipe/hw/AccelDeviceEventNotifier;
0 21 1 deviceEventType I
0 21 2 screen I
3 5 3 listClone Ljava/util/HashMap<Lsun/java2d/pipe/hw/AccelDeviceEventListener;Ljava/lang/Integer;>;
7 21 3 listClone Ljava/util/HashMap<Lsun/java2d/pipe/hw/AccelDeviceEventListener;Ljava/lang/Integer;>;
8 21 4 cloneSet Ljava/util/Set<Lsun/java2d/pipe/hw/AccelDeviceEventListener;>;
9 21 5 itr Ljava/util/Iterator<Lsun/java2d/pipe/hw/AccelDeviceEventListener;>;
11 19 6 current Lsun/java2d/pipe/hw/AccelDeviceEventListener;
12 19 7 i Ljava/lang/Integer;
Exception table:
from to target type
1 4 5 any
5 6 5 any
MethodParameters:
Name Flags
deviceEventType
screen
}
SourceFile: "AccelDeviceEventNotifier.java"