class 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 ;
descriptor: Lcom/sun/tools/example/debug/gui/Environment;
flags: (0x0000)
com.sun.tools.example.debug.bdi.ExecutionManager ;
descriptor: Lcom/sun/tools/example/debug/bdi/ExecutionManager;
flags: (0x0000)
com.sun.tools.example.debug.gui.ClassManager ;
descriptor: Lcom/sun/tools/example/debug/gui/ClassManager;
flags: (0x0000)
com.sun.tools.example.debug.gui.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 (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 start local 1 0: aload 0
invokespecial javax.swing.JMenuBar.<init>:()V
1: aload 0
aload 1
putfield com.sun.tools.example.debug.gui.JDBMenuBar.env:Lcom/sun/tools/example/debug/gui/Environment;
2: aload 0
aload 1
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: aload 0
aload 1
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: aload 0
aload 1
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: aload 0
new com.sun.tools.example.debug.gui.CommandInterpreter
dup
aload 1
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: new javax.swing.JMenu
dup
ldc "File"
invokespecial javax.swing.JMenu.<init>:(Ljava/lang/String;)V
astore 2
start local 2 7: new javax.swing.JMenuItem
dup
ldc "Open..."
bipush 79
invokespecial javax.swing.JMenuItem.<init>:(Ljava/lang/String;I)V
astore 3
start local 3 8: aload 3
new com.sun.tools.example.debug.gui.JDBMenuBar$1
dup
aload 0
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: aload 2
aload 3
invokevirtual javax.swing.JMenu.add:(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem;
pop
10: aload 0
aload 2
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: new javax.swing.JMenu
dup
ldc "Commands"
invokespecial javax.swing.JMenu.<init>:(Ljava/lang/String;)V
astore 4
start local 4 12: aload 0
aload 4
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: aload 0
aload 4
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: aload 4
invokevirtual javax.swing.JMenu.addSeparator:()V
15: aload 0
aload 4
ldc "Step into next instruction"
16: ldc "Step Instruction"
ldc "stepi"
17: invokevirtual com.sun.tools.example.debug.gui.JDBMenuBar.addTool:(Ljavax/swing/JMenu;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
18: aload 0
aload 4
ldc "Step over next instruction"
19: ldc "Next Instruction"
ldc "nexti"
20: invokevirtual com.sun.tools.example.debug.gui.JDBMenuBar.addTool:(Ljavax/swing/JMenu;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
21: aload 4
invokevirtual javax.swing.JMenu.addSeparator:()V
22: aload 0
aload 4
ldc "Step out of current method call"
23: ldc "Step Up"
ldc "step up"
24: invokevirtual com.sun.tools.example.debug.gui.JDBMenuBar.addTool:(Ljavax/swing/JMenu;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
25: aload 4
invokevirtual javax.swing.JMenu.addSeparator:()V
26: aload 0
aload 4
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: aload 0
aload 4
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: aload 4
invokevirtual javax.swing.JMenu.addSeparator:()V
29: aload 0
aload 4
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: aload 4
invokevirtual javax.swing.JMenu.addSeparator:()V
31: aload 0
aload 4
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: aload 0
aload 4
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: aload 4
invokevirtual javax.swing.JMenu.addSeparator:()V
34: new javax.swing.JMenuItem
dup
ldc "Monitor Expression..."
bipush 77
invokespecial javax.swing.JMenuItem.<init>:(Ljava/lang/String;I)V
astore 5
start local 5 35: aload 5
new com.sun.tools.example.debug.gui.JDBMenuBar$2
dup
aload 0
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: aload 4
aload 5
invokevirtual javax.swing.JMenu.add:(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem;
pop
37: new javax.swing.JMenuItem
dup
ldc "Unmonitor Expression..."
invokespecial javax.swing.JMenuItem.<init>:(Ljava/lang/String;)V
astore 6
start local 6 38: aload 6
new com.sun.tools.example.debug.gui.JDBMenuBar$3
dup
aload 0
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: aload 4
aload 6
invokevirtual javax.swing.JMenu.add:(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem;
pop
40: new javax.swing.JMenu
dup
ldc "Breakpoint"
invokespecial javax.swing.JMenu.<init>:(Ljava/lang/String;)V
astore 7
start local 7 41: new javax.swing.JMenuItem
dup
ldc "Stop in..."
bipush 83
invokespecial javax.swing.JMenuItem.<init>:(Ljava/lang/String;I)V
astore 8
start local 8 42: aload 8
new com.sun.tools.example.debug.gui.JDBMenuBar$4
dup
aload 0
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: aload 7
aload 8
invokevirtual javax.swing.JMenu.add:(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem;
pop
44: new javax.swing.JMenu
dup
ldc "Help"
invokespecial javax.swing.JMenu.<init>:(Ljava/lang/String;)V
astore 9
start local 9 45: aload 0
aload 9
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: aload 0
aload 2
invokevirtual com.sun.tools.example.debug.gui.JDBMenuBar.add:(Ljavax/swing/JMenu;)Ljavax/swing/JMenu;
pop
47: aload 0
aload 4
invokevirtual com.sun.tools.example.debug.gui.JDBMenuBar.add:(Ljavax/swing/JMenu;)Ljavax/swing/JMenu;
pop
48: aload 0
aload 9
invokevirtual com.sun.tools.example.debug.gui.JDBMenuBar.add:(Ljavax/swing/JMenu;)Ljavax/swing/JMenu;
pop
49: return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 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 ();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=1
start local 0 0: invokestatic javax.swing.JOptionPane.getRootFrame:()Ljava/awt/Frame;
astore 1
start local 1 1: new javax.swing.JDialog
dup
aload 1
ldc "Specify Breakpoint"
invokespecial javax.swing.JDialog.<init>:(Ljava/awt/Frame;Ljava/lang/String;)V
astore 2
start local 2 2: aload 2
invokevirtual javax.swing.JDialog.getContentPane:()Ljava/awt/Container;
astore 3
start local 3 3: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 4
start local 4 4: aload 4
ldc "Foo"
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
5: aload 4
ldc "Bar"
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
6: new javax.swing.JList
dup
aload 4
invokespecial javax.swing.JList.<init>:(Ljava/util/Vector;)V
astore 5
start local 5 7: new javax.swing.JScrollPane
dup
aload 5
invokespecial javax.swing.JScrollPane.<init>:(Ljava/awt/Component;)V
astore 6
start local 6 8: aload 3
aload 6
invokevirtual java.awt.Container.add:(Ljava/awt/Component;)Ljava/awt/Component;
pop
9: aload 2
invokevirtual javax.swing.JDialog.show:()V
10: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 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 0: aconst_null
1: ldc "Expression to monitor:"
ldc "Add Monitor"
2: iconst_3
aconst_null
aconst_null
aconst_null
3: 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
start local 1 4: aload 1
ifnull 6
5: aload 0
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
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: StackMap locals: java.lang.String
StackMap stack:
return
end local 1 end local 0 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 0: aload 0
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
start local 1 1: aconst_null
2: ldc "Expression to unmonitor:"
ldc "Remove Monitor"
3: iconst_3
aconst_null
4: aload 1
invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
5: aload 1
aload 1
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
6: 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
start local 2 7: aload 2
ifnull 9
8: aload 0
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
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: StackMap locals: java.util.List java.lang.String
StackMap stack:
return
end local 2 end local 1 end local 0 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 0: new javax.swing.JFileChooser
dup
invokespecial javax.swing.JFileChooser.<init>:()V
astore 1
start local 1 1: 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
start local 2 2: aload 1
aload 2
invokevirtual javax.swing.JFileChooser.setFileFilter:(Ljavax/swing/filechooser/FileFilter;)V
3: aload 1
aload 0
invokevirtual javax.swing.JFileChooser.showOpenDialog:(Ljava/awt/Component;)I
istore 3
start local 3 4: iload 3
ifne 6
5: 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
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: StackMap locals: javax.swing.JFileChooser com.sun.tools.example.debug.gui.JDBFileFilter int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 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 (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 start local 1 start local 2 start local 3 start local 4 0: new javax.swing.JMenuItem
dup
aload 3
invokespecial javax.swing.JMenuItem.<init>:(Ljava/lang/String;)V
astore 5
start local 5 1: aload 5
aload 2
invokevirtual javax.swing.JMenuItem.setToolTipText:(Ljava/lang/String;)V
2: aload 4
astore 6
start local 6 3: aload 5
new com.sun.tools.example.debug.gui.JDBMenuBar$5
dup
aload 0
aload 6
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: aload 1
aload 5
invokevirtual javax.swing.JMenu.add:(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem;
pop
5: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 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