public class com.sun.tools.hat.internal.model.JavaObject extends com.sun.tools.hat.internal.model.JavaLazyReadObject
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.hat.internal.model.JavaObject
  super_class: com.sun.tools.hat.internal.model.JavaLazyReadObject
{
  private java.lang.Object clazz;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(long, long);
    descriptor: (JJ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.sun.tools.hat.internal.model.JavaObject this
        start local 1 // long classID
        start local 3 // long offset
         0: .line 54
            aload 0 /* this */
            lload 3 /* offset */
            invokespecial com.sun.tools.hat.internal.model.JavaLazyReadObject.<init>:(J)V
         1: .line 55
            aload 0 /* this */
            lload 1 /* classID */
            invokestatic com.sun.tools.hat.internal.model.JavaObject.makeId:(J)Ljava/lang/Number;
            putfield com.sun.tools.hat.internal.model.JavaObject.clazz:Ljava/lang/Object;
         2: .line 56
            return
        end local 3 // long offset
        end local 1 // long classID
        end local 0 // com.sun.tools.hat.internal.model.JavaObject this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/sun/tools/hat/internal/model/JavaObject;
            0    3     1  classID  J
            0    3     3   offset  J
    MethodParameters:
         Name  Flags
      classID  
      offset   

  public void resolve(com.sun.tools.hat.internal.model.Snapshot);
    descriptor: (Lcom/sun/tools/hat/internal/model/Snapshot;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // com.sun.tools.hat.internal.model.JavaObject this
        start local 1 // com.sun.tools.hat.internal.model.Snapshot snapshot
         0: .line 59
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaObject.clazz:Ljava/lang/Object;
            instanceof com.sun.tools.hat.internal.model.JavaClass
            ifeq 2
         1: .line 60
            return
         2: .line 62
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaObject.clazz:Ljava/lang/Object;
            instanceof java.lang.Number
            ifeq 18
         3: .line 63
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaObject.clazz:Ljava/lang/Object;
            checkcast java.lang.Number
            invokestatic com.sun.tools.hat.internal.model.JavaObject.getIdValue:(Ljava/lang/Number;)J
            lstore 2 /* classID */
        start local 2 // long classID
         4: .line 64
            aload 0 /* this */
            aload 1 /* snapshot */
            lload 2 /* classID */
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.findThing:(J)Lcom/sun/tools/hat/internal/model/JavaHeapObject;
            putfield com.sun.tools.hat.internal.model.JavaObject.clazz:Ljava/lang/Object;
         5: .line 65
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaObject.clazz:Ljava/lang/Object;
            instanceof com.sun.tools.hat.internal.model.JavaClass
            ifne 19
         6: .line 66
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 2 /* classID */
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " not found, "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 67
            ldc "adding fake class!"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 66
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.warn:(Ljava/lang/String;)V
         9: .line 69
            aload 1 /* snapshot */
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.getReadBuffer:()Lcom/sun/tools/hat/internal/parser/ReadBuffer;
            astore 5 /* buf */
        start local 5 // com.sun.tools.hat.internal.parser.ReadBuffer buf
        10: .line 70
            aload 1 /* snapshot */
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.getIdentifierSize:()I
            istore 6 /* idSize */
        start local 6 // int idSize
        11: .line 71
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.getOffset:()J
            iconst_2
            iload 6 /* idSize */
            imul
            i2l
            ladd
            ldc 4
            ladd
            lstore 7 /* lenOffset */
        start local 7 // long lenOffset
        12: .line 73
            aload 5 /* buf */
            lload 7 /* lenOffset */
            invokeinterface com.sun.tools.hat.internal.parser.ReadBuffer.getInt:(J)I
            istore 4 /* length */
        start local 4 // int length
        13: .line 74
            goto 16
        end local 4 // int length
      StackMap locals: com.sun.tools.hat.internal.model.JavaObject com.sun.tools.hat.internal.model.Snapshot long top com.sun.tools.hat.internal.parser.ReadBuffer int long
      StackMap stack: java.io.IOException
        14: astore 9 /* exp */
        start local 9 // java.io.IOException exp
        15: .line 75
            new java.lang.RuntimeException
            dup
            aload 9 /* exp */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 9 // java.io.IOException exp
        start local 4 // int length
        16: .line 77
      StackMap locals: com.sun.tools.hat.internal.model.JavaObject com.sun.tools.hat.internal.model.Snapshot long int com.sun.tools.hat.internal.parser.ReadBuffer int long
      StackMap stack:
            aload 0 /* this */
            aload 1 /* snapshot */
            lload 2 /* classID */
            iload 4 /* length */
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.addFakeInstanceClass:(JI)Lcom/sun/tools/hat/internal/model/JavaClass;
            putfield com.sun.tools.hat.internal.model.JavaObject.clazz:Ljava/lang/Object;
        end local 7 // long lenOffset
        end local 6 // int idSize
        end local 5 // com.sun.tools.hat.internal.parser.ReadBuffer buf
        end local 4 // int length
        end local 2 // long classID
        17: .line 79
            goto 19
        18: .line 80
      StackMap locals: com.sun.tools.hat.internal.model.JavaObject com.sun.tools.hat.internal.model.Snapshot
      StackMap stack:
            new java.lang.InternalError
            dup
            ldc "should not reach here"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 83
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaObject.clazz:Ljava/lang/Object;
            checkcast com.sun.tools.hat.internal.model.JavaClass
            astore 2 /* cl */
        start local 2 // com.sun.tools.hat.internal.model.JavaClass cl
        20: .line 84
            aload 2 /* cl */
            aload 1 /* snapshot */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.resolve:(Lcom/sun/tools/hat/internal/model/Snapshot;)V
        21: .line 89
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.getValue:()[B
            iconst_1
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.parseFields:([BZ)[Lcom/sun/tools/hat/internal/model/JavaThing;
            pop
        22: .line 91
            aload 2 /* cl */
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.addInstance:(Lcom/sun/tools/hat/internal/model/JavaHeapObject;)V
        23: .line 92
            aload 0 /* this */
            aload 1 /* snapshot */
            invokespecial com.sun.tools.hat.internal.model.JavaLazyReadObject.resolve:(Lcom/sun/tools/hat/internal/model/Snapshot;)V
        24: .line 93
            return
        end local 2 // com.sun.tools.hat.internal.model.JavaClass cl
        end local 1 // com.sun.tools.hat.internal.model.Snapshot snapshot
        end local 0 // com.sun.tools.hat.internal.model.JavaObject this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   25     0       this  Lcom/sun/tools/hat/internal/model/JavaObject;
            0   25     1   snapshot  Lcom/sun/tools/hat/internal/model/Snapshot;
            4   17     2    classID  J
           13   14     4     length  I
           16   17     4     length  I
           10   17     5        buf  Lcom/sun/tools/hat/internal/parser/ReadBuffer;
           11   17     6     idSize  I
           12   17     7  lenOffset  J
           15   16     9        exp  Ljava/io/IOException;
           20   25     2         cl  Lcom/sun/tools/hat/internal/model/JavaClass;
      Exception table:
        from    to  target  type
          12    13      14  Class java.io.IOException
    MethodParameters:
          Name  Flags
      snapshot  

  public boolean isSameTypeAs(com.sun.tools.hat.internal.model.JavaThing);
    descriptor: (Lcom/sun/tools/hat/internal/model/JavaThing;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.hat.internal.model.JavaObject this
        start local 1 // com.sun.tools.hat.internal.model.JavaThing other
         0: .line 100
            aload 1 /* other */
            instanceof com.sun.tools.hat.internal.model.JavaObject
            ifne 2
         1: .line 101
            iconst_0
            ireturn
         2: .line 103
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            checkcast com.sun.tools.hat.internal.model.JavaObject
            astore 2 /* oo */
        start local 2 // com.sun.tools.hat.internal.model.JavaObject oo
         3: .line 104
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.getClazz:()Lcom/sun/tools/hat/internal/model/JavaClass;
            aload 2 /* oo */
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.getClazz:()Lcom/sun/tools/hat/internal/model/JavaClass;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // com.sun.tools.hat.internal.model.JavaObject oo
        end local 1 // com.sun.tools.hat.internal.model.JavaThing other
        end local 0 // com.sun.tools.hat.internal.model.JavaObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/sun/tools/hat/internal/model/JavaObject;
            0    4     1  other  Lcom/sun/tools/hat/internal/model/JavaThing;
            3    4     2     oo  Lcom/sun/tools/hat/internal/model/JavaObject;
    MethodParameters:
       Name  Flags
      other  

  public com.sun.tools.hat.internal.model.JavaClass getClazz();
    descriptor: ()Lcom/sun/tools/hat/internal/model/JavaClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaObject this
         0: .line 111
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaObject.clazz:Ljava/lang/Object;
            checkcast com.sun.tools.hat.internal.model.JavaClass
            areturn
        end local 0 // com.sun.tools.hat.internal.model.JavaObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/hat/internal/model/JavaObject;

  public com.sun.tools.hat.internal.model.JavaThing[] getFields();
    descriptor: ()[Lcom/sun/tools/hat/internal/model/JavaThing;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaObject this
         0: .line 117
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.getValue:()[B
            iconst_0
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.parseFields:([BZ)[Lcom/sun/tools/hat/internal/model/JavaThing;
            areturn
        end local 0 // com.sun.tools.hat.internal.model.JavaObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/hat/internal/model/JavaObject;

  public com.sun.tools.hat.internal.model.JavaThing getField(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/sun/tools/hat/internal/model/JavaThing;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // com.sun.tools.hat.internal.model.JavaObject this
        start local 1 // java.lang.String name
         0: .line 122
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.getFields:()[Lcom/sun/tools/hat/internal/model/JavaThing;
            astore 2 /* flds */
        start local 2 // com.sun.tools.hat.internal.model.JavaThing[] flds
         1: .line 123
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.getClazz:()Lcom/sun/tools/hat/internal/model/JavaClass;
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getFieldsForInstance:()[Lcom/sun/tools/hat/internal/model/JavaField;
            astore 3 /* instFields */
        start local 3 // com.sun.tools.hat.internal.model.JavaField[] instFields
         2: .line 124
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 7
         4: .line 125
      StackMap locals: com.sun.tools.hat.internal.model.JavaThing[] com.sun.tools.hat.internal.model.JavaField[] int
      StackMap stack:
            aload 3 /* instFields */
            iload 4 /* i */
            aaload
            invokevirtual com.sun.tools.hat.internal.model.JavaField.getName:()Ljava/lang/String;
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 126
            aload 2 /* flds */
            iload 4 /* i */
            aaload
            areturn
         6: .line 124
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            aload 3 /* instFields */
            arraylength
            if_icmplt 4
        end local 4 // int i
         8: .line 129
            aconst_null
            areturn
        end local 3 // com.sun.tools.hat.internal.model.JavaField[] instFields
        end local 2 // com.sun.tools.hat.internal.model.JavaThing[] flds
        end local 1 // java.lang.String name
        end local 0 // com.sun.tools.hat.internal.model.JavaObject this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lcom/sun/tools/hat/internal/model/JavaObject;
            0    9     1        name  Ljava/lang/String;
            1    9     2        flds  [Lcom/sun/tools/hat/internal/model/JavaThing;
            2    9     3  instFields  [Lcom/sun/tools/hat/internal/model/JavaField;
            3    8     4           i  I
    MethodParameters:
      Name  Flags
      name  

  public int compareTo(com.sun.tools.hat.internal.model.JavaThing);
    descriptor: (Lcom/sun/tools/hat/internal/model/JavaThing;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.hat.internal.model.JavaObject this
        start local 1 // com.sun.tools.hat.internal.model.JavaThing other
         0: .line 133
            aload 1 /* other */
            instanceof com.sun.tools.hat.internal.model.JavaObject
            ifeq 3
         1: .line 134
            aload 1 /* other */
            checkcast com.sun.tools.hat.internal.model.JavaObject
            astore 2 /* oo */
        start local 2 // com.sun.tools.hat.internal.model.JavaObject oo
         2: .line 135
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.getClazz:()Lcom/sun/tools/hat/internal/model/JavaClass;
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getName:()Ljava/lang/String;
            aload 2 /* oo */
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.getClazz:()Lcom/sun/tools/hat/internal/model/JavaClass;
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            ireturn
        end local 2 // com.sun.tools.hat.internal.model.JavaObject oo
         3: .line 137
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* other */
            invokespecial com.sun.tools.hat.internal.model.JavaLazyReadObject.compareTo:(Lcom/sun/tools/hat/internal/model/JavaThing;)I
            ireturn
        end local 1 // com.sun.tools.hat.internal.model.JavaThing other
        end local 0 // com.sun.tools.hat.internal.model.JavaObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/sun/tools/hat/internal/model/JavaObject;
            0    4     1  other  Lcom/sun/tools/hat/internal/model/JavaThing;
            2    3     2     oo  Lcom/sun/tools/hat/internal/model/JavaObject;
    MethodParameters:
       Name  Flags
      other  

  public void visitReferencedObjects(com.sun.tools.hat.internal.model.JavaHeapObjectVisitor);
    descriptor: (Lcom/sun/tools/hat/internal/model/JavaHeapObjectVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.sun.tools.hat.internal.model.JavaObject this
        start local 1 // com.sun.tools.hat.internal.model.JavaHeapObjectVisitor v
         0: .line 141
            aload 0 /* this */
            aload 1 /* v */
            invokespecial com.sun.tools.hat.internal.model.JavaLazyReadObject.visitReferencedObjects:(Lcom/sun/tools/hat/internal/model/JavaHeapObjectVisitor;)V
         1: .line 142
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.getFields:()[Lcom/sun/tools/hat/internal/model/JavaThing;
            astore 2 /* flds */
        start local 2 // com.sun.tools.hat.internal.model.JavaThing[] flds
         2: .line 143
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 13
         4: .line 144
      StackMap locals: com.sun.tools.hat.internal.model.JavaThing[] int
      StackMap stack:
            aload 2 /* flds */
            iload 3 /* i */
            aaload
            ifnull 12
         5: .line 145
            aload 1 /* v */
            invokeinterface com.sun.tools.hat.internal.model.JavaHeapObjectVisitor.mightExclude:()Z
            ifeq 10
         6: .line 146
            aload 1 /* v */
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.getClazz:()Lcom/sun/tools/hat/internal/model/JavaClass;
            iload 3 /* i */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getClassForField:(I)Lcom/sun/tools/hat/internal/model/JavaClass;
         7: .line 147
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.getClazz:()Lcom/sun/tools/hat/internal/model/JavaClass;
            iload 3 /* i */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getFieldForInstance:(I)Lcom/sun/tools/hat/internal/model/JavaField;
         8: .line 146
            invokeinterface com.sun.tools.hat.internal.model.JavaHeapObjectVisitor.exclude:(Lcom/sun/tools/hat/internal/model/JavaClass;Lcom/sun/tools/hat/internal/model/JavaField;)Z
         9: .line 147
            ifne 12
        10: .line 150
      StackMap locals:
      StackMap stack:
            aload 2 /* flds */
            iload 3 /* i */
            aaload
            instanceof com.sun.tools.hat.internal.model.JavaHeapObject
            ifeq 12
        11: .line 151
            aload 1 /* v */
            aload 2 /* flds */
            iload 3 /* i */
            aaload
            checkcast com.sun.tools.hat.internal.model.JavaHeapObject
            invokeinterface com.sun.tools.hat.internal.model.JavaHeapObjectVisitor.visit:(Lcom/sun/tools/hat/internal/model/JavaHeapObject;)V
        12: .line 143
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* i */
            aload 2 /* flds */
            arraylength
            if_icmplt 4
        end local 3 // int i
        14: .line 155
            return
        end local 2 // com.sun.tools.hat.internal.model.JavaThing[] flds
        end local 1 // com.sun.tools.hat.internal.model.JavaHeapObjectVisitor v
        end local 0 // com.sun.tools.hat.internal.model.JavaObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lcom/sun/tools/hat/internal/model/JavaObject;
            0   15     1     v  Lcom/sun/tools/hat/internal/model/JavaHeapObjectVisitor;
            2   15     2  flds  [Lcom/sun/tools/hat/internal/model/JavaThing;
            3   14     3     i  I
    MethodParameters:
      Name  Flags
      v     

  public boolean refersOnlyWeaklyTo(com.sun.tools.hat.internal.model.Snapshot, com.sun.tools.hat.internal.model.JavaThing);
    descriptor: (Lcom/sun/tools/hat/internal/model/Snapshot;Lcom/sun/tools/hat/internal/model/JavaThing;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // com.sun.tools.hat.internal.model.JavaObject this
        start local 1 // com.sun.tools.hat.internal.model.Snapshot ss
        start local 2 // com.sun.tools.hat.internal.model.JavaThing other
         0: .line 158
            aload 1 /* ss */
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.getWeakReferenceClass:()Lcom/sun/tools/hat/internal/model/JavaClass;
            ifnull 11
         1: .line 159
            aload 1 /* ss */
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.getReferentFieldIndex:()I
            istore 3 /* referentFieldIndex */
        start local 3 // int referentFieldIndex
         2: .line 160
            aload 1 /* ss */
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.getWeakReferenceClass:()Lcom/sun/tools/hat/internal/model/JavaClass;
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.getClazz:()Lcom/sun/tools/hat/internal/model/JavaClass;
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.isAssignableFrom:(Lcom/sun/tools/hat/internal/model/JavaClass;)Z
            ifeq 11
         3: .line 164
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.getFields:()[Lcom/sun/tools/hat/internal/model/JavaThing;
            astore 4 /* flds */
        start local 4 // com.sun.tools.hat.internal.model.JavaThing[] flds
         4: .line 165
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 9
         6: .line 166
      StackMap locals: int com.sun.tools.hat.internal.model.JavaThing[] int
      StackMap stack:
            iload 5 /* i */
            iload 3 /* referentFieldIndex */
            if_icmpeq 8
            aload 4 /* flds */
            iload 5 /* i */
            aaload
            aload 2 /* other */
            if_acmpne 8
         7: .line 167
            iconst_0
            ireturn
         8: .line 165
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 5 /* i */
            aload 4 /* flds */
            arraylength
            if_icmplt 6
        end local 5 // int i
        10: .line 170
            iconst_1
            ireturn
        end local 4 // com.sun.tools.hat.internal.model.JavaThing[] flds
        end local 3 // int referentFieldIndex
        11: .line 173
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // com.sun.tools.hat.internal.model.JavaThing other
        end local 1 // com.sun.tools.hat.internal.model.Snapshot ss
        end local 0 // com.sun.tools.hat.internal.model.JavaObject this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   12     0                this  Lcom/sun/tools/hat/internal/model/JavaObject;
            0   12     1                  ss  Lcom/sun/tools/hat/internal/model/Snapshot;
            0   12     2               other  Lcom/sun/tools/hat/internal/model/JavaThing;
            2   11     3  referentFieldIndex  I
            4   11     4                flds  [Lcom/sun/tools/hat/internal/model/JavaThing;
            5   10     5                   i  I
    MethodParameters:
       Name  Flags
      ss     
      other  

  public java.lang.String describeReferenceTo(com.sun.tools.hat.internal.model.JavaThing, com.sun.tools.hat.internal.model.Snapshot);
    descriptor: (Lcom/sun/tools/hat/internal/model/JavaThing;Lcom/sun/tools/hat/internal/model/Snapshot;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // com.sun.tools.hat.internal.model.JavaObject this
        start local 1 // com.sun.tools.hat.internal.model.JavaThing target
        start local 2 // com.sun.tools.hat.internal.model.Snapshot ss
         0: .line 181
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.getFields:()[Lcom/sun/tools/hat/internal/model/JavaThing;
            astore 3 /* flds */
        start local 3 // com.sun.tools.hat.internal.model.JavaThing[] flds
         1: .line 182
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 7
         3: .line 183
      StackMap locals: com.sun.tools.hat.internal.model.JavaThing[] int
      StackMap stack:
            aload 3 /* flds */
            iload 4 /* i */
            aaload
            aload 1 /* target */
            if_acmpne 6
         4: .line 184
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.getClazz:()Lcom/sun/tools/hat/internal/model/JavaClass;
            iload 4 /* i */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getFieldForInstance:(I)Lcom/sun/tools/hat/internal/model/JavaField;
            astore 5 /* f */
        start local 5 // com.sun.tools.hat.internal.model.JavaField f
         5: .line 185
            new java.lang.StringBuilder
            dup
            ldc "field "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* f */
            invokevirtual com.sun.tools.hat.internal.model.JavaField.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // com.sun.tools.hat.internal.model.JavaField f
         6: .line 182
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            aload 3 /* flds */
            arraylength
            if_icmplt 3
        end local 4 // int i
         8: .line 188
            aload 0 /* this */
            aload 1 /* target */
            aload 2 /* ss */
            invokespecial com.sun.tools.hat.internal.model.JavaLazyReadObject.describeReferenceTo:(Lcom/sun/tools/hat/internal/model/JavaThing;Lcom/sun/tools/hat/internal/model/Snapshot;)Ljava/lang/String;
            areturn
        end local 3 // com.sun.tools.hat.internal.model.JavaThing[] flds
        end local 2 // com.sun.tools.hat.internal.model.Snapshot ss
        end local 1 // com.sun.tools.hat.internal.model.JavaThing target
        end local 0 // com.sun.tools.hat.internal.model.JavaObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lcom/sun/tools/hat/internal/model/JavaObject;
            0    9     1  target  Lcom/sun/tools/hat/internal/model/JavaThing;
            0    9     2      ss  Lcom/sun/tools/hat/internal/model/Snapshot;
            1    9     3    flds  [Lcom/sun/tools/hat/internal/model/JavaThing;
            2    8     4       i  I
            5    6     5       f  Lcom/sun/tools/hat/internal/model/JavaField;
    MethodParameters:
        Name  Flags
      target  
      ss      

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaObject this
         0: .line 192
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.getClazz:()Lcom/sun/tools/hat/internal/model/JavaClass;
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.isString:()Z
            ifeq 5
         1: .line 193
            aload 0 /* this */
            ldc "value"
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.getField:(Ljava/lang/String;)Lcom/sun/tools/hat/internal/model/JavaThing;
            astore 1 /* value */
        start local 1 // com.sun.tools.hat.internal.model.JavaThing value
         2: .line 194
            aload 1 /* value */
            instanceof com.sun.tools.hat.internal.model.JavaValueArray
            ifeq 4
         3: .line 195
            aload 1 /* value */
            checkcast com.sun.tools.hat.internal.model.JavaValueArray
            invokevirtual com.sun.tools.hat.internal.model.JavaValueArray.valueString:()Ljava/lang/String;
            areturn
         4: .line 197
      StackMap locals: com.sun.tools.hat.internal.model.JavaThing
      StackMap stack:
            ldc "null"
            areturn
        end local 1 // com.sun.tools.hat.internal.model.JavaThing value
         5: .line 200
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial com.sun.tools.hat.internal.model.JavaLazyReadObject.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.sun.tools.hat.internal.model.JavaObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/sun/tools/hat/internal/model/JavaObject;
            2    5     1  value  Lcom/sun/tools/hat/internal/model/JavaThing;

  protected final int readValueLength();
    descriptor: ()I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaObject this
         0: .line 216
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.getClazz:()Lcom/sun/tools/hat/internal/model/JavaClass;
            astore 1 /* cl */
        start local 1 // com.sun.tools.hat.internal.model.JavaClass cl
         1: .line 217
            aload 1 /* cl */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getIdentifierSize:()I
            istore 2 /* idSize */
        start local 2 // int idSize
         2: .line 218
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.getOffset:()J
            iconst_2
            iload 2 /* idSize */
            imul
            i2l
            ladd
            ldc 4
            ladd
            lstore 3 /* lengthOffset */
        start local 3 // long lengthOffset
         3: .line 219
            aload 1 /* cl */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getReadBuffer:()Lcom/sun/tools/hat/internal/parser/ReadBuffer;
            lload 3 /* lengthOffset */
            invokeinterface com.sun.tools.hat.internal.parser.ReadBuffer.getInt:(J)I
            ireturn
        end local 3 // long lengthOffset
        end local 2 // int idSize
        end local 1 // com.sun.tools.hat.internal.model.JavaClass cl
        end local 0 // com.sun.tools.hat.internal.model.JavaObject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lcom/sun/tools/hat/internal/model/JavaObject;
            1    4     1            cl  Lcom/sun/tools/hat/internal/model/JavaClass;
            2    4     2        idSize  I
            3    4     3  lengthOffset  J
    Exceptions:
      throws java.io.IOException

  protected final byte[] readValue();
    descriptor: ()[B
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaObject this
         0: .line 223
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.getClazz:()Lcom/sun/tools/hat/internal/model/JavaClass;
            astore 1 /* cl */
        start local 1 // com.sun.tools.hat.internal.model.JavaClass cl
         1: .line 224
            aload 1 /* cl */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getIdentifierSize:()I
            istore 2 /* idSize */
        start local 2 // int idSize
         2: .line 225
            aload 1 /* cl */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getReadBuffer:()Lcom/sun/tools/hat/internal/parser/ReadBuffer;
            astore 3 /* buf */
        start local 3 // com.sun.tools.hat.internal.parser.ReadBuffer buf
         3: .line 226
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.getOffset:()J
            iconst_2
            iload 2 /* idSize */
            imul
            i2l
            ladd
            ldc 4
            ladd
            lstore 4 /* offset */
        start local 4 // long offset
         4: .line 227
            aload 3 /* buf */
            lload 4 /* offset */
            invokeinterface com.sun.tools.hat.internal.parser.ReadBuffer.getInt:(J)I
            istore 6 /* length */
        start local 6 // int length
         5: .line 228
            iload 6 /* length */
            ifne 7
         6: .line 229
            getstatic com.sun.tools.hat.internal.model.Snapshot.EMPTY_BYTE_ARRAY:[B
            areturn
         7: .line 231
      StackMap locals: com.sun.tools.hat.internal.model.JavaObject com.sun.tools.hat.internal.model.JavaClass int com.sun.tools.hat.internal.parser.ReadBuffer long int
      StackMap stack:
            iload 6 /* length */
            newarray 8
            astore 7 /* res */
        start local 7 // byte[] res
         8: .line 232
            aload 3 /* buf */
            lload 4 /* offset */
            ldc 4
            ladd
            aload 7 /* res */
            invokeinterface com.sun.tools.hat.internal.parser.ReadBuffer.get:(J[B)V
         9: .line 233
            aload 7 /* res */
            areturn
        end local 7 // byte[] res
        end local 6 // int length
        end local 4 // long offset
        end local 3 // com.sun.tools.hat.internal.parser.ReadBuffer buf
        end local 2 // int idSize
        end local 1 // com.sun.tools.hat.internal.model.JavaClass cl
        end local 0 // com.sun.tools.hat.internal.model.JavaObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lcom/sun/tools/hat/internal/model/JavaObject;
            1   10     1      cl  Lcom/sun/tools/hat/internal/model/JavaClass;
            2   10     2  idSize  I
            3   10     3     buf  Lcom/sun/tools/hat/internal/parser/ReadBuffer;
            4   10     4  offset  J
            5   10     6  length  I
            8   10     7     res  [B
    Exceptions:
      throws java.io.IOException

  private com.sun.tools.hat.internal.model.JavaThing[] parseFields(byte[], boolean);
    descriptor: ([BZ)[Lcom/sun/tools/hat/internal/model/JavaThing;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=18, args_size=3
        start local 0 // com.sun.tools.hat.internal.model.JavaObject this
        start local 1 // byte[] data
        start local 2 // boolean verbose
         0: .line 238
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.getClazz:()Lcom/sun/tools/hat/internal/model/JavaClass;
            astore 3 /* cl */
        start local 3 // com.sun.tools.hat.internal.model.JavaClass cl
         1: .line 239
            aload 3 /* cl */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getNumFieldsForInstance:()I
            istore 4 /* target */
        start local 4 // int target
         2: .line 240
            aload 3 /* cl */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getFields:()[Lcom/sun/tools/hat/internal/model/JavaField;
            astore 5 /* fields */
        start local 5 // com.sun.tools.hat.internal.model.JavaField[] fields
         3: .line 241
            iload 4 /* target */
            anewarray com.sun.tools.hat.internal.model.JavaThing
            astore 6 /* fieldValues */
        start local 6 // com.sun.tools.hat.internal.model.JavaThing[] fieldValues
         4: .line 242
            aload 3 /* cl */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getSnapshot:()Lcom/sun/tools/hat/internal/model/Snapshot;
            astore 7 /* snapshot */
        start local 7 // com.sun.tools.hat.internal.model.Snapshot snapshot
         5: .line 243
            aload 7 /* snapshot */
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.getIdentifierSize:()I
            istore 8 /* idSize */
        start local 8 // int idSize
         6: .line 244
            iconst_0
            istore 9 /* fieldNo */
        start local 9 // int fieldNo
         7: .line 255
            iload 4 /* target */
            aload 5 /* fields */
            arraylength
            isub
            istore 4 /* target */
         8: .line 256
            aload 3 /* cl */
            astore 10 /* currClass */
        start local 10 // com.sun.tools.hat.internal.model.JavaClass currClass
         9: .line 257
            iconst_0
            istore 11 /* index */
        start local 11 // int index
        10: .line 258
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        11: goto 62
        12: .line 260
      StackMap locals: com.sun.tools.hat.internal.model.JavaObject byte[] int com.sun.tools.hat.internal.model.JavaClass int com.sun.tools.hat.internal.model.JavaField[] com.sun.tools.hat.internal.model.JavaThing[] com.sun.tools.hat.internal.model.Snapshot int int com.sun.tools.hat.internal.model.JavaClass int int
      StackMap stack:
            aload 10 /* currClass */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getSuperclass:()Lcom/sun/tools/hat/internal/model/JavaClass;
            astore 10 /* currClass */
        13: .line 261
            aload 10 /* currClass */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getFields:()[Lcom/sun/tools/hat/internal/model/JavaField;
            astore 5 /* fields */
        14: .line 262
            iconst_0
            istore 9 /* fieldNo */
        15: .line 263
            iload 4 /* target */
            aload 5 /* fields */
            arraylength
            isub
            istore 4 /* target */
        16: .line 259
      StackMap locals:
      StackMap stack:
            iload 9 /* fieldNo */
            aload 5 /* fields */
            arraylength
            if_icmpge 12
        17: .line 265
            aload 5 /* fields */
            iload 9 /* fieldNo */
            aaload
            astore 13 /* f */
        start local 13 // com.sun.tools.hat.internal.model.JavaField f
        18: .line 266
            aload 13 /* f */
            invokevirtual com.sun.tools.hat.internal.model.JavaField.getSignature:()Ljava/lang/String;
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 14 /* sig */
        start local 14 // char sig
        19: .line 267
            iload 14 /* sig */
            lookupswitch { // 10
                   66: 32
                   67: 40
                   68: 56
                   70: 52
                   73: 44
                   74: 48
                   76: 20
                   83: 36
                   90: 25
                   91: 20
              default: 60
          }
        20: .line 270
      StackMap locals: com.sun.tools.hat.internal.model.JavaField int
      StackMap stack:
            aload 0 /* this */
            iload 11 /* index */
            aload 1 /* data */
            invokevirtual com.sun.tools.hat.internal.model.JavaObject.objectIdAt:(I[B)J
            lstore 15 /* id */
        start local 15 // long id
        21: .line 271
            iload 11 /* index */
            iload 8 /* idSize */
            iadd
            istore 11 /* index */
        22: .line 272
            new com.sun.tools.hat.internal.model.JavaObjectRef
            dup
            lload 15 /* id */
            invokespecial com.sun.tools.hat.internal.model.JavaObjectRef.<init>:(J)V
            astore 17 /* ref */
        start local 17 // com.sun.tools.hat.internal.model.JavaObjectRef ref
        23: .line 273
            aload 6 /* fieldValues */
            iload 4 /* target */
            iload 9 /* fieldNo */
            iadd
            aload 17 /* ref */
            aload 7 /* snapshot */
            aload 13 /* f */
            iload 2 /* verbose */
            invokevirtual com.sun.tools.hat.internal.model.JavaObjectRef.dereference:(Lcom/sun/tools/hat/internal/model/Snapshot;Lcom/sun/tools/hat/internal/model/JavaField;Z)Lcom/sun/tools/hat/internal/model/JavaThing;
            aastore
        24: .line 274
            goto 61
        end local 17 // com.sun.tools.hat.internal.model.JavaObjectRef ref
        end local 15 // long id
        25: .line 277
      StackMap locals:
      StackMap stack:
            iload 11 /* index */
            aload 1 /* data */
            invokestatic com.sun.tools.hat.internal.model.JavaObject.byteAt:(I[B)B
            istore 15 /* value */
        start local 15 // byte value
        26: .line 278
            iinc 11 /* index */ 1
        27: .line 279
            aload 6 /* fieldValues */
            iload 4 /* target */
            iload 9 /* fieldNo */
            iadd
        28: new com.sun.tools.hat.internal.model.JavaBoolean
            dup
            iload 15 /* value */
            ifeq 29
            iconst_1
            goto 30
      StackMap locals: com.sun.tools.hat.internal.model.JavaObject byte[] int com.sun.tools.hat.internal.model.JavaClass int com.sun.tools.hat.internal.model.JavaField[] com.sun.tools.hat.internal.model.JavaThing[] com.sun.tools.hat.internal.model.Snapshot int int com.sun.tools.hat.internal.model.JavaClass int int com.sun.tools.hat.internal.model.JavaField int int
      StackMap stack: com.sun.tools.hat.internal.model.JavaThing[] int new 28 new 28
        29: iconst_0
      StackMap locals: com.sun.tools.hat.internal.model.JavaObject byte[] int com.sun.tools.hat.internal.model.JavaClass int com.sun.tools.hat.internal.model.JavaField[] com.sun.tools.hat.internal.model.JavaThing[] com.sun.tools.hat.internal.model.Snapshot int int com.sun.tools.hat.internal.model.JavaClass int int com.sun.tools.hat.internal.model.JavaField int int
      StackMap stack: com.sun.tools.hat.internal.model.JavaThing[] int new 28 new 28 int
        30: invokespecial com.sun.tools.hat.internal.model.JavaBoolean.<init>:(Z)V
            aastore
        31: .line 280
            goto 61
        end local 15 // byte value
        32: .line 283
      StackMap locals:
      StackMap stack:
            iload 11 /* index */
            aload 1 /* data */
            invokestatic com.sun.tools.hat.internal.model.JavaObject.byteAt:(I[B)B
            istore 15 /* value */
        start local 15 // byte value
        33: .line 284
            iinc 11 /* index */ 1
        34: .line 285
            aload 6 /* fieldValues */
            iload 4 /* target */
            iload 9 /* fieldNo */
            iadd
            new com.sun.tools.hat.internal.model.JavaByte
            dup
            iload 15 /* value */
            invokespecial com.sun.tools.hat.internal.model.JavaByte.<init>:(B)V
            aastore
        35: .line 286
            goto 61
        end local 15 // byte value
        36: .line 289
      StackMap locals:
      StackMap stack:
            iload 11 /* index */
            aload 1 /* data */
            invokestatic com.sun.tools.hat.internal.model.JavaObject.shortAt:(I[B)S
            istore 15 /* value */
        start local 15 // short value
        37: .line 290
            iinc 11 /* index */ 2
        38: .line 291
            aload 6 /* fieldValues */
            iload 4 /* target */
            iload 9 /* fieldNo */
            iadd
            new com.sun.tools.hat.internal.model.JavaShort
            dup
            iload 15 /* value */
            invokespecial com.sun.tools.hat.internal.model.JavaShort.<init>:(S)V
            aastore
        39: .line 292
            goto 61
        end local 15 // short value
        40: .line 295
      StackMap locals:
      StackMap stack:
            iload 11 /* index */
            aload 1 /* data */
            invokestatic com.sun.tools.hat.internal.model.JavaObject.charAt:(I[B)C
            istore 15 /* value */
        start local 15 // char value
        41: .line 296
            iinc 11 /* index */ 2
        42: .line 297
            aload 6 /* fieldValues */
            iload 4 /* target */
            iload 9 /* fieldNo */
            iadd
            new com.sun.tools.hat.internal.model.JavaChar
            dup
            iload 15 /* value */
            invokespecial com.sun.tools.hat.internal.model.JavaChar.<init>:(C)V
            aastore
        43: .line 298
            goto 61
        end local 15 // char value
        44: .line 301
      StackMap locals:
      StackMap stack:
            iload 11 /* index */
            aload 1 /* data */
            invokestatic com.sun.tools.hat.internal.model.JavaObject.intAt:(I[B)I
            istore 15 /* value */
        start local 15 // int value
        45: .line 302
            iinc 11 /* index */ 4
        46: .line 303
            aload 6 /* fieldValues */
            iload 4 /* target */
            iload 9 /* fieldNo */
            iadd
            new com.sun.tools.hat.internal.model.JavaInt
            dup
            iload 15 /* value */
            invokespecial com.sun.tools.hat.internal.model.JavaInt.<init>:(I)V
            aastore
        47: .line 304
            goto 61
        end local 15 // int value
        48: .line 307
      StackMap locals:
      StackMap stack:
            iload 11 /* index */
            aload 1 /* data */
            invokestatic com.sun.tools.hat.internal.model.JavaObject.longAt:(I[B)J
            lstore 15 /* value */
        start local 15 // long value
        49: .line 308
            iinc 11 /* index */ 8
        50: .line 309
            aload 6 /* fieldValues */
            iload 4 /* target */
            iload 9 /* fieldNo */
            iadd
            new com.sun.tools.hat.internal.model.JavaLong
            dup
            lload 15 /* value */
            invokespecial com.sun.tools.hat.internal.model.JavaLong.<init>:(J)V
            aastore
        51: .line 310
            goto 61
        end local 15 // long value
        52: .line 313
      StackMap locals:
      StackMap stack:
            iload 11 /* index */
            aload 1 /* data */
            invokestatic com.sun.tools.hat.internal.model.JavaObject.floatAt:(I[B)F
            fstore 15 /* value */
        start local 15 // float value
        53: .line 314
            iinc 11 /* index */ 4
        54: .line 315
            aload 6 /* fieldValues */
            iload 4 /* target */
            iload 9 /* fieldNo */
            iadd
            new com.sun.tools.hat.internal.model.JavaFloat
            dup
            fload 15 /* value */
            invokespecial com.sun.tools.hat.internal.model.JavaFloat.<init>:(F)V
            aastore
        55: .line 316
            goto 61
        end local 15 // float value
        56: .line 319
      StackMap locals:
      StackMap stack:
            iload 11 /* index */
            aload 1 /* data */
            invokestatic com.sun.tools.hat.internal.model.JavaObject.doubleAt:(I[B)D
            dstore 15 /* value */
        start local 15 // double value
        57: .line 320
            iinc 11 /* index */ 8
        58: .line 321
            aload 6 /* fieldValues */
            iload 4 /* target */
            iload 9 /* fieldNo */
            iadd
            new com.sun.tools.hat.internal.model.JavaDouble
            dup
            dload 15 /* value */
            invokespecial com.sun.tools.hat.internal.model.JavaDouble.<init>:(D)V
            aastore
        59: .line 322
            goto 61
        end local 15 // double value
        60: .line 325
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid signature: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 14 /* sig */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 14 // char sig
        end local 13 // com.sun.tools.hat.internal.model.JavaField f
        61: .line 258
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
            iinc 9 /* fieldNo */ 1
      StackMap locals:
      StackMap stack:
        62: iload 12 /* i */
            aload 6 /* fieldValues */
            arraylength
            if_icmplt 16
        end local 12 // int i
        63: .line 328
            aload 6 /* fieldValues */
            areturn
        end local 11 // int index
        end local 10 // com.sun.tools.hat.internal.model.JavaClass currClass
        end local 9 // int fieldNo
        end local 8 // int idSize
        end local 7 // com.sun.tools.hat.internal.model.Snapshot snapshot
        end local 6 // com.sun.tools.hat.internal.model.JavaThing[] fieldValues
        end local 5 // com.sun.tools.hat.internal.model.JavaField[] fields
        end local 4 // int target
        end local 3 // com.sun.tools.hat.internal.model.JavaClass cl
        end local 2 // boolean verbose
        end local 1 // byte[] data
        end local 0 // com.sun.tools.hat.internal.model.JavaObject this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   64     0         this  Lcom/sun/tools/hat/internal/model/JavaObject;
            0   64     1         data  [B
            0   64     2      verbose  Z
            1   64     3           cl  Lcom/sun/tools/hat/internal/model/JavaClass;
            2   64     4       target  I
            3   64     5       fields  [Lcom/sun/tools/hat/internal/model/JavaField;
            4   64     6  fieldValues  [Lcom/sun/tools/hat/internal/model/JavaThing;
            5   64     7     snapshot  Lcom/sun/tools/hat/internal/model/Snapshot;
            6   64     8       idSize  I
            7   64     9      fieldNo  I
            9   64    10    currClass  Lcom/sun/tools/hat/internal/model/JavaClass;
           10   64    11        index  I
           11   63    12            i  I
           18   61    13            f  Lcom/sun/tools/hat/internal/model/JavaField;
           19   61    14          sig  C
           21   25    15           id  J
           23   25    17          ref  Lcom/sun/tools/hat/internal/model/JavaObjectRef;
           26   32    15        value  B
           33   36    15        value  B
           37   40    15        value  S
           41   44    15        value  C
           45   48    15        value  I
           49   52    15        value  J
           53   56    15        value  F
           57   60    15        value  D
    MethodParameters:
         Name  Flags
      data     
      verbose  

  private void warn(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.hat.internal.model.JavaObject this
        start local 1 // java.lang.String msg
         0: .line 332
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "WARNING: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* msg */
            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
         1: .line 333
            return
        end local 1 // java.lang.String msg
        end local 0 // com.sun.tools.hat.internal.model.JavaObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/hat/internal/model/JavaObject;
            0    2     1   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      msg   
}
SourceFile: "JavaObject.java"