class com.sun.tools.example.debug.gui.JDBMenuBar extends javax.swing.JMenuBar
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.example.debug.gui.JDBMenuBar
  super_class: javax.swing.JMenuBar
{
  com.sun.tools.example.debug.gui.Environment env;
    descriptor: Lcom/sun/tools/example/debug/gui/Environment;
    flags: (0x0000) 

  com.sun.tools.example.debug.bdi.ExecutionManager runtime;
    descriptor: Lcom/sun/tools/example/debug/bdi/ExecutionManager;
    flags: (0x0000) 

  com.sun.tools.example.debug.gui.ClassManager classManager;
    descriptor: Lcom/sun/tools/example/debug/gui/ClassManager;
    flags: (0x0000) 

  com.sun.tools.example.debug.gui.SourceManager sourceManager;
    descriptor: Lcom/sun/tools/example/debug/gui/SourceManager;
    flags: (0x0000) 

  com.sun.tools.example.debug.gui.CommandInterpreter interpreter;
    descriptor: Lcom/sun/tools/example/debug/gui/CommandInterpreter;
    flags: (0x0000) 

  void <init>(com.sun.tools.example.debug.gui.Environment);
    descriptor: (Lcom/sun/tools/example/debug/gui/Environment;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.JDBMenuBar this
        start local 1 // com.sun.tools.example.debug.gui.Environment env
         0: .line 57
            aload 0 /* this */
            invokespecial javax.swing.JMenuBar.<init>:()V
         1: .line 58
            aload 0 /* this */
            aload 1 /* env */
            putfield com.sun.tools.example.debug.gui.JDBMenuBar.env:Lcom/sun/tools/example/debug/gui/Environment;
         2: .line 59
            aload 0 /* this */
            aload 1 /* env */
            invokevirtual com.sun.tools.example.debug.gui.Environment.getExecutionManager:()Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            putfield com.sun.tools.example.debug.gui.JDBMenuBar.runtime:Lcom/sun/tools/example/debug/bdi/ExecutionManager;
         3: .line 60
            aload 0 /* this */
            aload 1 /* env */
            invokevirtual com.sun.tools.example.debug.gui.Environment.getClassManager:()Lcom/sun/tools/example/debug/gui/ClassManager;
            putfield com.sun.tools.example.debug.gui.JDBMenuBar.classManager:Lcom/sun/tools/example/debug/gui/ClassManager;
         4: .line 61
            aload 0 /* this */
            aload 1 /* env */
            invokevirtual com.sun.tools.example.debug.gui.Environment.getSourceManager:()Lcom/sun/tools/example/debug/gui/SourceManager;
            putfield com.sun.tools.example.debug.gui.JDBMenuBar.sourceManager:Lcom/sun/tools/example/debug/gui/SourceManager;
         5: .line 62
            aload 0 /* this */
            new com.sun.tools.example.debug.gui.CommandInterpreter
            dup
            aload 1 /* env */
            iconst_1
            invokespecial com.sun.tools.example.debug.gui.CommandInterpreter.<init>:(Lcom/sun/tools/example/debug/gui/Environment;Z)V
            putfield com.sun.tools.example.debug.gui.JDBMenuBar.interpreter:Lcom/sun/tools/example/debug/gui/CommandInterpreter;
         6: .line 64
            new javax.swing.JMenu
            dup
            ldc "File"
            invokespecial javax.swing.JMenu.<init>:(Ljava/lang/String;)V
            astore 2 /* fileMenu */
        start local 2 // javax.swing.JMenu fileMenu
         7: .line 66
            new javax.swing.JMenuItem
            dup
            ldc "Open..."
            bipush 79
            invokespecial javax.swing.JMenuItem.<init>:(Ljava/lang/String;I)V
            astore 3 /* openItem */
        start local 3 // javax.swing.JMenuItem openItem
         8: .line 67
            aload 3 /* openItem */
            new com.sun.tools.example.debug.gui.JDBMenuBar$1
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.example.debug.gui.JDBMenuBar$1.<init>:(Lcom/sun/tools/example/debug/gui/JDBMenuBar;)V
            invokevirtual javax.swing.JMenuItem.addActionListener:(Ljava/awt/event/ActionListener;)V
         9: .line 73
            aload 2 /* fileMenu */
            aload 3 /* openItem */
            invokevirtual javax.swing.JMenu.add:(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem;
            pop
        10: .line 74
            aload 0 /* this */
            aload 2 /* fileMenu */
            ldc "Exit debugger"
            ldc "Exit"
            ldc "exit"
            invokevirtual com.sun.tools.example.debug.gui.JDBMenuBar.addTool:(Ljavax/swing/JMenu;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        11: .line 76
            new javax.swing.JMenu
            dup
            ldc "Commands"
            invokespecial javax.swing.JMenu.<init>:(Ljava/lang/String;)V
            astore 4 /* cmdMenu */
        start local 4 // javax.swing.JMenu cmdMenu
        12: .line 78
            aload 0 /* this */
            aload 4 /* cmdMenu */
            ldc "Step into next line"
            ldc "Step"
            ldc "step"
            invokevirtual com.sun.tools.example.debug.gui.JDBMenuBar.addTool:(Ljavax/swing/JMenu;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        13: .line 79
            aload 0 /* this */
            aload 4 /* cmdMenu */
            ldc "Step over next line"
            ldc "Next"
            ldc "next"
            invokevirtual com.sun.tools.example.debug.gui.JDBMenuBar.addTool:(Ljavax/swing/JMenu;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        14: .line 80
            aload 4 /* cmdMenu */
            invokevirtual javax.swing.JMenu.addSeparator:()V
        15: .line 82
            aload 0 /* this */
            aload 4 /* cmdMenu */
            ldc "Step into next instruction"
        16: .line 83
            ldc "Step Instruction"
            ldc "stepi"
        17: .line 82
            invokevirtual com.sun.tools.example.debug.gui.JDBMenuBar.addTool:(Ljavax/swing/JMenu;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        18: .line 84
            aload 0 /* this */
            aload 4 /* cmdMenu */
            ldc "Step over next instruction"
        19: .line 85
            ldc "Next Instruction"
            ldc "nexti"
        20: .line 84
            invokevirtual com.sun.tools.example.debug.gui.JDBMenuBar.addTool:(Ljavax/swing/JMenu;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        21: .line 86
            aload 4 /* cmdMenu */
            invokevirtual javax.swing.JMenu.addSeparator:()V
        22: .line 88
            aload 0 /* this */
            aload 4 /* cmdMenu */
            ldc "Step out of current method call"
        23: .line 89
            ldc "Step Up"
            ldc "step up"
        24: .line 88
            invokevirtual com.sun.tools.example.debug.gui.JDBMenuBar.addTool:(Ljavax/swing/JMenu;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        25: .line 90
            aload 4 /* cmdMenu */
            invokevirtual javax.swing.JMenu.addSeparator:()V
        26: .line 92
            aload 0 /* this */
            aload 4 /* cmdMenu */
            ldc "Suspend execution"
            ldc "Interrupt"
            ldc "interrupt"
            invokevirtual com.sun.tools.example.debug.gui.JDBMenuBar.addTool:(Ljavax/swing/JMenu;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        27: .line 93
            aload 0 /* this */
            aload 4 /* cmdMenu */
            ldc "Continue execution"
            ldc "Continue"
            ldc "cont"
            invokevirtual com.sun.tools.example.debug.gui.JDBMenuBar.addTool:(Ljavax/swing/JMenu;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        28: .line 94
            aload 4 /* cmdMenu */
            invokevirtual javax.swing.JMenu.addSeparator:()V
        29: .line 96
            aload 0 /* this */
            aload 4 /* cmdMenu */
            ldc "Display current stack"
            ldc "Where"
            ldc "where"
            invokevirtual com.sun.tools.example.debug.gui.JDBMenuBar.addTool:(Ljavax/swing/JMenu;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        30: .line 97
            aload 4 /* cmdMenu */
            invokevirtual javax.swing.JMenu.addSeparator:()V
        31: .line 99
            aload 0 /* this */
            aload 4 /* cmdMenu */
            ldc "Move up one stack frame"
            ldc "Up"
            ldc "up"
            invokevirtual com.sun.tools.example.debug.gui.JDBMenuBar.addTool:(Ljavax/swing/JMenu;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        32: .line 100
            aload 0 /* this */
            aload 4 /* cmdMenu */
            ldc "Move down one stack frame"
            ldc "Down"
            ldc "down"
            invokevirtual com.sun.tools.example.debug.gui.JDBMenuBar.addTool:(Ljavax/swing/JMenu;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        33: .line 101
            aload 4 /* cmdMenu */
            invokevirtual javax.swing.JMenu.addSeparator:()V
        34: .line 103
            new javax.swing.JMenuItem
            dup
            ldc "Monitor Expression..."
            bipush 77
            invokespecial javax.swing.JMenuItem.<init>:(Ljava/lang/String;I)V
            astore 5 /* monitorItem */
        start local 5 // javax.swing.JMenuItem monitorItem
        35: .line 104
            aload 5 /* monitorItem */
            new com.sun.tools.example.debug.gui.JDBMenuBar$2
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.example.debug.gui.JDBMenuBar$2.<init>:(Lcom/sun/tools/example/debug/gui/JDBMenuBar;)V
            invokevirtual javax.swing.JMenuItem.addActionListener:(Ljava/awt/event/ActionListener;)V
        36: .line 110
            aload 4 /* cmdMenu */
            aload 5 /* monitorItem */
            invokevirtual javax.swing.JMenu.add:(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem;
            pop
        37: .line 112
            new javax.swing.JMenuItem
            dup
            ldc "Unmonitor Expression..."
            invokespecial javax.swing.JMenuItem.<init>:(Ljava/lang/String;)V
            astore 6 /* unmonitorItem */
        start local 6 // javax.swing.JMenuItem unmonitorItem
        38: .line 113
            aload 6 /* unmonitorItem */
            new com.sun.tools.example.debug.gui.JDBMenuBar$3
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.example.debug.gui.JDBMenuBar$3.<init>:(Lcom/sun/tools/example/debug/gui/JDBMenuBar;)V
            invokevirtual javax.swing.JMenuItem.addActionListener:(Ljava/awt/event/ActionListener;)V
        39: .line 119
            aload 4 /* cmdMenu */
            aload 6 /* unmonitorItem */
            invokevirtual javax.swing.JMenu.add:(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem;
            pop
        40: .line 121
            new javax.swing.JMenu
            dup
            ldc "Breakpoint"
            invokespecial javax.swing.JMenu.<init>:(Ljava/lang/String;)V
            astore 7 /* breakpointMenu */
        start local 7 // javax.swing.JMenu breakpointMenu
        41: .line 122
            new javax.swing.JMenuItem
            dup
            ldc "Stop in..."
            bipush 83
            invokespecial javax.swing.JMenuItem.<init>:(Ljava/lang/String;I)V
            astore 8 /* stopItem */
        start local 8 // javax.swing.JMenuItem stopItem
        42: .line 123
            aload 8 /* stopItem */
            new com.sun.tools.example.debug.gui.JDBMenuBar$4
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.example.debug.gui.JDBMenuBar$4.<init>:(Lcom/sun/tools/example/debug/gui/JDBMenuBar;)V
            invokevirtual javax.swing.JMenuItem.addActionListener:(Ljava/awt/event/ActionListener;)V
        43: .line 129
            aload 7 /* breakpointMenu */
            aload 8 /* stopItem */
            invokevirtual javax.swing.JMenu.add:(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem;
            pop
        44: .line 131
            new javax.swing.JMenu
            dup
            ldc "Help"
            invokespecial javax.swing.JMenu.<init>:(Ljava/lang/String;)V
            astore 9 /* helpMenu */
        start local 9 // javax.swing.JMenu helpMenu
        45: .line 132
            aload 0 /* this */
            aload 9 /* helpMenu */
            ldc "Display command list"
            ldc "Help"
            ldc "help"
            invokevirtual com.sun.tools.example.debug.gui.JDBMenuBar.addTool:(Ljavax/swing/JMenu;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        46: .line 134
            aload 0 /* this */
            aload 2 /* fileMenu */
            invokevirtual com.sun.tools.example.debug.gui.JDBMenuBar.add:(Ljavax/swing/JMenu;)Ljavax/swing/JMenu;
            pop
        47: .line 135
            aload 0 /* this */
            aload 4 /* cmdMenu */
            invokevirtual com.sun.tools.example.debug.gui.JDBMenuBar.add:(Ljavax/swing/JMenu;)Ljavax/swing/JMenu;
            pop
        48: .line 137
            aload 0 /* this */
            aload 9 /* helpMenu */
            invokevirtual com.sun.tools.example.debug.gui.JDBMenuBar.add:(Ljavax/swing/JMenu;)Ljavax/swing/JMenu;
            pop
        49: .line 138
            return
        end local 9 // javax.swing.JMenu helpMenu
        end local 8 // javax.swing.JMenuItem stopItem
        end local 7 // javax.swing.JMenu breakpointMenu
        end local 6 // javax.swing.JMenuItem unmonitorItem
        end local 5 // javax.swing.JMenuItem monitorItem
        end local 4 // javax.swing.JMenu cmdMenu
        end local 3 // javax.swing.JMenuItem openItem
        end local 2 // javax.swing.JMenu fileMenu
        end local 1 // com.sun.tools.example.debug.gui.Environment env
        end local 0 // com.sun.tools.example.debug.gui.JDBMenuBar this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   50     0            this  Lcom/sun/tools/example/debug/gui/JDBMenuBar;
            0   50     1             env  Lcom/sun/tools/example/debug/gui/Environment;
            7   50     2        fileMenu  Ljavax/swing/JMenu;
            8   50     3        openItem  Ljavax/swing/JMenuItem;
           12   50     4         cmdMenu  Ljavax/swing/JMenu;
           35   50     5     monitorItem  Ljavax/swing/JMenuItem;
           38   50     6   unmonitorItem  Ljavax/swing/JMenuItem;
           41   50     7  breakpointMenu  Ljavax/swing/JMenu;
           42   50     8        stopItem  Ljavax/swing/JMenuItem;
           45   50     9        helpMenu  Ljavax/swing/JMenu;
    MethodParameters:
      Name  Flags
      env   

  private void buildBreakpoint();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // com.sun.tools.example.debug.gui.JDBMenuBar this
         0: .line 141
            invokestatic javax.swing.JOptionPane.getRootFrame:()Ljava/awt/Frame;
            astore 1 /* frame */
        start local 1 // java.awt.Frame frame
         1: .line 142
            new javax.swing.JDialog
            dup
            aload 1 /* frame */
            ldc "Specify Breakpoint"
            invokespecial javax.swing.JDialog.<init>:(Ljava/awt/Frame;Ljava/lang/String;)V
            astore 2 /* dialog */
        start local 2 // javax.swing.JDialog dialog
         2: .line 143
            aload 2 /* dialog */
            invokevirtual javax.swing.JDialog.getContentPane:()Ljava/awt/Container;
            astore 3 /* contents */
        start local 3 // java.awt.Container contents
         3: .line 144
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 4 /* classes */
        start local 4 // java.util.Vector classes
         4: .line 145
            aload 4 /* classes */
            ldc "Foo"
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
         5: .line 146
            aload 4 /* classes */
            ldc "Bar"
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
         6: .line 147
            new javax.swing.JList
            dup
            aload 4 /* classes */
            invokespecial javax.swing.JList.<init>:(Ljava/util/Vector;)V
            astore 5 /* list */
        start local 5 // javax.swing.JList list
         7: .line 148
            new javax.swing.JScrollPane
            dup
            aload 5 /* list */
            invokespecial javax.swing.JScrollPane.<init>:(Ljava/awt/Component;)V
            astore 6 /* scrollPane */
        start local 6 // javax.swing.JScrollPane scrollPane
         8: .line 149
            aload 3 /* contents */
            aload 6 /* scrollPane */
            invokevirtual java.awt.Container.add:(Ljava/awt/Component;)Ljava/awt/Component;
            pop
         9: .line 150
            aload 2 /* dialog */
            invokevirtual javax.swing.JDialog.show:()V
        10: .line 152
            return
        end local 6 // javax.swing.JScrollPane scrollPane
        end local 5 // javax.swing.JList list
        end local 4 // java.util.Vector classes
        end local 3 // java.awt.Container contents
        end local 2 // javax.swing.JDialog dialog
        end local 1 // java.awt.Frame frame
        end local 0 // com.sun.tools.example.debug.gui.JDBMenuBar this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lcom/sun/tools/example/debug/gui/JDBMenuBar;
            1   11     1       frame  Ljava/awt/Frame;
            2   11     2      dialog  Ljavax/swing/JDialog;
            3   11     3    contents  Ljava/awt/Container;
            4   11     4     classes  Ljava/util/Vector<Ljava/lang/String;>;
            7   11     5        list  Ljavax/swing/JList;
            8   11     6  scrollPane  Ljavax/swing/JScrollPane;

  private void monitorCommand();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // com.sun.tools.example.debug.gui.JDBMenuBar this
         0: .line 155
            aconst_null
         1: .line 156
            ldc "Expression to monitor:"
            ldc "Add Monitor"
         2: .line 157
            iconst_3
            aconst_null
            aconst_null
            aconst_null
         3: .line 155
            invokestatic javax.swing.JOptionPane.showInputDialog:(Ljava/awt/Component;Ljava/lang/Object;Ljava/lang/String;ILjavax/swing/Icon;[Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* expr */
        start local 1 // java.lang.String expr
         4: .line 158
            aload 1 /* expr */
            ifnull 6
         5: .line 159
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.JDBMenuBar.interpreter:Lcom/sun/tools/example/debug/gui/CommandInterpreter;
            new java.lang.StringBuilder
            dup
            ldc "monitor "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* expr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.tools.example.debug.gui.CommandInterpreter.executeCommand:(Ljava/lang/String;)V
         6: .line 161
      StackMap locals: java.lang.String
      StackMap stack:
            return
        end local 1 // java.lang.String expr
        end local 0 // com.sun.tools.example.debug.gui.JDBMenuBar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/example/debug/gui/JDBMenuBar;
            4    7     1  expr  Ljava/lang/String;

  private void unmonitorCommand();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=3, args_size=1
        start local 0 // com.sun.tools.example.debug.gui.JDBMenuBar this
         0: .line 164
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.JDBMenuBar.env:Lcom/sun/tools/example/debug/gui/Environment;
            invokevirtual com.sun.tools.example.debug.gui.Environment.getMonitorListModel:()Lcom/sun/tools/example/debug/gui/MonitorListModel;
            invokevirtual com.sun.tools.example.debug.gui.MonitorListModel.monitors:()Ljava/util/List;
            astore 1 /* monitors */
        start local 1 // java.util.List monitors
         1: .line 165
            aconst_null
         2: .line 166
            ldc "Expression to unmonitor:"
            ldc "Remove Monitor"
         3: .line 167
            iconst_3
            aconst_null
         4: .line 168
            aload 1 /* monitors */
            invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
         5: .line 169
            aload 1 /* monitors */
            aload 1 /* monitors */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
         6: .line 165
            invokestatic javax.swing.JOptionPane.showInputDialog:(Ljava/awt/Component;Ljava/lang/Object;Ljava/lang/String;ILjavax/swing/Icon;[Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* expr */
        start local 2 // java.lang.String expr
         7: .line 170
            aload 2 /* expr */
            ifnull 9
         8: .line 171
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.JDBMenuBar.interpreter:Lcom/sun/tools/example/debug/gui/CommandInterpreter;
            new java.lang.StringBuilder
            dup
            ldc "unmonitor "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* expr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.tools.example.debug.gui.CommandInterpreter.executeCommand:(Ljava/lang/String;)V
         9: .line 173
      StackMap locals: java.util.List java.lang.String
      StackMap stack:
            return
        end local 2 // java.lang.String expr
        end local 1 // java.util.List monitors
        end local 0 // com.sun.tools.example.debug.gui.JDBMenuBar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lcom/sun/tools/example/debug/gui/JDBMenuBar;
            1   10     1  monitors  Ljava/util/List;
            7   10     2      expr  Ljava/lang/String;

  private void openCommand();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.sun.tools.example.debug.gui.JDBMenuBar this
         0: .line 176
            new javax.swing.JFileChooser
            dup
            invokespecial javax.swing.JFileChooser.<init>:()V
            astore 1 /* chooser */
        start local 1 // javax.swing.JFileChooser chooser
         1: .line 177
            new com.sun.tools.example.debug.gui.JDBFileFilter
            dup
            ldc "java"
            ldc "Java source code"
            invokespecial com.sun.tools.example.debug.gui.JDBFileFilter.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 2 /* filter */
        start local 2 // com.sun.tools.example.debug.gui.JDBFileFilter filter
         2: .line 178
            aload 1 /* chooser */
            aload 2 /* filter */
            invokevirtual javax.swing.JFileChooser.setFileFilter:(Ljavax/swing/filechooser/FileFilter;)V
         3: .line 179
            aload 1 /* chooser */
            aload 0 /* this */
            invokevirtual javax.swing.JFileChooser.showOpenDialog:(Ljava/awt/Component;)I
            istore 3 /* result */
        start local 3 // int result
         4: .line 180
            iload 3 /* result */
            ifne 6
         5: .line 181
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Chose file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* chooser */
            invokevirtual javax.swing.JFileChooser.getSelectedFile:()Ljava/io/File;
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         6: .line 183
      StackMap locals: javax.swing.JFileChooser com.sun.tools.example.debug.gui.JDBFileFilter int
      StackMap stack:
            return
        end local 3 // int result
        end local 2 // com.sun.tools.example.debug.gui.JDBFileFilter filter
        end local 1 // javax.swing.JFileChooser chooser
        end local 0 // com.sun.tools.example.debug.gui.JDBMenuBar this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lcom/sun/tools/example/debug/gui/JDBMenuBar;
            1    7     1  chooser  Ljavax/swing/JFileChooser;
            2    7     2   filter  Lcom/sun/tools/example/debug/gui/JDBFileFilter;
            4    7     3   result  I

  private void addTool(javax.swing.JMenu, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljavax/swing/JMenu;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // com.sun.tools.example.debug.gui.JDBMenuBar this
        start local 1 // javax.swing.JMenu menu
        start local 2 // java.lang.String toolTip
        start local 3 // java.lang.String labelText
        start local 4 // java.lang.String command
         0: .line 187
            new javax.swing.JMenuItem
            dup
            aload 3 /* labelText */
            invokespecial javax.swing.JMenuItem.<init>:(Ljava/lang/String;)V
            astore 5 /* mi */
        start local 5 // javax.swing.JMenuItem mi
         1: .line 188
            aload 5 /* mi */
            aload 2 /* toolTip */
            invokevirtual javax.swing.JMenuItem.setToolTipText:(Ljava/lang/String;)V
         2: .line 189
            aload 4 /* command */
            astore 6 /* cmd */
        start local 6 // java.lang.String cmd
         3: .line 190
            aload 5 /* mi */
            new com.sun.tools.example.debug.gui.JDBMenuBar$5
            dup
            aload 0 /* this */
            aload 6 /* cmd */
            invokespecial com.sun.tools.example.debug.gui.JDBMenuBar$5.<init>:(Lcom/sun/tools/example/debug/gui/JDBMenuBar;Ljava/lang/String;)V
            invokevirtual javax.swing.JMenuItem.addActionListener:(Ljava/awt/event/ActionListener;)V
         4: .line 196
            aload 1 /* menu */
            aload 5 /* mi */
            invokevirtual javax.swing.JMenu.add:(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem;
            pop
         5: .line 197
            return
        end local 6 // java.lang.String cmd
        end local 5 // javax.swing.JMenuItem mi
        end local 4 // java.lang.String command
        end local 3 // java.lang.String labelText
        end local 2 // java.lang.String toolTip
        end local 1 // javax.swing.JMenu menu
        end local 0 // com.sun.tools.example.debug.gui.JDBMenuBar this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lcom/sun/tools/example/debug/gui/JDBMenuBar;
            0    6     1       menu  Ljavax/swing/JMenu;
            0    6     2    toolTip  Ljava/lang/String;
            0    6     3  labelText  Ljava/lang/String;
            0    6     4    command  Ljava/lang/String;
            1    6     5         mi  Ljavax/swing/JMenuItem;
            3    6     6        cmd  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      menu       
      toolTip    
      labelText  
      command    
}
SourceFile: "JDBMenuBar.java"
NestMembers:
  com.sun.tools.example.debug.gui.JDBMenuBar$1  com.sun.tools.example.debug.gui.JDBMenuBar$2  com.sun.tools.example.debug.gui.JDBMenuBar$3  com.sun.tools.example.debug.gui.JDBMenuBar$4  com.sun.tools.example.debug.gui.JDBMenuBar$5
InnerClasses:
  com.sun.tools.example.debug.gui.JDBMenuBar$1
  com.sun.tools.example.debug.gui.JDBMenuBar$2
  com.sun.tools.example.debug.gui.JDBMenuBar$3
  com.sun.tools.example.debug.gui.JDBMenuBar$4
  com.sun.tools.example.debug.gui.JDBMenuBar$5