abstract class sun.awt.windows.WObjectPeer
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: sun.awt.windows.WObjectPeer
super_class: java.lang.Object
{
volatile long pData;
descriptor: J
flags: (0x0040) ACC_VOLATILE
private volatile boolean destroyed;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
volatile java.lang.Object target;
descriptor: Ljava/lang/Object;
flags: (0x0040) ACC_VOLATILE
private volatile boolean disposed;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
volatile java.lang.Error createError;
descriptor: Ljava/lang/Error;
flags: (0x0040) ACC_VOLATILE
private final java.lang.Object stateLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile java.util.Map<sun.awt.windows.WObjectPeer, sun.awt.windows.WObjectPeer> childPeers;
descriptor: Ljava/util/Map;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/util/Map<Lsun/awt/windows/WObjectPeer;Lsun/awt/windows/WObjectPeer;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=0, locals=0, args_size=0
0: invokestatic sun.awt.windows.WObjectPeer.initIDs:()V
1: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield sun.awt.windows.WObjectPeer.createError:Ljava/lang/Error;
2: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.awt.windows.WObjectPeer.stateLock:Ljava/lang/Object;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/awt/windows/WObjectPeer;
public static sun.awt.windows.WObjectPeer getPeerForTarget(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lsun/awt/windows/WObjectPeer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokestatic sun.awt.windows.WToolkit.targetToPeer:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.awt.windows.WObjectPeer
astore 1
start local 1 1: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 t Ljava/lang/Object;
1 2 1 peer Lsun/awt/windows/WObjectPeer;
MethodParameters:
Name Flags
t
public long getData();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.windows.WObjectPeer.pData:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/windows/WObjectPeer;
public java.lang.Object getTarget();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.windows.WObjectPeer.target:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/windows/WObjectPeer;
public final java.lang.Object getStateLock();
descriptor: ()Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.windows.WObjectPeer.stateLock:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/windows/WObjectPeer;
protected abstract void disposeImpl();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
public final void dispose();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
dup
astore 2
monitorenter
2: aload 0
getfield sun.awt.windows.WObjectPeer.disposed:Z
ifne 4
3: aload 0
iconst_1
dup
istore 1
putfield sun.awt.windows.WObjectPeer.disposed:Z
4: StackMap locals: int sun.awt.windows.WObjectPeer
StackMap stack:
aload 2
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
iload 1
ifeq 12
9: aload 0
getfield sun.awt.windows.WObjectPeer.childPeers:Ljava/util/Map;
ifnull 11
10: aload 0
invokevirtual sun.awt.windows.WObjectPeer.disposeChildPeers:()V
11: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.awt.windows.WObjectPeer.disposeImpl:()V
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/awt/windows/WObjectPeer;
1 13 1 call_disposeImpl Z
Exception table:
from to target type
2 5 6 any
6 7 6 any
protected final boolean isDisposed();
descriptor: ()Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.windows.WObjectPeer.disposed:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/windows/WObjectPeer;
private static native void initIDs();
descriptor: ()V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
final void addChildPeer(sun.awt.windows.WObjectPeer);
descriptor: (Lsun/awt/windows/WObjectPeer;)V
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.awt.windows.WObjectPeer.getStateLock:()Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
getfield sun.awt.windows.WObjectPeer.childPeers:Ljava/util/Map;
ifnonnull 3
2: aload 0
new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
putfield sun.awt.windows.WObjectPeer.childPeers:Ljava/util/Map;
3: StackMap locals: java.lang.Object
StackMap stack:
aload 0
invokevirtual sun.awt.windows.WObjectPeer.isDisposed:()Z
ifeq 5
4: new java.lang.IllegalStateException
dup
ldc "Parent peer is disposed"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.windows.WObjectPeer.childPeers:Ljava/util/Map;
aload 1
aload 0
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: aload 2
monitorexit
7: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
8: aload 2
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/awt/windows/WObjectPeer;
0 11 1 child Lsun/awt/windows/WObjectPeer;
Exception table:
from to target type
1 7 8 any
8 9 8 any
MethodParameters:
Name Flags
child
private void disposeChildPeers();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual sun.awt.windows.WObjectPeer.getStateLock:()Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield sun.awt.windows.WObjectPeer.childPeers:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 7
StackMap locals: sun.awt.windows.WObjectPeer java.lang.Object top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.awt.windows.WObjectPeer
astore 2
start local 2 3: aload 2
ifnull 7
4: aload 2
invokevirtual sun.awt.windows.WObjectPeer.dispose:()V
5: goto 7
6: StackMap locals: sun.awt.windows.WObjectPeer java.lang.Object sun.awt.windows.WObjectPeer java.util.Iterator
StackMap stack: java.lang.Exception
pop
end local 2 7: StackMap locals: sun.awt.windows.WObjectPeer java.lang.Object top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
8: aload 1
monitorexit
9: goto 12
StackMap locals: sun.awt.windows.WObjectPeer java.lang.Object
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/awt/windows/WObjectPeer;
3 7 2 child Lsun/awt/windows/WObjectPeer;
Exception table:
from to target type
4 5 6 Class java.lang.Exception
1 9 10 any
10 11 10 any
}
SourceFile: "WObjectPeer.java"