public class javax.swing.plaf.basic.BasicMenuUI extends javax.swing.plaf.basic.BasicMenuItemUI
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.swing.plaf.basic.BasicMenuUI
  super_class: javax.swing.plaf.basic.BasicMenuItemUI
{
  protected javax.swing.event.ChangeListener changeListener;
    descriptor: Ljavax/swing/event/ChangeListener;
    flags: (0x0004) ACC_PROTECTED

  protected javax.swing.event.MenuListener menuListener;
    descriptor: Ljavax/swing/event/MenuListener;
    flags: (0x0004) ACC_PROTECTED

  private int lastMnemonic;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private javax.swing.InputMap selectedWindowInputMap;
    descriptor: Ljavax/swing/InputMap;
    flags: (0x0002) ACC_PRIVATE

  private static final boolean TRACE;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final boolean VERBOSE;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final boolean DEBUG;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static boolean crossMenuMnemonic;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 71
            iconst_1
            putstatic javax.swing.plaf.basic.BasicMenuUI.crossMenuMnemonic:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicMenuUI this
         0: .line 76
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicMenuItemUI.<init>:()V
         1: .line 61
            aload 0 /* this */
            iconst_0
            putfield javax.swing.plaf.basic.BasicMenuUI.lastMnemonic:I
         2: .line 76
            return
        end local 0 // javax.swing.plaf.basic.BasicMenuUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/plaf/basic/BasicMenuUI;

  public static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)Ljavax/swing/plaf/ComponentUI;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.JComponent x
         0: .line 85
            new javax.swing.plaf.basic.BasicMenuUI
            dup
            invokespecial javax.swing.plaf.basic.BasicMenuUI.<init>:()V
            areturn
        end local 0 // javax.swing.JComponent x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      x     

  static void loadActionMap(javax.swing.plaf.basic.LazyActionMap);
    descriptor: (Ljavax/swing/plaf/basic/LazyActionMap;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // javax.swing.plaf.basic.LazyActionMap map
         0: .line 89
            aload 0 /* map */
            invokestatic javax.swing.plaf.basic.BasicMenuItemUI.loadActionMap:(Ljavax/swing/plaf/basic/LazyActionMap;)V
         1: .line 90
            aload 0 /* map */
            new javax.swing.plaf.basic.BasicMenuUI$Actions
            dup
            ldc "selectMenu"
            aconst_null
            iconst_1
            invokespecial javax.swing.plaf.basic.BasicMenuUI$Actions.<init>:(Ljava/lang/String;Ljavax/swing/JMenu;Z)V
            invokevirtual javax.swing.plaf.basic.LazyActionMap.put:(Ljavax/swing/Action;)V
         2: .line 91
            return
        end local 0 // javax.swing.plaf.basic.LazyActionMap map
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   map  Ljavax/swing/plaf/basic/LazyActionMap;
    MethodParameters:
      Name  Flags
      map   

  protected void installDefaults();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicMenuUI this
         0: .line 95
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicMenuItemUI.installDefaults:()V
         1: .line 96
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicMenuUI.updateDefaultBackgroundColor:()V
         2: .line 97
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            checkcast javax.swing.JMenu
            sipush 200
            invokevirtual javax.swing.JMenu.setDelay:(I)V
         3: .line 98
            ldc "Menu.crossMenuMnemonic"
            invokestatic javax.swing.UIManager.getBoolean:(Ljava/lang/Object;)Z
            putstatic javax.swing.plaf.basic.BasicMenuUI.crossMenuMnemonic:Z
         4: .line 99
            return
        end local 0 // javax.swing.plaf.basic.BasicMenuUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/swing/plaf/basic/BasicMenuUI;

  protected java.lang.String getPropertyPrefix();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicMenuUI this
         0: .line 102
            ldc "Menu"
            areturn
        end local 0 // javax.swing.plaf.basic.BasicMenuUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/basic/BasicMenuUI;

  protected void installListeners();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicMenuUI this
         0: .line 106
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicMenuItemUI.installListeners:()V
         1: .line 108
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.changeListener:Ljavax/swing/event/ChangeListener;
            ifnonnull 3
         2: .line 109
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            invokevirtual javax.swing.plaf.basic.BasicMenuUI.createChangeListener:(Ljavax/swing/JComponent;)Ljavax/swing/event/ChangeListener;
            putfield javax.swing.plaf.basic.BasicMenuUI.changeListener:Ljavax/swing/event/ChangeListener;
         3: .line 111
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.changeListener:Ljavax/swing/event/ChangeListener;
            ifnull 5
         4: .line 112
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.changeListener:Ljavax/swing/event/ChangeListener;
            invokevirtual javax.swing.JMenuItem.addChangeListener:(Ljavax/swing/event/ChangeListener;)V
         5: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuListener:Ljavax/swing/event/MenuListener;
            ifnonnull 7
         6: .line 115
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            invokevirtual javax.swing.plaf.basic.BasicMenuUI.createMenuListener:(Ljavax/swing/JComponent;)Ljavax/swing/event/MenuListener;
            putfield javax.swing.plaf.basic.BasicMenuUI.menuListener:Ljavax/swing/event/MenuListener;
         7: .line 117
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuListener:Ljavax/swing/event/MenuListener;
            ifnull 9
         8: .line 118
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            checkcast javax.swing.JMenu
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuListener:Ljavax/swing/event/MenuListener;
            invokevirtual javax.swing.JMenu.addMenuListener:(Ljavax/swing/event/MenuListener;)V
         9: .line 119
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.swing.plaf.basic.BasicMenuUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljavax/swing/plaf/basic/BasicMenuUI;

  protected void installKeyboardActions();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicMenuUI this
         0: .line 122
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicMenuItemUI.installKeyboardActions:()V
         1: .line 123
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicMenuUI.updateMnemonicBinding:()V
         2: .line 124
            return
        end local 0 // javax.swing.plaf.basic.BasicMenuUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/plaf/basic/BasicMenuUI;

  void installLazyActionMap();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicMenuUI this
         0: .line 127
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            ldc Ljavax/swing/plaf/basic/BasicMenuUI;
         1: .line 128
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicMenuUI.getPropertyPrefix:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".actionMap"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         2: .line 127
            invokestatic javax.swing.plaf.basic.LazyActionMap.installLazyActionMap:(Ljavax/swing/JComponent;Ljava/lang/Class;Ljava/lang/String;)V
         3: .line 129
            return
        end local 0 // javax.swing.plaf.basic.BasicMenuUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/swing/plaf/basic/BasicMenuUI;

  void updateMnemonicBinding();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicMenuUI this
         0: .line 133
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            invokevirtual javax.swing.JMenuItem.getModel:()Ljavax/swing/ButtonModel;
            invokeinterface javax.swing.ButtonModel.getMnemonic:()I
            istore 1 /* mnemonic */
        start local 1 // int mnemonic
         1: .line 134
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            aload 0 /* this */
         2: .line 135
            ldc "Menu.shortcutKeys"
         3: .line 134
            invokestatic sun.swing.DefaultLookup.get:(Ljavax/swing/JComponent;Ljavax/swing/plaf/ComponentUI;Ljava/lang/String;)Ljava/lang/Object;
            checkcast int[]
            astore 2 /* shortcutKeys */
        start local 2 // int[] shortcutKeys
         4: .line 136
            aload 2 /* shortcutKeys */
            ifnonnull 8
         5: .line 137
            iconst_2
            newarray 10
            dup
            iconst_0
            bipush 8
            iastore
            dup
            iconst_1
         6: .line 138
            bipush 40
            iastore
         7: .line 137
            astore 2 /* shortcutKeys */
         8: .line 140
      StackMap locals: int int[]
      StackMap stack:
            iload 1 /* mnemonic */
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.lastMnemonic:I
            if_icmpne 10
         9: .line 141
            return
        10: .line 144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            iconst_2
        11: .line 143
            invokestatic javax.swing.SwingUtilities.getUIInputMap:(Ljavax/swing/JComponent;I)Ljavax/swing/InputMap;
            astore 3 /* windowInputMap */
        start local 3 // javax.swing.InputMap windowInputMap
        12: .line 145
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.lastMnemonic:I
            ifeq 20
            aload 3 /* windowInputMap */
            ifnull 20
        13: .line 146
            aload 2 /* shortcutKeys */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 19
      StackMap locals: javax.swing.plaf.basic.BasicMenuUI int int[] javax.swing.InputMap top int int int[]
      StackMap stack:
        14: aload 7
            iload 5
            iaload
            istore 4 /* shortcutKey */
        start local 4 // int shortcutKey
        15: .line 147
            aload 3 /* windowInputMap */
        16: .line 148
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.lastMnemonic:I
            iload 4 /* shortcutKey */
            iconst_0
        17: .line 147
            invokestatic javax.swing.KeyStroke.getKeyStroke:(IIZ)Ljavax/swing/KeyStroke;
            invokevirtual javax.swing.InputMap.remove:(Ljavax/swing/KeyStroke;)V
        end local 4 // int shortcutKey
        18: .line 146
            iinc 5 1
      StackMap locals:
      StackMap stack:
        19: iload 5
            iload 6
            if_icmplt 14
        20: .line 151
      StackMap locals: javax.swing.plaf.basic.BasicMenuUI int int[] javax.swing.InputMap
      StackMap stack:
            iload 1 /* mnemonic */
            ifeq 35
        21: .line 152
            aload 3 /* windowInputMap */
            ifnonnull 26
        22: .line 153
            aload 0 /* this */
            iconst_2
            invokevirtual javax.swing.plaf.basic.BasicMenuUI.createInputMap:(I)Ljavax/swing/InputMap;
            astore 3 /* windowInputMap */
        23: .line 155
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            iconst_2
        24: .line 156
            aload 3 /* windowInputMap */
        25: .line 155
            invokestatic javax.swing.SwingUtilities.replaceUIInputMap:(Ljavax/swing/JComponent;ILjavax/swing/InputMap;)V
        26: .line 158
      StackMap locals:
      StackMap stack:
            aload 2 /* shortcutKeys */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 34
      StackMap locals: javax.swing.plaf.basic.BasicMenuUI int int[] javax.swing.InputMap top int int int[]
      StackMap stack:
        27: aload 7
            iload 5
            iaload
            istore 4 /* shortcutKey */
        start local 4 // int shortcutKey
        28: .line 159
            aload 3 /* windowInputMap */
            iload 1 /* mnemonic */
        29: .line 160
            iload 4 /* shortcutKey */
            iconst_0
        30: .line 159
            invokestatic javax.swing.KeyStroke.getKeyStroke:(IIZ)Ljavax/swing/KeyStroke;
        31: .line 160
            ldc "selectMenu"
        32: .line 159
            invokevirtual javax.swing.InputMap.put:(Ljavax/swing/KeyStroke;Ljava/lang/Object;)V
        end local 4 // int shortcutKey
        33: .line 158
            iinc 5 1
      StackMap locals:
      StackMap stack:
        34: iload 5
            iload 6
            if_icmplt 27
        35: .line 163
      StackMap locals: javax.swing.plaf.basic.BasicMenuUI int int[] javax.swing.InputMap
      StackMap stack:
            aload 0 /* this */
            iload 1 /* mnemonic */
            putfield javax.swing.plaf.basic.BasicMenuUI.lastMnemonic:I
        36: .line 164
            return
        end local 3 // javax.swing.InputMap windowInputMap
        end local 2 // int[] shortcutKeys
        end local 1 // int mnemonic
        end local 0 // javax.swing.plaf.basic.BasicMenuUI this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   37     0            this  Ljavax/swing/plaf/basic/BasicMenuUI;
            1   37     1        mnemonic  I
            4   37     2    shortcutKeys  [I
           12   37     3  windowInputMap  Ljavax/swing/InputMap;
           15   18     4     shortcutKey  I
           28   33     4     shortcutKey  I

  protected void uninstallKeyboardActions();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicMenuUI this
         0: .line 167
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicMenuItemUI.uninstallKeyboardActions:()V
         1: .line 168
            aload 0 /* this */
            iconst_0
            putfield javax.swing.plaf.basic.BasicMenuUI.lastMnemonic:I
         2: .line 169
            return
        end local 0 // javax.swing.plaf.basic.BasicMenuUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/plaf/basic/BasicMenuUI;

  protected javax.swing.event.MouseInputListener createMouseInputListener(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)Ljavax/swing/event/MouseInputListener;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicMenuUI this
        start local 1 // javax.swing.JComponent c
         0: .line 172
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicMenuUI.getHandler:()Ljavax/swing/plaf/basic/BasicMenuItemUI$Handler;
            areturn
        end local 1 // javax.swing.JComponent c
        end local 0 // javax.swing.plaf.basic.BasicMenuUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/basic/BasicMenuUI;
            0    1     1     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     

  protected javax.swing.event.MenuListener createMenuListener(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)Ljavax/swing/event/MenuListener;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicMenuUI this
        start local 1 // javax.swing.JComponent c
         0: .line 182
            aconst_null
            areturn
        end local 1 // javax.swing.JComponent c
        end local 0 // javax.swing.plaf.basic.BasicMenuUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/basic/BasicMenuUI;
            0    1     1     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     

  protected javax.swing.event.ChangeListener createChangeListener(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)Ljavax/swing/event/ChangeListener;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicMenuUI this
        start local 1 // javax.swing.JComponent c
         0: .line 192
            aconst_null
            areturn
        end local 1 // javax.swing.JComponent c
        end local 0 // javax.swing.plaf.basic.BasicMenuUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/basic/BasicMenuUI;
            0    1     1     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     

  protected java.beans.PropertyChangeListener createPropertyChangeListener(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)Ljava/beans/PropertyChangeListener;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicMenuUI this
        start local 1 // javax.swing.JComponent c
         0: .line 196
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicMenuUI.getHandler:()Ljavax/swing/plaf/basic/BasicMenuItemUI$Handler;
            areturn
        end local 1 // javax.swing.JComponent c
        end local 0 // javax.swing.plaf.basic.BasicMenuUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/basic/BasicMenuUI;
            0    1     1     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     

  javax.swing.plaf.basic.BasicMenuItemUI$Handler getHandler();
    descriptor: ()Ljavax/swing/plaf/basic/BasicMenuItemUI$Handler;
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicMenuUI this
         0: .line 200
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.handler:Ljavax/swing/plaf/basic/BasicMenuItemUI$Handler;
            ifnonnull 2
         1: .line 201
            aload 0 /* this */
            new javax.swing.plaf.basic.BasicMenuUI$Handler
            dup
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicMenuUI$Handler.<init>:(Ljavax/swing/plaf/basic/BasicMenuUI;)V
            putfield javax.swing.plaf.basic.BasicMenuUI.handler:Ljavax/swing/plaf/basic/BasicMenuItemUI$Handler;
         2: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.handler:Ljavax/swing/plaf/basic/BasicMenuItemUI$Handler;
            areturn
        end local 0 // javax.swing.plaf.basic.BasicMenuUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/plaf/basic/BasicMenuUI;

  protected void uninstallDefaults();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicMenuUI this
         0: .line 207
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            iconst_0
            invokevirtual javax.swing.JMenuItem.setArmed:(Z)V
         1: .line 208
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            iconst_0
            invokevirtual javax.swing.JMenuItem.setSelected:(Z)V
         2: .line 209
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            invokevirtual javax.swing.JMenuItem.resetKeyboardActions:()V
         3: .line 210
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicMenuItemUI.uninstallDefaults:()V
         4: .line 211
            return
        end local 0 // javax.swing.plaf.basic.BasicMenuUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/swing/plaf/basic/BasicMenuUI;

  protected void uninstallListeners();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicMenuUI this
         0: .line 214
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicMenuItemUI.uninstallListeners:()V
         1: .line 216
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.changeListener:Ljavax/swing/event/ChangeListener;
            ifnull 3
         2: .line 217
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.changeListener:Ljavax/swing/event/ChangeListener;
            invokevirtual javax.swing.JMenuItem.removeChangeListener:(Ljavax/swing/event/ChangeListener;)V
         3: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuListener:Ljavax/swing/event/MenuListener;
            ifnull 5
         4: .line 220
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            checkcast javax.swing.JMenu
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuListener:Ljavax/swing/event/MenuListener;
            invokevirtual javax.swing.JMenu.removeMenuListener:(Ljavax/swing/event/MenuListener;)V
         5: .line 222
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield javax.swing.plaf.basic.BasicMenuUI.changeListener:Ljavax/swing/event/ChangeListener;
         6: .line 223
            aload 0 /* this */
            aconst_null
            putfield javax.swing.plaf.basic.BasicMenuUI.menuListener:Ljavax/swing/event/MenuListener;
         7: .line 224
            aload 0 /* this */
            aconst_null
            putfield javax.swing.plaf.basic.BasicMenuUI.handler:Ljavax/swing/plaf/basic/BasicMenuItemUI$Handler;
         8: .line 225
            return
        end local 0 // javax.swing.plaf.basic.BasicMenuUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljavax/swing/plaf/basic/BasicMenuUI;

  protected javax.swing.event.MenuDragMouseListener createMenuDragMouseListener(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)Ljavax/swing/event/MenuDragMouseListener;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicMenuUI this
        start local 1 // javax.swing.JComponent c
         0: .line 228
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicMenuUI.getHandler:()Ljavax/swing/plaf/basic/BasicMenuItemUI$Handler;
            areturn
        end local 1 // javax.swing.JComponent c
        end local 0 // javax.swing.plaf.basic.BasicMenuUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/basic/BasicMenuUI;
            0    1     1     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     

  protected javax.swing.event.MenuKeyListener createMenuKeyListener(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)Ljavax/swing/event/MenuKeyListener;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicMenuUI this
        start local 1 // javax.swing.JComponent c
         0: .line 232
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicMenuUI.getHandler:()Ljavax/swing/plaf/basic/BasicMenuItemUI$Handler;
            checkcast javax.swing.event.MenuKeyListener
            areturn
        end local 1 // javax.swing.JComponent c
        end local 0 // javax.swing.plaf.basic.BasicMenuUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/basic/BasicMenuUI;
            0    1     1     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     

  public java.awt.Dimension getMinimumSize(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)Ljava/awt/Dimension;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicMenuUI this
        start local 1 // javax.swing.JComponent c
         0: .line 236
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            checkcast javax.swing.JMenu
            invokevirtual javax.swing.JMenu.isTopLevelMenu:()Z
            ifeq 2
         1: .line 237
            aload 1 /* c */
            invokevirtual javax.swing.JComponent.getPreferredSize:()Ljava/awt/Dimension;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aconst_null
         3: .line 236
      StackMap locals:
      StackMap stack: java.awt.Dimension
            areturn
        end local 1 // javax.swing.JComponent c
        end local 0 // javax.swing.plaf.basic.BasicMenuUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/swing/plaf/basic/BasicMenuUI;
            0    4     1     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     

  public java.awt.Dimension getMaximumSize(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)Ljava/awt/Dimension;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicMenuUI this
        start local 1 // javax.swing.JComponent c
         0: .line 241
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            checkcast javax.swing.JMenu
            invokevirtual javax.swing.JMenu.isTopLevelMenu:()Z
            ifeq 3
         1: .line 242
            aload 1 /* c */
            invokevirtual javax.swing.JComponent.getPreferredSize:()Ljava/awt/Dimension;
            astore 2 /* d */
        start local 2 // java.awt.Dimension d
         2: .line 243
            new java.awt.Dimension
            dup
            aload 2 /* d */
            getfield java.awt.Dimension.width:I
            sipush 32767
            invokespecial java.awt.Dimension.<init>:(II)V
            areturn
        end local 2 // java.awt.Dimension d
         3: .line 245
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // javax.swing.JComponent c
        end local 0 // javax.swing.plaf.basic.BasicMenuUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/swing/plaf/basic/BasicMenuUI;
            0    4     1     c  Ljavax/swing/JComponent;
            2    3     2     d  Ljava/awt/Dimension;
    MethodParameters:
      Name  Flags
      c     

  protected void setupPostTimer(javax.swing.JMenu);
    descriptor: (Ljavax/swing/JMenu;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicMenuUI this
        start local 1 // javax.swing.JMenu menu
         0: .line 254
            new javax.swing.Timer
            dup
            aload 1 /* menu */
            invokevirtual javax.swing.JMenu.getDelay:()I
            new javax.swing.plaf.basic.BasicMenuUI$Actions
            dup
         1: .line 255
            ldc "selectMenu"
            aload 1 /* menu */
            iconst_0
            invokespecial javax.swing.plaf.basic.BasicMenuUI$Actions.<init>:(Ljava/lang/String;Ljavax/swing/JMenu;Z)V
         2: .line 254
            invokespecial javax.swing.Timer.<init>:(ILjava/awt/event/ActionListener;)V
            astore 2 /* timer */
        start local 2 // javax.swing.Timer timer
         3: .line 256
            aload 2 /* timer */
            iconst_0
            invokevirtual javax.swing.Timer.setRepeats:(Z)V
         4: .line 257
            aload 2 /* timer */
            invokevirtual javax.swing.Timer.start:()V
         5: .line 258
            return
        end local 2 // javax.swing.Timer timer
        end local 1 // javax.swing.JMenu menu
        end local 0 // javax.swing.plaf.basic.BasicMenuUI this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Ljavax/swing/plaf/basic/BasicMenuUI;
            0    6     1   menu  Ljavax/swing/JMenu;
            3    6     2  timer  Ljavax/swing/Timer;
    MethodParameters:
      Name  Flags
      menu  

  private static void appendPath(javax.swing.MenuElement[], javax.swing.MenuElement);
    descriptor: ([Ljavax/swing/MenuElement;Ljavax/swing/MenuElement;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // javax.swing.MenuElement[] path
        start local 1 // javax.swing.MenuElement elem
         0: .line 261
            aload 0 /* path */
            arraylength
            iconst_1
            iadd
            anewarray javax.swing.MenuElement
            astore 2 /* newPath */
        start local 2 // javax.swing.MenuElement[] newPath
         1: .line 262
            aload 0 /* path */
            iconst_0
            aload 2 /* newPath */
            iconst_0
            aload 0 /* path */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 263
            aload 2 /* newPath */
            aload 0 /* path */
            arraylength
            aload 1 /* elem */
            aastore
         3: .line 264
            invokestatic javax.swing.MenuSelectionManager.defaultManager:()Ljavax/swing/MenuSelectionManager;
            aload 2 /* newPath */
            invokevirtual javax.swing.MenuSelectionManager.setSelectedPath:([Ljavax/swing/MenuElement;)V
         4: .line 265
            return
        end local 2 // javax.swing.MenuElement[] newPath
        end local 1 // javax.swing.MenuElement elem
        end local 0 // javax.swing.MenuElement[] path
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     path  [Ljavax/swing/MenuElement;
            0    5     1     elem  Ljavax/swing/MenuElement;
            1    5     2  newPath  [Ljavax/swing/MenuElement;
    MethodParameters:
      Name  Flags
      path  
      elem  

  private void updateDefaultBackgroundColor();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicMenuUI this
         0: .line 341
            ldc "Menu.useMenuBarBackgroundForTopLevel"
            invokestatic javax.swing.UIManager.getBoolean:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 342
            return
         2: .line 344
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            checkcast javax.swing.JMenu
            astore 1 /* menu */
        start local 1 // javax.swing.JMenu menu
         3: .line 345
            aload 1 /* menu */
            invokevirtual javax.swing.JMenu.getBackground:()Ljava/awt/Color;
            instanceof javax.swing.plaf.UIResource
            ifeq 8
         4: .line 346
            aload 1 /* menu */
            invokevirtual javax.swing.JMenu.isTopLevelMenu:()Z
            ifeq 7
         5: .line 347
            aload 1 /* menu */
            ldc "MenuBar.background"
            invokestatic javax.swing.UIManager.getColor:(Ljava/lang/Object;)Ljava/awt/Color;
            invokevirtual javax.swing.JMenu.setBackground:(Ljava/awt/Color;)V
         6: .line 348
            goto 8
         7: .line 349
      StackMap locals: javax.swing.JMenu
      StackMap stack:
            aload 1 /* menu */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicMenuUI.getPropertyPrefix:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".background"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic javax.swing.UIManager.getColor:(Ljava/lang/Object;)Ljava/awt/Color;
            invokevirtual javax.swing.JMenu.setBackground:(Ljava/awt/Color;)V
         8: .line 352
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.swing.JMenu menu
        end local 0 // javax.swing.plaf.basic.BasicMenuUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljavax/swing/plaf/basic/BasicMenuUI;
            3    9     1  menu  Ljavax/swing/JMenu;
}
SourceFile: "BasicMenuUI.java"
NestMembers:
  javax.swing.plaf.basic.BasicMenuUI$Actions  javax.swing.plaf.basic.BasicMenuUI$ChangeHandler  javax.swing.plaf.basic.BasicMenuUI$Handler  javax.swing.plaf.basic.BasicMenuUI$MouseInputHandler
InnerClasses:
  Handler = javax.swing.plaf.basic.BasicMenuItemUI$Handler of javax.swing.plaf.basic.BasicMenuItemUI
  private Actions = javax.swing.plaf.basic.BasicMenuUI$Actions of javax.swing.plaf.basic.BasicMenuUI
  public ChangeHandler = javax.swing.plaf.basic.BasicMenuUI$ChangeHandler of javax.swing.plaf.basic.BasicMenuUI
  private Handler = javax.swing.plaf.basic.BasicMenuUI$Handler of javax.swing.plaf.basic.BasicMenuUI
  protected MouseInputHandler = javax.swing.plaf.basic.BasicMenuUI$MouseInputHandler of javax.swing.plaf.basic.BasicMenuUI