final class sun.tools.jconsole.ExceptionSafePlugin extends com.sun.tools.jconsole.JConsolePlugin
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.tools.jconsole.ExceptionSafePlugin
  super_class: com.sun.tools.jconsole.JConsolePlugin
{
  private static boolean ignoreExceptions;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private final com.sun.tools.jconsole.JConsolePlugin plugin;
    descriptor: Lcom/sun/tools/jconsole/JConsolePlugin;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(com.sun.tools.jconsole.JConsolePlugin);
    descriptor: (Lcom/sun/tools/jconsole/JConsolePlugin;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.tools.jconsole.ExceptionSafePlugin this
        start local 1 // com.sun.tools.jconsole.JConsolePlugin plugin
         0: .line 45
            aload 0 /* this */
            invokespecial com.sun.tools.jconsole.JConsolePlugin.<init>:()V
         1: .line 46
            aload 0 /* this */
            aload 1 /* plugin */
            putfield sun.tools.jconsole.ExceptionSafePlugin.plugin:Lcom/sun/tools/jconsole/JConsolePlugin;
         2: .line 47
            return
        end local 1 // com.sun.tools.jconsole.JConsolePlugin plugin
        end local 0 // sun.tools.jconsole.ExceptionSafePlugin this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lsun/tools/jconsole/ExceptionSafePlugin;
            0    3     1  plugin  Lcom/sun/tools/jconsole/JConsolePlugin;
    MethodParameters:
        Name  Flags
      plugin  

  public java.util.Map<java.lang.String, javax.swing.JPanel> getTabs();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.tools.jconsole.ExceptionSafePlugin this
         0: .line 52
            aload 0 /* this */
            getfield sun.tools.jconsole.ExceptionSafePlugin.plugin:Lcom/sun/tools/jconsole/JConsolePlugin;
            invokevirtual com.sun.tools.jconsole.JConsolePlugin.getTabs:()Ljava/util/Map;
         1: areturn
         2: .line 53
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 1 /* e */
        start local 1 // java.lang.RuntimeException e
         3: .line 54
            aload 0 /* this */
            aload 1 /* e */
            invokevirtual sun.tools.jconsole.ExceptionSafePlugin.handleException:(Ljava/lang/Exception;)V
        end local 1 // java.lang.RuntimeException e
         4: .line 56
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            areturn
        end local 0 // sun.tools.jconsole.ExceptionSafePlugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/tools/jconsole/ExceptionSafePlugin;
            3    4     1     e  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.RuntimeException
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljavax/swing/JPanel;>;

  public javax.swing.SwingWorker<?, ?> newSwingWorker();
    descriptor: ()Ljavax/swing/SwingWorker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.tools.jconsole.ExceptionSafePlugin this
         0: .line 62
            aload 0 /* this */
            getfield sun.tools.jconsole.ExceptionSafePlugin.plugin:Lcom/sun/tools/jconsole/JConsolePlugin;
            invokevirtual com.sun.tools.jconsole.JConsolePlugin.newSwingWorker:()Ljavax/swing/SwingWorker;
         1: areturn
         2: .line 63
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 1 /* e */
        start local 1 // java.lang.RuntimeException e
         3: .line 64
            aload 0 /* this */
            aload 1 /* e */
            invokevirtual sun.tools.jconsole.ExceptionSafePlugin.handleException:(Ljava/lang/Exception;)V
        end local 1 // java.lang.RuntimeException e
         4: .line 66
            aconst_null
            areturn
        end local 0 // sun.tools.jconsole.ExceptionSafePlugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/tools/jconsole/ExceptionSafePlugin;
            3    4     1     e  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.RuntimeException
    Signature: ()Ljavax/swing/SwingWorker<**>;

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.tools.jconsole.ExceptionSafePlugin this
         0: .line 72
            aload 0 /* this */
            getfield sun.tools.jconsole.ExceptionSafePlugin.plugin:Lcom/sun/tools/jconsole/JConsolePlugin;
            invokevirtual com.sun.tools.jconsole.JConsolePlugin.dispose:()V
         1: .line 73
            goto 4
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
         2: astore 1 /* e */
        start local 1 // java.lang.RuntimeException e
         3: .line 74
            aload 0 /* this */
            aload 1 /* e */
            invokevirtual sun.tools.jconsole.ExceptionSafePlugin.handleException:(Ljava/lang/Exception;)V
        end local 1 // java.lang.RuntimeException e
         4: .line 76
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.tools.jconsole.ExceptionSafePlugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/tools/jconsole/ExceptionSafePlugin;
            3    4     1     e  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.RuntimeException

  public void executeSwingWorker(javax.swing.SwingWorker<?, ?>);
    descriptor: (Ljavax/swing/SwingWorker;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.tools.jconsole.ExceptionSafePlugin this
        start local 1 // javax.swing.SwingWorker sw
         0: .line 80
            aload 1 /* sw */
            invokevirtual javax.swing.SwingWorker.execute:()V
         1: .line 81
            goto 4
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
         2: astore 2 /* e */
        start local 2 // java.lang.RuntimeException e
         3: .line 82
            aload 0 /* this */
            aload 2 /* e */
            invokevirtual sun.tools.jconsole.ExceptionSafePlugin.handleException:(Ljava/lang/Exception;)V
        end local 2 // java.lang.RuntimeException e
         4: .line 84
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.swing.SwingWorker sw
        end local 0 // sun.tools.jconsole.ExceptionSafePlugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/tools/jconsole/ExceptionSafePlugin;
            0    5     1    sw  Ljavax/swing/SwingWorker<**>;
            3    4     2     e  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.RuntimeException
    Signature: (Ljavax/swing/SwingWorker<**>;)V
    MethodParameters:
      Name  Flags
      sw    

  private void handleException(java.lang.Exception);
    descriptor: (Ljava/lang/Exception;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.tools.jconsole.ExceptionSafePlugin this
        start local 1 // java.lang.Exception e
         0: .line 87
            invokestatic sun.tools.jconsole.JConsole.isDebug:()Z
            ifeq 4
         1: .line 88
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Plug-in exception:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 89
            aload 1 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
         3: .line 90
            goto 6
         4: .line 91
      StackMap locals:
      StackMap stack:
            getstatic sun.tools.jconsole.ExceptionSafePlugin.ignoreExceptions:Z
            ifne 6
         5: .line 92
            aload 0 /* this */
            aload 1 /* e */
            invokevirtual sun.tools.jconsole.ExceptionSafePlugin.showExceptionDialog:(Ljava/lang/Exception;)V
         6: .line 95
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Exception e
        end local 0 // sun.tools.jconsole.ExceptionSafePlugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/tools/jconsole/ExceptionSafePlugin;
            0    7     1     e  Ljava/lang/Exception;
    MethodParameters:
      Name  Flags
      e     

  private void showExceptionDialog(java.lang.Exception);
    descriptor: (Ljava/lang/Exception;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=5, args_size=2
        start local 0 // sun.tools.jconsole.ExceptionSafePlugin this
        start local 1 // java.lang.Exception e
         0: .line 98
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         1: .line 99
            getstatic sun.tools.jconsole.Messages.PLUGIN_EXCEPTION_DIALOG_BUTTON_OK:Ljava/lang/String;
            aastore
            dup
            iconst_1
         2: .line 100
            getstatic sun.tools.jconsole.Messages.PLUGIN_EXCEPTION_DIALOG_BUTTON_EXIT:Ljava/lang/String;
            aastore
            dup
            iconst_2
         3: .line 101
            getstatic sun.tools.jconsole.Messages.PLUGIN_EXCEPTION_DIALOG_BUTTON_IGNORE:Ljava/lang/String;
            aastore
         4: .line 98
            astore 2 /* buttonTexts */
        start local 2 // java.lang.Object[] buttonTexts
         5: .line 105
            getstatic sun.tools.jconsole.Messages.PLUGIN_EXCEPTION_DIALOG_MESSAGE:Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 106
            aload 0 /* this */
            getfield sun.tools.jconsole.ExceptionSafePlugin.plugin:Lcom/sun/tools/jconsole/JConsolePlugin;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
         7: .line 107
            aload 1 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            aastore
         8: .line 104
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* message */
        start local 3 // java.lang.String message
         9: .line 111
            aconst_null
        10: .line 112
            aload 3 /* message */
        11: .line 113
            getstatic sun.tools.jconsole.Messages.PLUGIN_EXCEPTION_DIALOG_TITLE:Ljava/lang/String;
        12: .line 114
            iconst_1
        13: .line 115
            iconst_0
        14: .line 116
            aconst_null
        15: .line 117
            aload 2 /* buttonTexts */
        16: .line 118
            aload 2 /* buttonTexts */
            iconst_0
            aaload
        17: .line 110
            invokestatic javax.swing.JOptionPane.showOptionDialog:(Ljava/awt/Component;Ljava/lang/Object;Ljava/lang/String;IILjavax/swing/Icon;[Ljava/lang/Object;Ljava/lang/Object;)I
            istore 4 /* buttonIndex */
        start local 4 // int buttonIndex
        18: .line 121
            iload 4 /* buttonIndex */
            iconst_1
            if_icmpne 20
        19: .line 122
            iconst_0
            invokestatic java.lang.System.exit:(I)V
        20: .line 124
      StackMap locals: java.lang.Object[] java.lang.String int
      StackMap stack:
            iload 4 /* buttonIndex */
            iconst_2
            if_icmpne 21
            iconst_1
            goto 22
      StackMap locals:
      StackMap stack:
        21: iconst_0
      StackMap locals:
      StackMap stack: int
        22: putstatic sun.tools.jconsole.ExceptionSafePlugin.ignoreExceptions:Z
        23: .line 125
            return
        end local 4 // int buttonIndex
        end local 3 // java.lang.String message
        end local 2 // java.lang.Object[] buttonTexts
        end local 1 // java.lang.Exception e
        end local 0 // sun.tools.jconsole.ExceptionSafePlugin this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0         this  Lsun/tools/jconsole/ExceptionSafePlugin;
            0   24     1            e  Ljava/lang/Exception;
            5   24     2  buttonTexts  [Ljava/lang/Object;
            9   24     3      message  Ljava/lang/String;
           18   24     4  buttonIndex  I
    MethodParameters:
      Name  Flags
      e     
}
SourceFile: "ExceptionSafePlugin.java"