public class sun.jvm.hotspot.ui.Inspector extends sun.jvm.hotspot.ui.SAPanel
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.jvm.hotspot.ui.Inspector
  super_class: sun.jvm.hotspot.ui.SAPanel
{
  private javax.swing.JTree tree;
    descriptor: Ljavax/swing/JTree;
    flags: (0x0002) ACC_PRIVATE

  private sun.jvm.hotspot.ui.tree.SimpleTreeModel model;
    descriptor: Lsun/jvm/hotspot/ui/tree/SimpleTreeModel;
    flags: (0x0002) ACC_PRIVATE

  private sun.jvm.hotspot.ui.HistoryComboBox addressField;
    descriptor: Lsun/jvm/hotspot/ui/HistoryComboBox;
    flags: (0x0002) ACC_PRIVATE

  private javax.swing.JLabel statusLabel;
    descriptor: Ljavax/swing/JLabel;
    flags: (0x0002) ACC_PRIVATE

  private javax.swing.JButton livenessButton;
    descriptor: Ljavax/swing/JButton;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.event.ActionListener livenessButtonListener;
    descriptor: Ljava/awt/event/ActionListener;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.event.ActionListener showLivenessListener;
    descriptor: Ljava/awt/event/ActionListener;
    flags: (0x0002) ACC_PRIVATE

  private static final java.lang.String computeLivenessText;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Compute Liveness"

  private static final java.lang.String showLivenessText;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Show Liveness"

  private javax.swing.JLabel liveStatus;
    descriptor: Ljavax/swing/JLabel;
    flags: (0x0002) ACC_PRIVATE

  private sun.jvm.hotspot.utilities.LivenessPathList list;
    descriptor: Lsun/jvm/hotspot/utilities/LivenessPathList;
    flags: (0x0002) ACC_PRIVATE

  private sun.jvm.hotspot.oops.Oop currentOop;
    descriptor: Lsun/jvm/hotspot/oops/Oop;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // sun.jvm.hotspot.ui.Inspector this
         0: .line 62
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.ui.SAPanel.<init>:()V
         1: .line 59
            aload 0 /* this */
            aconst_null
            putfield sun.jvm.hotspot.ui.Inspector.list:Lsun/jvm/hotspot/utilities/LivenessPathList;
         2: .line 60
            aload 0 /* this */
            aconst_null
            putfield sun.jvm.hotspot.ui.Inspector.currentOop:Lsun/jvm/hotspot/oops/Oop;
         3: .line 63
            aload 0 /* this */
            new sun.jvm.hotspot.ui.tree.SimpleTreeModel
            dup
            invokespecial sun.jvm.hotspot.ui.tree.SimpleTreeModel.<init>:()V
            putfield sun.jvm.hotspot.ui.Inspector.model:Lsun/jvm/hotspot/ui/tree/SimpleTreeModel;
         4: .line 64
            aload 0 /* this */
            new javax.swing.JTree
            dup
            aload 0 /* this */
            getfield sun.jvm.hotspot.ui.Inspector.model:Lsun/jvm/hotspot/ui/tree/SimpleTreeModel;
            invokespecial javax.swing.JTree.<init>:(Ljavax/swing/tree/TreeModel;)V
            putfield sun.jvm.hotspot.ui.Inspector.tree:Ljavax/swing/JTree;
         5: .line 66
            aload 0 /* this */
            new java.awt.BorderLayout
            dup
            invokespecial java.awt.BorderLayout.<init>:()V
            invokevirtual sun.jvm.hotspot.ui.Inspector.setLayout:(Ljava/awt/LayoutManager;)V
         6: .line 67
            invokestatic javax.swing.Box.createHorizontalBox:()Ljavax/swing/Box;
            astore 1 /* hbox */
        start local 1 // javax.swing.Box hbox
         7: .line 68
            new javax.swing.JButton
            dup
            ldc "Previous Oop"
            invokespecial javax.swing.JButton.<init>:(Ljava/lang/String;)V
            astore 2 /* button */
        start local 2 // javax.swing.JButton button
         8: .line 69
            aload 2 /* button */
            new sun.jvm.hotspot.ui.Inspector$1
            dup
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.ui.Inspector$1.<init>:(Lsun/jvm/hotspot/ui/Inspector;)V
            invokevirtual javax.swing.JButton.addActionListener:(Ljava/awt/event/ActionListener;)V
         9: .line 81
            aload 1 /* hbox */
            aload 2 /* button */
            invokevirtual javax.swing.Box.add:(Ljava/awt/Component;)Ljava/awt/Component;
            pop
        10: .line 82
            aload 1 /* hbox */
            new javax.swing.JLabel
            dup
            ldc "Address / C++ Expression: "
            invokespecial javax.swing.JLabel.<init>:(Ljava/lang/String;)V
            invokevirtual javax.swing.Box.add:(Ljava/awt/Component;)Ljava/awt/Component;
            pop
        11: .line 83
            aload 0 /* this */
            new sun.jvm.hotspot.ui.HistoryComboBox
            dup
            invokespecial sun.jvm.hotspot.ui.HistoryComboBox.<init>:()V
            putfield sun.jvm.hotspot.ui.Inspector.addressField:Lsun/jvm/hotspot/ui/HistoryComboBox;
        12: .line 84
            aload 1 /* hbox */
            aload 0 /* this */
            getfield sun.jvm.hotspot.ui.Inspector.addressField:Lsun/jvm/hotspot/ui/HistoryComboBox;
            invokevirtual javax.swing.Box.add:(Ljava/awt/Component;)Ljava/awt/Component;
            pop
        13: .line 85
            aload 0 /* this */
            new javax.swing.JLabel
            dup
            invokespecial javax.swing.JLabel.<init>:()V
            putfield sun.jvm.hotspot.ui.Inspector.statusLabel:Ljavax/swing/JLabel;
        14: .line 86
            aload 1 /* hbox */
            aload 0 /* this */
            getfield sun.jvm.hotspot.ui.Inspector.statusLabel:Ljavax/swing/JLabel;
            invokevirtual javax.swing.Box.add:(Ljava/awt/Component;)Ljava/awt/Component;
            pop
        15: .line 88
            invokestatic javax.swing.Box.createHorizontalBox:()Ljavax/swing/Box;
            astore 3 /* hboxDown */
        start local 3 // javax.swing.Box hboxDown
        16: .line 89
            aload 3 /* hboxDown */
            invokestatic javax.swing.Box.createGlue:()Ljava/awt/Component;
            invokevirtual javax.swing.Box.add:(Ljava/awt/Component;)Ljava/awt/Component;
            pop
        17: .line 91
            aload 0 /* this */
            new javax.swing.JButton
            dup
            ldc "Compute Liveness"
            invokespecial javax.swing.JButton.<init>:(Ljava/lang/String;)V
            putfield sun.jvm.hotspot.ui.Inspector.livenessButton:Ljavax/swing/JButton;
        18: .line 92
            aload 0 /* this */
            new sun.jvm.hotspot.ui.Inspector$2
            dup
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.ui.Inspector$2.<init>:(Lsun/jvm/hotspot/ui/Inspector;)V
            putfield sun.jvm.hotspot.ui.Inspector.livenessButtonListener:Ljava/awt/event/ActionListener;
        19: .line 100
            aload 0 /* this */
            new sun.jvm.hotspot.ui.Inspector$3
            dup
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.ui.Inspector$3.<init>:(Lsun/jvm/hotspot/ui/Inspector;)V
            putfield sun.jvm.hotspot.ui.Inspector.showLivenessListener:Ljava/awt/event/ActionListener;
        20: .line 105
            aload 0 /* this */
            getfield sun.jvm.hotspot.ui.Inspector.livenessButton:Ljavax/swing/JButton;
            aload 0 /* this */
            getfield sun.jvm.hotspot.ui.Inspector.livenessButtonListener:Ljava/awt/event/ActionListener;
            invokevirtual javax.swing.JButton.addActionListener:(Ljava/awt/event/ActionListener;)V
        21: .line 106
            aload 3 /* hboxDown */
            aload 0 /* this */
            getfield sun.jvm.hotspot.ui.Inspector.livenessButton:Ljavax/swing/JButton;
            invokevirtual javax.swing.Box.add:(Ljava/awt/Component;)Ljava/awt/Component;
            pop
        22: .line 107
            aload 3 /* hboxDown */
            invokestatic javax.swing.Box.createGlue:()Ljava/awt/Component;
            invokevirtual javax.swing.Box.add:(Ljava/awt/Component;)Ljava/awt/Component;
            pop
        23: .line 109
            aload 0 /* this */
            new javax.swing.JLabel
            dup
            invokespecial javax.swing.JLabel.<init>:()V
            putfield sun.jvm.hotspot.ui.Inspector.liveStatus:Ljavax/swing/JLabel;
        24: .line 110
            aload 3 /* hboxDown */
            aload 0 /* this */
            getfield sun.jvm.hotspot.ui.Inspector.liveStatus:Ljavax/swing/JLabel;
            invokevirtual javax.swing.Box.add:(Ljava/awt/Component;)Ljava/awt/Component;
            pop
        25: .line 111
            aload 3 /* hboxDown */
            invokestatic javax.swing.Box.createGlue:()Ljava/awt/Component;
            invokevirtual javax.swing.Box.add:(Ljava/awt/Component;)Ljava/awt/Component;
            pop
        26: .line 113
            aload 0 /* this */
            aload 1 /* hbox */
            ldc "North"
            invokevirtual sun.jvm.hotspot.ui.Inspector.add:(Ljava/awt/Component;Ljava/lang/Object;)V
        27: .line 114
            aload 0 /* this */
            aload 3 /* hboxDown */
            ldc "South"
            invokevirtual sun.jvm.hotspot.ui.Inspector.add:(Ljava/awt/Component;Ljava/lang/Object;)V
        28: .line 116
            aload 0 /* this */
            getfield sun.jvm.hotspot.ui.Inspector.addressField:Lsun/jvm/hotspot/ui/HistoryComboBox;
            new sun.jvm.hotspot.ui.Inspector$4
            dup
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.ui.Inspector$4.<init>:(Lsun/jvm/hotspot/ui/Inspector;)V
            invokevirtual sun.jvm.hotspot.ui.HistoryComboBox.addActionListener:(Ljava/awt/event/ActionListener;)V
        29: .line 267
            new sun.jvm.hotspot.ui.Inspector$5
            dup
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.ui.Inspector$5.<init>:(Lsun/jvm/hotspot/ui/Inspector;)V
            astore 4 /* ml */
        start local 4 // java.awt.event.MouseListener ml
        30: .line 281
            aload 0 /* this */
            getfield sun.jvm.hotspot.ui.Inspector.tree:Ljavax/swing/JTree;
            aload 4 /* ml */
            invokevirtual javax.swing.JTree.addMouseListener:(Ljava/awt/event/MouseListener;)V
        31: .line 283
            new javax.swing.JScrollPane
            dup
            aload 0 /* this */
            getfield sun.jvm.hotspot.ui.Inspector.tree:Ljavax/swing/JTree;
            invokespecial javax.swing.JScrollPane.<init>:(Ljava/awt/Component;)V
            astore 5 /* scrollPane */
        start local 5 // javax.swing.JScrollPane scrollPane
        32: .line 286
            aload 0 /* this */
            aload 5 /* scrollPane */
            ldc "Center"
            invokevirtual sun.jvm.hotspot.ui.Inspector.add:(Ljava/awt/Component;Ljava/lang/Object;)V
        33: .line 287
            return
        end local 5 // javax.swing.JScrollPane scrollPane
        end local 4 // java.awt.event.MouseListener ml
        end local 3 // javax.swing.Box hboxDown
        end local 2 // javax.swing.JButton button
        end local 1 // javax.swing.Box hbox
        end local 0 // sun.jvm.hotspot.ui.Inspector this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   34     0        this  Lsun/jvm/hotspot/ui/Inspector;
            7   34     1        hbox  Ljavax/swing/Box;
            8   34     2      button  Ljavax/swing/JButton;
           16   34     3    hboxDown  Ljavax/swing/Box;
           30   34     4          ml  Ljava/awt/event/MouseListener;
           32   34     5  scrollPane  Ljavax/swing/JScrollPane;

  public void <init>(sun.jvm.hotspot.ui.tree.SimpleTreeNode);
    descriptor: (Lsun/jvm/hotspot/ui/tree/SimpleTreeNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.ui.Inspector this
        start local 1 // sun.jvm.hotspot.ui.tree.SimpleTreeNode root
         0: .line 290
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.ui.Inspector.<init>:()V
         1: .line 291
            new sun.jvm.hotspot.ui.Inspector$6
            dup
            aload 0 /* this */
            aload 1 /* root */
            invokespecial sun.jvm.hotspot.ui.Inspector$6.<init>:(Lsun/jvm/hotspot/ui/Inspector;Lsun/jvm/hotspot/ui/tree/SimpleTreeNode;)V
            invokestatic javax.swing.SwingUtilities.invokeLater:(Ljava/lang/Runnable;)V
         2: .line 300
            return
        end local 1 // sun.jvm.hotspot.ui.tree.SimpleTreeNode root
        end local 0 // sun.jvm.hotspot.ui.Inspector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/jvm/hotspot/ui/Inspector;
            0    3     1  root  Lsun/jvm/hotspot/ui/tree/SimpleTreeNode;
    MethodParameters:
      Name  Flags
      root  final

  private void setRoot(sun.jvm.hotspot.ui.tree.SimpleTreeNode);
    descriptor: (Lsun/jvm/hotspot/ui/tree/SimpleTreeNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.ui.Inspector this
        start local 1 // sun.jvm.hotspot.ui.tree.SimpleTreeNode root
         0: .line 303
            aload 0 /* this */
            getfield sun.jvm.hotspot.ui.Inspector.model:Lsun/jvm/hotspot/ui/tree/SimpleTreeModel;
            aload 1 /* root */
            invokevirtual sun.jvm.hotspot.ui.tree.SimpleTreeModel.setRoot:(Lsun/jvm/hotspot/ui/tree/SimpleTreeNode;)V
         1: .line 310
            return
        end local 1 // sun.jvm.hotspot.ui.tree.SimpleTreeNode root
        end local 0 // sun.jvm.hotspot.ui.Inspector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/jvm/hotspot/ui/Inspector;
            0    2     1  root  Lsun/jvm/hotspot/ui/tree/SimpleTreeNode;
    MethodParameters:
      Name  Flags
      root  

  private void fireComputeLiveness();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // sun.jvm.hotspot.ui.Inspector this
         0: .line 313
            new sun.jvm.hotspot.ui.Inspector$7
            dup
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.ui.Inspector$7.<init>:(Lsun/jvm/hotspot/ui/Inspector;)V
            astore 1 /* cutoverButtonRunnable */
        start local 1 // java.lang.Runnable cutoverButtonRunnable
         1: .line 330
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getRevPtrs:()Lsun/jvm/hotspot/utilities/ReversePtrs;
            ifnull 4
         2: .line 331
            aload 1 /* cutoverButtonRunnable */
            invokeinterface java.lang.Runnable.run:()V
         3: .line 332
            goto 6
         4: .line 333
      StackMap locals: java.lang.Runnable
      StackMap stack:
            new sun.jvm.hotspot.utilities.WorkerThread
            dup
            invokespecial sun.jvm.hotspot.utilities.WorkerThread.<init>:()V
            astore 2 /* worker */
        start local 2 // sun.jvm.hotspot.utilities.WorkerThread worker
         5: .line 334
            aload 2 /* worker */
            new sun.jvm.hotspot.ui.Inspector$8
            dup
            aload 0 /* this */
            aload 2 /* worker */
            aload 1 /* cutoverButtonRunnable */
            invokespecial sun.jvm.hotspot.ui.Inspector$8.<init>:(Lsun/jvm/hotspot/ui/Inspector;Lsun/jvm/hotspot/utilities/WorkerThread;Ljava/lang/Runnable;)V
            invokevirtual sun.jvm.hotspot.utilities.WorkerThread.invokeLater:(Ljava/lang/Runnable;)V
        end local 2 // sun.jvm.hotspot.utilities.WorkerThread worker
         6: .line 346
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Runnable cutoverButtonRunnable
        end local 0 // sun.jvm.hotspot.ui.Inspector this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    7     0                   this  Lsun/jvm/hotspot/ui/Inspector;
            1    7     1  cutoverButtonRunnable  Ljava/lang/Runnable;
            5    6     2                 worker  Lsun/jvm/hotspot/utilities/WorkerThread;

  private void fireShowLiveness();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // sun.jvm.hotspot.ui.Inspector this
         0: .line 349
            aload 0 /* this */
            getfield sun.jvm.hotspot.ui.Inspector.list:Lsun/jvm/hotspot/utilities/LivenessPathList;
            ifnonnull 2
         1: .line 350
            return
         2: .line 353
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.ui.Inspector.listeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         3: goto 6
         4: .line 354
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.jvm.hotspot.ui.SAListener
            astore 2 /* listener */
        start local 2 // sun.jvm.hotspot.ui.SAListener listener
         5: .line 355
            aload 2 /* listener */
            aload 0 /* this */
            getfield sun.jvm.hotspot.ui.Inspector.currentOop:Lsun/jvm/hotspot/oops/Oop;
            aload 0 /* this */
            getfield sun.jvm.hotspot.ui.Inspector.list:Lsun/jvm/hotspot/utilities/LivenessPathList;
            invokeinterface sun.jvm.hotspot.ui.SAListener.showLiveness:(Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/utilities/LivenessPathList;)V
        end local 2 // sun.jvm.hotspot.ui.SAListener listener
         6: .line 353
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 1 // java.util.Iterator iter
         7: .line 357
            return
        end local 0 // sun.jvm.hotspot.ui.Inspector this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lsun/jvm/hotspot/ui/Inspector;
            3    7     1      iter  Ljava/util/Iterator;
            5    6     2  listener  Lsun/jvm/hotspot/ui/SAListener;
}
SourceFile: "Inspector.java"
NestMembers:
  sun.jvm.hotspot.ui.Inspector$1  sun.jvm.hotspot.ui.Inspector$2  sun.jvm.hotspot.ui.Inspector$3  sun.jvm.hotspot.ui.Inspector$4  sun.jvm.hotspot.ui.Inspector$5  sun.jvm.hotspot.ui.Inspector$6  sun.jvm.hotspot.ui.Inspector$7  sun.jvm.hotspot.ui.Inspector$8
InnerClasses:
  sun.jvm.hotspot.ui.Inspector$1
  sun.jvm.hotspot.ui.Inspector$2
  sun.jvm.hotspot.ui.Inspector$3
  sun.jvm.hotspot.ui.Inspector$4
  sun.jvm.hotspot.ui.Inspector$5
  sun.jvm.hotspot.ui.Inspector$6
  sun.jvm.hotspot.ui.Inspector$7
  sun.jvm.hotspot.ui.Inspector$8