class sun.tools.jconsole.inspector.XArrayDataViewer
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.tools.jconsole.inspector.XArrayDataViewer
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.inspector.XArrayDataViewer this
         0: .line 38
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.tools.jconsole.inspector.XArrayDataViewer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/inspector/XArrayDataViewer;

  public static boolean isViewableValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 41
            aload 0 /* value */
            invokestatic sun.tools.jconsole.inspector.Utils.canBeRenderedAsArray:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public static java.awt.Component loadArray(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/awt/Component;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=15, args_size=1
        start local 0 // java.lang.Object value
         0: .line 45
            aconst_null
            astore 1 /* comp */
        start local 1 // java.awt.Component comp
         1: .line 46
            aload 0 /* value */
            invokestatic sun.tools.jconsole.inspector.XArrayDataViewer.isViewableValue:(Ljava/lang/Object;)Z
            ifeq 73
         2: .line 48
            aload 0 /* value */
            instanceof java.util.Collection
            ifeq 5
         3: .line 49
            aload 0 /* value */
            checkcast java.util.Collection
            invokeinterface java.util.Collection.toArray:()[Ljava/lang/Object;
            astore 2 /* arr */
        start local 2 // java.lang.Object[] arr
         4: .line 50
            goto 18
        end local 2 // java.lang.Object[] arr
      StackMap locals: java.awt.Component
      StackMap stack:
         5: aload 0 /* value */
            instanceof java.util.Map
            ifeq 8
         6: .line 51
            aload 0 /* value */
            checkcast java.util.Map
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.toArray:()[Ljava/lang/Object;
            astore 2 /* arr */
        start local 2 // java.lang.Object[] arr
         7: .line 52
            goto 18
        end local 2 // java.lang.Object[] arr
      StackMap locals:
      StackMap stack:
         8: aload 0 /* value */
            instanceof java.lang.Object[]
            ifeq 11
         9: .line 53
            aload 0 /* value */
            checkcast java.lang.Object[]
            astore 2 /* arr */
        start local 2 // java.lang.Object[] arr
        10: .line 54
            goto 18
        end local 2 // java.lang.Object[] arr
        11: .line 55
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            istore 3 /* length */
        start local 3 // int length
        12: .line 56
            iload 3 /* length */
            anewarray java.lang.Object
            astore 2 /* arr */
        start local 2 // java.lang.Object[] arr
        13: .line 57
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        14: goto 17
        15: .line 58
      StackMap locals: java.lang.Object[] int int
      StackMap stack:
            aload 2 /* arr */
            iload 4 /* i */
            aload 0 /* value */
            iload 4 /* i */
            invokestatic java.lang.reflect.Array.get:(Ljava/lang/Object;I)Ljava/lang/Object;
            aastore
        16: .line 57
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 4 /* i */
            iload 3 /* length */
            if_icmplt 15
        end local 4 // int i
        end local 3 // int length
        18: .line 61
      StackMap locals:
      StackMap stack:
            new javax.swing.JEditorPane
            dup
            invokespecial javax.swing.JEditorPane.<init>:()V
            astore 3 /* arrayEditor */
        start local 3 // javax.swing.JEditorPane arrayEditor
        19: .line 62
            aload 3 /* arrayEditor */
            ldc "text/html"
            invokevirtual javax.swing.JEditorPane.setContentType:(Ljava/lang/String;)V
        20: .line 63
            aload 3 /* arrayEditor */
            iconst_0
            invokevirtual javax.swing.JEditorPane.setEditable:(Z)V
        21: .line 64
            aload 3 /* arrayEditor */
            invokevirtual javax.swing.JEditorPane.getBackground:()Ljava/awt/Color;
            astore 4 /* evenRowColor */
        start local 4 // java.awt.Color evenRowColor
        22: .line 65
            aload 4 /* evenRowColor */
            invokevirtual java.awt.Color.getRed:()I
            istore 5 /* red */
        start local 5 // int red
        23: .line 66
            aload 4 /* evenRowColor */
            invokevirtual java.awt.Color.getGreen:()I
            istore 6 /* green */
        start local 6 // int green
        24: .line 67
            aload 4 /* evenRowColor */
            invokevirtual java.awt.Color.getBlue:()I
            istore 7 /* blue */
        start local 7 // int blue
        25: .line 69
            new java.lang.StringBuilder
            dup
            ldc "rgb("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* red */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 6 /* green */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 7 /* blue */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 68
            astore 8 /* evenRowColorStr */
        start local 8 // java.lang.String evenRowColorStr
        27: .line 70
            new java.awt.Color
            dup
        28: .line 71
            iload 5 /* red */
            bipush 20
            if_icmpge 29
            iload 5 /* red */
            bipush 20
            iadd
            goto 30
      StackMap locals: java.lang.Object java.awt.Component java.lang.Object[] javax.swing.JEditorPane java.awt.Color int int int java.lang.String
      StackMap stack: new 27 new 27
        29: iload 5 /* red */
            bipush 20
            isub
        30: .line 72
      StackMap locals: java.lang.Object java.awt.Component java.lang.Object[] javax.swing.JEditorPane java.awt.Color int int int java.lang.String
      StackMap stack: new 27 new 27 int
            iload 6 /* green */
            bipush 20
            if_icmpge 31
            iload 6 /* green */
            bipush 20
            iadd
            goto 32
      StackMap locals: java.lang.Object java.awt.Component java.lang.Object[] javax.swing.JEditorPane java.awt.Color int int int java.lang.String
      StackMap stack: new 27 new 27 int
        31: iload 6 /* green */
            bipush 20
            isub
        32: .line 73
      StackMap locals: java.lang.Object java.awt.Component java.lang.Object[] javax.swing.JEditorPane java.awt.Color int int int java.lang.String
      StackMap stack: new 27 new 27 int int
            iload 7 /* blue */
            bipush 20
            if_icmpge 33
            iload 7 /* blue */
            bipush 20
            iadd
            goto 34
      StackMap locals: java.lang.Object java.awt.Component java.lang.Object[] javax.swing.JEditorPane java.awt.Color int int int java.lang.String
      StackMap stack: new 27 new 27 int int
        33: iload 7 /* blue */
            bipush 20
            isub
        34: .line 70
      StackMap locals: java.lang.Object java.awt.Component java.lang.Object[] javax.swing.JEditorPane java.awt.Color int int int java.lang.String
      StackMap stack: new 27 new 27 int int int
            invokespecial java.awt.Color.<init>:(III)V
            astore 9 /* oddRowColor */
        start local 9 // java.awt.Color oddRowColor
        35: .line 75
            new java.lang.StringBuilder
            dup
            ldc "rgb("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* oddRowColor */
            invokevirtual java.awt.Color.getRed:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        36: .line 76
            aload 9 /* oddRowColor */
            invokevirtual java.awt.Color.getGreen:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        37: .line 77
            aload 9 /* oddRowColor */
            invokevirtual java.awt.Color.getBlue:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        38: .line 75
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        39: .line 74
            astore 10 /* oddRowColorStr */
        start local 10 // java.lang.String oddRowColorStr
        40: .line 78
            aload 3 /* arrayEditor */
            invokevirtual javax.swing.JEditorPane.getForeground:()Ljava/awt/Color;
            astore 11 /* foreground */
        start local 11 // java.awt.Color foreground
        41: .line 79
            ldc "%06x"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        42: .line 80
            aload 11 /* foreground */
            invokevirtual java.awt.Color.getRGB:()I
            ldc 16777215
            iand
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        43: .line 79
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 12 /* textColor */
        start local 12 // java.lang.String textColor
        44: .line 81
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 13 /* sb */
        start local 13 // java.lang.StringBuilder sb
        45: .line 82
            aload 13 /* sb */
            ldc "<html><body text=#"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 12 /* textColor */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "><table width=\"100%\">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        46: .line 83
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        47: goto 65
        48: .line 84
      StackMap locals: java.lang.Object java.awt.Component java.lang.Object[] javax.swing.JEditorPane java.awt.Color int int int java.lang.String java.awt.Color java.lang.String java.awt.Color java.lang.String java.lang.StringBuilder int
      StackMap stack:
            iload 14 /* i */
            iconst_2
            irem
            ifne 57
        49: .line 85
            aload 13 /* sb */
            ldc "<tr style=\"background-color: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        50: .line 86
            aload 8 /* evenRowColorStr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\"><td><pre>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        51: .line 87
            aload 2 /* arr */
            iload 14 /* i */
            aaload
            ifnonnull 53
        52: .line 88
            aload 2 /* arr */
            iload 14 /* i */
            aaload
            goto 54
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        53: aload 2 /* arr */
            iload 14 /* i */
            aaload
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic sun.tools.jconsole.inspector.XArrayDataViewer.htmlize:(Ljava/lang/String;)Ljava/lang/String;
        54: .line 87
      StackMap locals: java.lang.Object java.awt.Component java.lang.Object[] javax.swing.JEditorPane java.awt.Color int int int java.lang.String java.awt.Color java.lang.String java.awt.Color java.lang.String java.lang.StringBuilder int
      StackMap stack: java.lang.StringBuilder java.lang.Object
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        55: .line 89
            ldc "</pre></td></tr>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        56: .line 90
            goto 64
        57: .line 91
      StackMap locals:
      StackMap stack:
            aload 13 /* sb */
            ldc "<tr style=\"background-color: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        58: .line 92
            aload 10 /* oddRowColorStr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\"><td><pre>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        59: .line 93
            aload 2 /* arr */
            iload 14 /* i */
            aaload
            ifnonnull 61
        60: .line 94
            aload 2 /* arr */
            iload 14 /* i */
            aaload
            goto 62
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        61: aload 2 /* arr */
            iload 14 /* i */
            aaload
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic sun.tools.jconsole.inspector.XArrayDataViewer.htmlize:(Ljava/lang/String;)Ljava/lang/String;
        62: .line 93
      StackMap locals: java.lang.Object java.awt.Component java.lang.Object[] javax.swing.JEditorPane java.awt.Color int int int java.lang.String java.awt.Color java.lang.String java.awt.Color java.lang.String java.lang.StringBuilder int
      StackMap stack: java.lang.StringBuilder java.lang.Object
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        63: .line 95
            ldc "</pre></td></tr>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        64: .line 83
      StackMap locals:
      StackMap stack:
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        65: iload 14 /* i */
            aload 2 /* arr */
            arraylength
            if_icmplt 48
        end local 14 // int i
        66: .line 98
            aload 2 /* arr */
            arraylength
            ifne 69
        67: .line 99
            aload 13 /* sb */
            ldc "<tr style=\"background-color: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        68: .line 100
            aload 8 /* evenRowColorStr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\"><td></td></tr>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        69: .line 102
      StackMap locals:
      StackMap stack:
            aload 13 /* sb */
            ldc "</table></body></html>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        70: .line 103
            aload 3 /* arrayEditor */
            aload 13 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual javax.swing.JEditorPane.setText:(Ljava/lang/String;)V
        71: .line 104
            new javax.swing.JScrollPane
            dup
            aload 3 /* arrayEditor */
            invokespecial javax.swing.JScrollPane.<init>:(Ljava/awt/Component;)V
            astore 14 /* scrollp */
        start local 14 // javax.swing.JScrollPane scrollp
        72: .line 105
            aload 14 /* scrollp */
            astore 1 /* comp */
        end local 14 // javax.swing.JScrollPane scrollp
        end local 13 // java.lang.StringBuilder sb
        end local 12 // java.lang.String textColor
        end local 11 // java.awt.Color foreground
        end local 10 // java.lang.String oddRowColorStr
        end local 9 // java.awt.Color oddRowColor
        end local 8 // java.lang.String evenRowColorStr
        end local 7 // int blue
        end local 6 // int green
        end local 5 // int red
        end local 4 // java.awt.Color evenRowColor
        end local 3 // javax.swing.JEditorPane arrayEditor
        end local 2 // java.lang.Object[] arr
        73: .line 107
      StackMap locals: java.lang.Object java.awt.Component
      StackMap stack:
            aload 1 /* comp */
            areturn
        end local 1 // java.awt.Component comp
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   74     0            value  Ljava/lang/Object;
            1   74     1             comp  Ljava/awt/Component;
            4    5     2              arr  [Ljava/lang/Object;
            7    8     2              arr  [Ljava/lang/Object;
           10   11     2              arr  [Ljava/lang/Object;
           13   73     2              arr  [Ljava/lang/Object;
           12   18     3           length  I
           14   18     4                i  I
           19   73     3      arrayEditor  Ljavax/swing/JEditorPane;
           22   73     4     evenRowColor  Ljava/awt/Color;
           23   73     5              red  I
           24   73     6            green  I
           25   73     7             blue  I
           27   73     8  evenRowColorStr  Ljava/lang/String;
           35   73     9      oddRowColor  Ljava/awt/Color;
           40   73    10   oddRowColorStr  Ljava/lang/String;
           41   73    11       foreground  Ljava/awt/Color;
           44   73    12        textColor  Ljava/lang/String;
           45   73    13               sb  Ljava/lang/StringBuilder;
           47   66    14                i  I
           72   73    14          scrollp  Ljavax/swing/JScrollPane;
    MethodParameters:
       Name  Flags
      value  

  private static java.lang.String htmlize(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String value
         0: .line 111
            aload 0 /* value */
            ldc "&"
            ldc "&amp;"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            ldc "<"
            ldc "&lt;"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  
}
SourceFile: "XArrayDataViewer.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map