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 49
            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 49
            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 80
            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 84
            aload 0 /* map */
            invokestatic javax.swing.plaf.basic.BasicMenuItemUI.loadActionMap:(Ljavax/swing/plaf/basic/LazyActionMap;)V
         1: .line 85
            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 86
            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 90
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicMenuItemUI.installDefaults:()V
         1: .line 91
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicMenuUI.updateDefaultBackgroundColor:()V
         2: .line 92
            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 93
            ldc "Menu.crossMenuMnemonic"
            invokestatic javax.swing.UIManager.getBoolean:(Ljava/lang/Object;)Z
            putstatic javax.swing.plaf.basic.BasicMenuUI.crossMenuMnemonic:Z
         4: .line 94
            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 97
            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 101
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicMenuItemUI.installListeners:()V
         1: .line 103
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.changeListener:Ljavax/swing/event/ChangeListener;
            ifnonnull 3
         2: .line 104
            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 106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.changeListener:Ljavax/swing/event/ChangeListener;
            ifnull 5
         4: .line 107
            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 109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuListener:Ljavax/swing/event/MenuListener;
            ifnonnull 7
         6: .line 110
            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 112
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuListener:Ljavax/swing/event/MenuListener;
            ifnull 9
         8: .line 113
            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 114
      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 117
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicMenuItemUI.installKeyboardActions:()V
         1: .line 118
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicMenuUI.updateMnemonicBinding:()V
         2: .line 119
            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 122
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            ldc Ljavax/swing/plaf/basic/BasicMenuUI;
         1: .line 123
            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 122
            invokestatic javax.swing.plaf.basic.LazyActionMap.installLazyActionMap:(Ljavax/swing/JComponent;Ljava/lang/Class;Ljava/lang/String;)V
         3: .line 124
            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 128
            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 129
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            aload 0 /* this */
         2: .line 130
            ldc "Menu.shortcutKeys"
         3: .line 129
            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 131
            aload 2 /* shortcutKeys */
            ifnonnull 6
         5: .line 132
            iconst_1
            newarray 10
            dup
            iconst_0
            bipush 8
            iastore
            astore 2 /* shortcutKeys */
         6: .line 134
      StackMap locals: int int[]
      StackMap stack:
            iload 1 /* mnemonic */
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.lastMnemonic:I
            if_icmpne 8
         7: .line 135
            return
         8: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            iconst_2
         9: .line 137
            invokestatic javax.swing.SwingUtilities.getUIInputMap:(Ljavax/swing/JComponent;I)Ljavax/swing/InputMap;
            astore 3 /* windowInputMap */
        start local 3 // javax.swing.InputMap windowInputMap
        10: .line 139
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.lastMnemonic:I
            ifeq 18
            aload 3 /* windowInputMap */
            ifnull 18
        11: .line 140
            aload 2 /* shortcutKeys */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 17
      StackMap locals: javax.swing.plaf.basic.BasicMenuUI int int[] javax.swing.InputMap top int int int[]
      StackMap stack:
        12: aload 7
            iload 5
            iaload
            istore 4 /* shortcutKey */
        start local 4 // int shortcutKey
        13: .line 141
            aload 3 /* windowInputMap */
        14: .line 142
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.lastMnemonic:I
            iload 4 /* shortcutKey */
            iconst_0
        15: .line 141
            invokestatic javax.swing.KeyStroke.getKeyStroke:(IIZ)Ljavax/swing/KeyStroke;
            invokevirtual javax.swing.InputMap.remove:(Ljavax/swing/KeyStroke;)V
        end local 4 // int shortcutKey
        16: .line 140
            iinc 5 1
      StackMap locals:
      StackMap stack:
        17: iload 5
            iload 6
            if_icmplt 12
        18: .line 145
      StackMap locals: javax.swing.plaf.basic.BasicMenuUI int int[] javax.swing.InputMap
      StackMap stack:
            iload 1 /* mnemonic */
            ifeq 33
        19: .line 146
            aload 3 /* windowInputMap */
            ifnonnull 24
        20: .line 147
            aload 0 /* this */
            iconst_2
            invokevirtual javax.swing.plaf.basic.BasicMenuUI.createInputMap:(I)Ljavax/swing/InputMap;
            astore 3 /* windowInputMap */
        21: .line 149
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            iconst_2
        22: .line 150
            aload 3 /* windowInputMap */
        23: .line 149
            invokestatic javax.swing.SwingUtilities.replaceUIInputMap:(Ljavax/swing/JComponent;ILjavax/swing/InputMap;)V
        24: .line 152
      StackMap locals:
      StackMap stack:
            aload 2 /* shortcutKeys */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 32
      StackMap locals: javax.swing.plaf.basic.BasicMenuUI int int[] javax.swing.InputMap top int int int[]
      StackMap stack:
        25: aload 7
            iload 5
            iaload
            istore 4 /* shortcutKey */
        start local 4 // int shortcutKey
        26: .line 153
            aload 3 /* windowInputMap */
            iload 1 /* mnemonic */
        27: .line 154
            iload 4 /* shortcutKey */
            iconst_0
        28: .line 153
            invokestatic javax.swing.KeyStroke.getKeyStroke:(IIZ)Ljavax/swing/KeyStroke;
        29: .line 154
            ldc "selectMenu"
        30: .line 153
            invokevirtual javax.swing.InputMap.put:(Ljavax/swing/KeyStroke;Ljava/lang/Object;)V
        end local 4 // int shortcutKey
        31: .line 152
            iinc 5 1
      StackMap locals:
      StackMap stack:
        32: iload 5
            iload 6
            if_icmplt 25
        33: .line 157
      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
        34: .line 158
            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   35     0            this  Ljavax/swing/plaf/basic/BasicMenuUI;
            1   35     1        mnemonic  I
            4   35     2    shortcutKeys  [I
           10   35     3  windowInputMap  Ljavax/swing/InputMap;
           13   16     4     shortcutKey  I
           26   31     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 161
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicMenuItemUI.uninstallKeyboardActions:()V
         1: .line 162
            aload 0 /* this */
            iconst_0
            putfield javax.swing.plaf.basic.BasicMenuUI.lastMnemonic:I
         2: .line 163
            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 166
            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 176
            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 186
            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 190
            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 194
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.handler:Ljavax/swing/plaf/basic/BasicMenuItemUI$Handler;
            ifnonnull 2
         1: .line 195
            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 197
      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 201
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            iconst_0
            invokevirtual javax.swing.JMenuItem.setArmed:(Z)V
         1: .line 202
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            iconst_0
            invokevirtual javax.swing.JMenuItem.setSelected:(Z)V
         2: .line 203
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuItem:Ljavax/swing/JMenuItem;
            invokevirtual javax.swing.JMenuItem.resetKeyboardActions:()V
         3: .line 204
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicMenuItemUI.uninstallDefaults:()V
         4: .line 205
            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 208
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicMenuItemUI.uninstallListeners:()V
         1: .line 210
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.changeListener:Ljavax/swing/event/ChangeListener;
            ifnull 3
         2: .line 211
            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 213
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicMenuUI.menuListener:Ljavax/swing/event/MenuListener;
            ifnull 5
         4: .line 214
            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 216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield javax.swing.plaf.basic.BasicMenuUI.changeListener:Ljavax/swing/event/ChangeListener;
         6: .line 217
            aload 0 /* this */
            aconst_null
            putfield javax.swing.plaf.basic.BasicMenuUI.menuListener:Ljavax/swing/event/MenuListener;
         7: .line 218
            aload 0 /* this */
            aconst_null
            putfield javax.swing.plaf.basic.BasicMenuUI.handler:Ljavax/swing/plaf/basic/BasicMenuItemUI$Handler;
         8: .line 219
            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 222
            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 226
            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 230
            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 231
            aload 1 /* c */
            invokevirtual javax.swing.JComponent.getPreferredSize:()Ljava/awt/Dimension;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aconst_null
         3: .line 230
      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 235
            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 236
            aload 1 /* c */
            invokevirtual javax.swing.JComponent.getPreferredSize:()Ljava/awt/Dimension;
            astore 2 /* d */
        start local 2 // java.awt.Dimension d
         2: .line 237
            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 239
      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 248
            new javax.swing.Timer
            dup
            aload 1 /* menu */
            invokevirtual javax.swing.JMenu.getDelay:()I
            new javax.swing.plaf.basic.BasicMenuUI$Actions
            dup
         1: .line 249
            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 248
            invokespecial javax.swing.Timer.<init>:(ILjava/awt/event/ActionListener;)V
            astore 2 /* timer */
        start local 2 // javax.swing.Timer timer
         3: .line 250
            aload 2 /* timer */
            iconst_0
            invokevirtual javax.swing.Timer.setRepeats:(Z)V
         4: .line 251
            aload 2 /* timer */
            invokevirtual javax.swing.Timer.start:()V
         5: .line 252
            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 255
            aload 0 /* path */
            arraylength
            iconst_1
            iadd
            anewarray javax.swing.MenuElement
            astore 2 /* newPath */
        start local 2 // javax.swing.MenuElement[] newPath
         1: .line 256
            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 257
            aload 2 /* newPath */
            aload 0 /* path */
            arraylength
            aload 1 /* elem */
            aastore
         3: .line 258
            invokestatic javax.swing.MenuSelectionManager.defaultManager:()Ljavax/swing/MenuSelectionManager;
            aload 2 /* newPath */
            invokevirtual javax.swing.MenuSelectionManager.setSelectedPath:([Ljavax/swing/MenuElement;)V
         4: .line 259
            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 335
            ldc "Menu.useMenuBarBackgroundForTopLevel"
            invokestatic javax.swing.UIManager.getBoolean:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 336
            return
         2: .line 338
      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 339
            aload 1 /* menu */
            invokevirtual javax.swing.JMenu.getBackground:()Ljava/awt/Color;
            instanceof javax.swing.plaf.UIResource
            ifeq 8
         4: .line 340
            aload 1 /* menu */
            invokevirtual javax.swing.JMenu.isTopLevelMenu:()Z
            ifeq 7
         5: .line 341
            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 342
            goto 8
         7: .line 343
      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 346
      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