class extends javax.swing.Popup
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: javax.swing.PopupFactory$HeavyWeightPopup
super_class: javax.swing.Popup
{
private static final java.lang.Object ;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private volatile boolean ;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
static void ();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.lang.StringBuffer
dup
ldc "PopupFactory.heavyWeightPopupCache"
invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
1: putstatic javax.swing.PopupFactory$HeavyWeightPopup.heavyWeightPopupCacheKey:Ljava/lang/Object;
2: return
LocalVariableTable:
Start End Slot Name Signature
private void ();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial javax.swing.Popup.<init>:()V
1: aload 0
iconst_1
putfield javax.swing.PopupFactory$HeavyWeightPopup.isCacheEnabled:Z
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/swing/PopupFactory$HeavyWeightPopup;
static javax.swing.Popup (java.awt.Component, java.awt.Component, int, int);
descriptor: (Ljava/awt/Component;Ljava/awt/Component;II)Ljavax/swing/Popup;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ifnull 2
1: aload 0
invokestatic javax.swing.SwingUtilities.getWindowAncestor:(Ljava/awt/Component;)Ljava/awt/Window;
goto 3
StackMap locals:
StackMap stack:
2: aconst_null
3: StackMap locals:
StackMap stack: java.awt.Window
astore 4
start local 4 4: aconst_null
astore 5
start local 5 5: aload 4
ifnull 7
6: aload 4
invokestatic javax.swing.PopupFactory$HeavyWeightPopup.getRecycledHeavyWeightPopup:(Ljava/awt/Window;)Ljavax/swing/PopupFactory$HeavyWeightPopup;
astore 5
7: StackMap locals: java.awt.Window javax.swing.PopupFactory$HeavyWeightPopup
StackMap stack:
iconst_0
istore 6
start local 6 8: aload 1
ifnull 20
aload 1
invokevirtual java.awt.Component.isFocusable:()Z
ifeq 20
9: aload 1
instanceof javax.swing.JPopupMenu
ifeq 20
10: aload 1
checkcast javax.swing.JPopupMenu
astore 7
start local 7 11: aload 7
invokevirtual javax.swing.JPopupMenu.getComponents:()[Ljava/awt/Component;
astore 8
start local 8 12: aload 8
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 19
StackMap locals: java.awt.Component java.awt.Component int int java.awt.Window javax.swing.PopupFactory$HeavyWeightPopup int javax.swing.JPopupMenu java.awt.Component[] top int int java.awt.Component[]
StackMap stack:
13: aload 12
iload 10
aaload
astore 9
start local 9 14: aload 9
instanceof javax.swing.MenuElement
ifne 18
15: aload 9
instanceof javax.swing.JSeparator
ifne 18
16: iconst_1
istore 6
17: goto 20
end local 9 18: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
19: iload 10
iload 11
if_icmplt 13
end local 8 end local 7 20: StackMap locals: java.awt.Component java.awt.Component int int java.awt.Window javax.swing.PopupFactory$HeavyWeightPopup int
StackMap stack:
aload 5
ifnull 23
21: aload 5
invokevirtual javax.swing.PopupFactory$HeavyWeightPopup.getComponent:()Ljava/awt/Component;
checkcast javax.swing.JWindow
22: invokevirtual javax.swing.JWindow.getFocusableWindowState:()Z
iload 6
if_icmpeq 26
23: StackMap locals:
StackMap stack:
aload 5
ifnull 25
24: aload 5
invokevirtual javax.swing.PopupFactory$HeavyWeightPopup._dispose:()V
25: StackMap locals:
StackMap stack:
new javax.swing.PopupFactory$HeavyWeightPopup
dup
invokespecial javax.swing.PopupFactory$HeavyWeightPopup.<init>:()V
astore 5
26: StackMap locals:
StackMap stack:
aload 5
aload 0
aload 1
iload 2
iload 3
invokevirtual javax.swing.PopupFactory$HeavyWeightPopup.reset:(Ljava/awt/Component;Ljava/awt/Component;II)V
27: iload 6
ifeq 31
28: aload 5
invokevirtual javax.swing.PopupFactory$HeavyWeightPopup.getComponent:()Ljava/awt/Component;
checkcast javax.swing.JWindow
astore 7
start local 7 29: aload 7
iconst_1
invokevirtual javax.swing.JWindow.setFocusableWindowState:(Z)V
30: aload 7
ldc "###focusableSwingPopup###"
invokevirtual javax.swing.JWindow.setName:(Ljava/lang/String;)V
end local 7 31: StackMap locals:
StackMap stack:
aload 5
areturn
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 32 0 owner Ljava/awt/Component;
0 32 1 contents Ljava/awt/Component;
0 32 2 ownerX I
0 32 3 ownerY I
4 32 4 window Ljava/awt/Window;
5 32 5 popup Ljavax/swing/PopupFactory$HeavyWeightPopup;
8 32 6 focusPopup Z
11 20 7 jpm Ljavax/swing/JPopupMenu;
12 20 8 popComps [Ljava/awt/Component;
14 18 9 popComp Ljava/awt/Component;
29 31 7 wnd Ljavax/swing/JWindow;
MethodParameters:
Name Flags
owner
contents
ownerX
ownerY
private static javax.swing.PopupFactory$HeavyWeightPopup (java.awt.Window);
descriptor: (Ljava/awt/Window;)Ljavax/swing/PopupFactory$HeavyWeightPopup;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: ldc Ljavax/swing/PopupFactory$HeavyWeightPopup;
dup
astore 1
monitorenter
1: invokestatic javax.swing.PopupFactory$HeavyWeightPopup.getHeavyWeightPopupCache:()Ljava/util/Map;
astore 3
start local 3 2: aload 3
aload 0
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 5
3: aload 3
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 2
start local 2 4: goto 7
end local 2 5: StackMap locals: java.awt.Window java.lang.Class top java.util.Map
StackMap stack:
aload 1
monitorexit
6: aconst_null
areturn
start local 2 7: StackMap locals: java.awt.Window java.lang.Class java.util.List java.util.Map
StackMap stack:
aload 2
invokeinterface java.util.List.size:()I
ifle 12
8: aload 2
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast javax.swing.PopupFactory$HeavyWeightPopup
astore 4
start local 4 9: aload 2
iconst_0
invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
pop
10: aload 4
aload 1
monitorexit
11: areturn
end local 4 12: StackMap locals:
StackMap stack:
aload 1
monitorexit
13: aconst_null
areturn
end local 3 end local 2 14: StackMap locals: java.awt.Window java.lang.Class
StackMap stack: java.lang.Throwable
aload 1
monitorexit
15: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 w Ljava/awt/Window;
4 5 2 cache Ljava/util/List<Ljavax/swing/PopupFactory$HeavyWeightPopup;>;
7 14 2 cache Ljava/util/List<Ljavax/swing/PopupFactory$HeavyWeightPopup;>;
2 14 3 heavyPopupCache Ljava/util/Map<Ljava/awt/Window;Ljava/util/List<Ljavax/swing/PopupFactory$HeavyWeightPopup;>;>;
9 12 4 r Ljavax/swing/PopupFactory$HeavyWeightPopup;
Exception table:
from to target type
1 6 14 any
7 11 14 any
12 13 14 any
14 15 14 any
MethodParameters:
Name Flags
w
private static java.util.Map<java.awt.Window, java.util.List<javax.swing.PopupFactory$HeavyWeightPopup>> getHeavyWeightPopupCache();
descriptor: ()Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=0
0: ldc Ljavax/swing/PopupFactory$HeavyWeightPopup;
dup
astore 0
monitorenter
1: getstatic javax.swing.PopupFactory$HeavyWeightPopup.heavyWeightPopupCacheKey:Ljava/lang/Object;
2: invokestatic javax.swing.SwingUtilities.appContextGet:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Map
astore 1
start local 1 3: aload 1
ifnonnull 8
4: new java.util.HashMap
dup
iconst_2
invokespecial java.util.HashMap.<init>:(I)V
astore 1
5: getstatic javax.swing.PopupFactory$HeavyWeightPopup.heavyWeightPopupCacheKey:Ljava/lang/Object;
6: aload 1
7: invokestatic javax.swing.SwingUtilities.appContextPut:(Ljava/lang/Object;Ljava/lang/Object;)V
8: StackMap locals: java.lang.Class java.util.Map
StackMap stack:
aload 1
aload 0
monitorexit
9: areturn
end local 1 10: StackMap locals: java.lang.Class
StackMap stack: java.lang.Throwable
aload 0
monitorexit
11: athrow
LocalVariableTable:
Start End Slot Name Signature
3 10 1 cache Ljava/util/Map<Ljava/awt/Window;Ljava/util/List<Ljavax/swing/PopupFactory$HeavyWeightPopup;>;>;
Exception table:
from to target type
1 9 10 any
10 11 10 any
Signature: ()Ljava/util/Map<Ljava/awt/Window;Ljava/util/List<Ljavax/swing/PopupFactory$HeavyWeightPopup;>;>;
private static void (javax.swing.PopupFactory$HeavyWeightPopup);
descriptor: (Ljavax/swing/PopupFactory$HeavyWeightPopup;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: ldc Ljavax/swing/PopupFactory$HeavyWeightPopup;
dup
astore 1
monitorenter
1: aload 0
invokevirtual javax.swing.PopupFactory$HeavyWeightPopup.getComponent:()Ljava/awt/Component;
2: invokestatic javax.swing.SwingUtilities.getWindowAncestor:(Ljava/awt/Component;)Ljava/awt/Window;
astore 3
start local 3 3: invokestatic javax.swing.PopupFactory$HeavyWeightPopup.getHeavyWeightPopupCache:()Ljava/util/Map;
astore 4
start local 4 4: aload 3
instanceof javax.swing.Popup$DefaultFrame
ifne 6
5: aload 3
invokevirtual java.awt.Window.isVisible:()Z
ifne 9
6: StackMap locals: javax.swing.PopupFactory$HeavyWeightPopup java.lang.Class top java.awt.Window java.util.Map
StackMap stack:
aload 0
invokevirtual javax.swing.PopupFactory$HeavyWeightPopup._dispose:()V
7: aload 1
monitorexit
8: return
9: StackMap locals:
StackMap stack:
aload 4
aload 3
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 12
10: aload 4
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 2
start local 2 11: goto 16
end local 2 12: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 13: aload 4
aload 3
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: aload 3
astore 5
start local 5 15: aload 5
new javax.swing.PopupFactory$HeavyWeightPopup$1
dup
aload 5
invokespecial javax.swing.PopupFactory$HeavyWeightPopup$1.<init>:(Ljava/awt/Window;)V
invokevirtual java.awt.Window.addWindowListener:(Ljava/awt/event/WindowListener;)V
end local 5 16: StackMap locals: javax.swing.PopupFactory$HeavyWeightPopup java.lang.Class java.util.List java.awt.Window java.util.Map
StackMap stack:
aload 2
invokeinterface java.util.List.size:()I
iconst_5
if_icmpge 19
17: aload 2
aload 0
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
18: goto 20
19: StackMap locals:
StackMap stack:
aload 0
invokevirtual javax.swing.PopupFactory$HeavyWeightPopup._dispose:()V
end local 4 end local 3 end local 2 20: StackMap locals:
StackMap stack:
aload 1
monitorexit
21: goto 24
StackMap locals:
StackMap stack: java.lang.Throwable
22: aload 1
monitorexit
23: athrow
24: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 popup Ljavax/swing/PopupFactory$HeavyWeightPopup;
11 12 2 cache Ljava/util/List<Ljavax/swing/PopupFactory$HeavyWeightPopup;>;
13 20 2 cache Ljava/util/List<Ljavax/swing/PopupFactory$HeavyWeightPopup;>;
3 20 3 window Ljava/awt/Window;
4 20 4 heavyPopupCache Ljava/util/Map<Ljava/awt/Window;Ljava/util/List<Ljavax/swing/PopupFactory$HeavyWeightPopup;>;>;
15 16 5 w Ljava/awt/Window;
Exception table:
from to target type
1 8 22 any
9 21 22 any
22 23 22 any
MethodParameters:
Name Flags
popup
void (boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield javax.swing.PopupFactory$HeavyWeightPopup.isCacheEnabled:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavax/swing/PopupFactory$HeavyWeightPopup;
0 2 1 enable Z
MethodParameters:
Name Flags
enable
public void ();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial javax.swing.Popup.hide:()V
1: aload 0
getfield javax.swing.PopupFactory$HeavyWeightPopup.isCacheEnabled:Z
ifeq 4
2: aload 0
invokestatic javax.swing.PopupFactory$HeavyWeightPopup.recycleHeavyWeightPopup:(Ljavax/swing/PopupFactory$HeavyWeightPopup;)V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual javax.swing.PopupFactory$HeavyWeightPopup._dispose:()V
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavax/swing/PopupFactory$HeavyWeightPopup;
void ();
descriptor: ()V
flags: (0x0000)
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/swing/PopupFactory$HeavyWeightPopup;
void ();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial javax.swing.Popup.dispose:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavax/swing/PopupFactory$HeavyWeightPopup;
}
SourceFile: "PopupFactory.java"
NestHost: javax.swing.PopupFactory
InnerClasses:
DefaultFrame = javax.swing.Popup$DefaultFrame of javax.swing.Popup
private HeavyWeightPopup = javax.swing.PopupFactory$HeavyWeightPopup of javax.swing.PopupFactory
javax.swing.PopupFactory$HeavyWeightPopup$1