public class com.sun.tools.hat.internal.model.JavaClass extends com.sun.tools.hat.internal.model.JavaHeapObject
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.hat.internal.model.JavaClass
  super_class: com.sun.tools.hat.internal.model.JavaHeapObject
{
  private long id;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.tools.hat.internal.model.JavaThing superclass;
    descriptor: Lcom/sun/tools/hat/internal/model/JavaThing;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.tools.hat.internal.model.JavaThing loader;
    descriptor: Lcom/sun/tools/hat/internal/model/JavaThing;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.tools.hat.internal.model.JavaThing signers;
    descriptor: Lcom/sun/tools/hat/internal/model/JavaThing;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.tools.hat.internal.model.JavaThing protectionDomain;
    descriptor: Lcom/sun/tools/hat/internal/model/JavaThing;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.tools.hat.internal.model.JavaField[] fields;
    descriptor: [Lcom/sun/tools/hat/internal/model/JavaField;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.tools.hat.internal.model.JavaStatic[] statics;
    descriptor: [Lcom/sun/tools/hat/internal/model/JavaStatic;
    flags: (0x0002) ACC_PRIVATE

  private static final com.sun.tools.hat.internal.model.JavaClass[] EMPTY_CLASS_ARRAY;
    descriptor: [Lcom/sun/tools/hat/internal/model/JavaClass;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private com.sun.tools.hat.internal.model.JavaClass[] subclasses;
    descriptor: [Lcom/sun/tools/hat/internal/model/JavaClass;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Vector<com.sun.tools.hat.internal.model.JavaHeapObject> instances;
    descriptor: Ljava/util/Vector;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Vector<Lcom/sun/tools/hat/internal/model/JavaHeapObject;>;

  private com.sun.tools.hat.internal.model.Snapshot mySnapshot;
    descriptor: Lcom/sun/tools/hat/internal/model/Snapshot;
    flags: (0x0002) ACC_PRIVATE

  private int instanceSize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int totalNumFields;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 63
            iconst_0
            anewarray com.sun.tools.hat.internal.model.JavaClass
            putstatic com.sun.tools.hat.internal.model.JavaClass.EMPTY_CLASS_ARRAY:[Lcom/sun/tools/hat/internal/model/JavaClass;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(long, java.lang.String, long, long, long, long, com.sun.tools.hat.internal.model.JavaField[], com.sun.tools.hat.internal.model.JavaStatic[], int);
    descriptor: (JLjava/lang/String;JJJJ[Lcom/sun/tools/hat/internal/model/JavaField;[Lcom/sun/tools/hat/internal/model/JavaStatic;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=15, args_size=10
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
        start local 1 // long id
        start local 3 // java.lang.String name
        start local 4 // long superclassId
        start local 6 // long loaderId
        start local 8 // long signersId
        start local 10 // long protDomainId
        start local 12 // com.sun.tools.hat.internal.model.JavaField[] fields
        start local 13 // com.sun.tools.hat.internal.model.JavaStatic[] statics
        start local 14 // int instanceSize
         0: .line 79
            aload 0 /* this */
            invokespecial com.sun.tools.hat.internal.model.JavaHeapObject.<init>:()V
         1: .line 65
            aload 0 /* this */
            getstatic com.sun.tools.hat.internal.model.JavaClass.EMPTY_CLASS_ARRAY:[Lcom/sun/tools/hat/internal/model/JavaClass;
            putfield com.sun.tools.hat.internal.model.JavaClass.subclasses:[Lcom/sun/tools/hat/internal/model/JavaClass;
         2: .line 68
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield com.sun.tools.hat.internal.model.JavaClass.instances:Ljava/util/Vector;
         3: .line 83
            aload 0 /* this */
            lload 1 /* id */
            putfield com.sun.tools.hat.internal.model.JavaClass.id:J
         4: .line 84
            aload 0 /* this */
            aload 3 /* name */
            putfield com.sun.tools.hat.internal.model.JavaClass.name:Ljava/lang/String;
         5: .line 85
            aload 0 /* this */
            new com.sun.tools.hat.internal.model.JavaObjectRef
            dup
            lload 4 /* superclassId */
            invokespecial com.sun.tools.hat.internal.model.JavaObjectRef.<init>:(J)V
            putfield com.sun.tools.hat.internal.model.JavaClass.superclass:Lcom/sun/tools/hat/internal/model/JavaThing;
         6: .line 86
            aload 0 /* this */
            new com.sun.tools.hat.internal.model.JavaObjectRef
            dup
            lload 6 /* loaderId */
            invokespecial com.sun.tools.hat.internal.model.JavaObjectRef.<init>:(J)V
            putfield com.sun.tools.hat.internal.model.JavaClass.loader:Lcom/sun/tools/hat/internal/model/JavaThing;
         7: .line 87
            aload 0 /* this */
            new com.sun.tools.hat.internal.model.JavaObjectRef
            dup
            lload 8 /* signersId */
            invokespecial com.sun.tools.hat.internal.model.JavaObjectRef.<init>:(J)V
            putfield com.sun.tools.hat.internal.model.JavaClass.signers:Lcom/sun/tools/hat/internal/model/JavaThing;
         8: .line 88
            aload 0 /* this */
            new com.sun.tools.hat.internal.model.JavaObjectRef
            dup
            lload 10 /* protDomainId */
            invokespecial com.sun.tools.hat.internal.model.JavaObjectRef.<init>:(J)V
            putfield com.sun.tools.hat.internal.model.JavaClass.protectionDomain:Lcom/sun/tools/hat/internal/model/JavaThing;
         9: .line 89
            aload 0 /* this */
            aload 12 /* fields */
            putfield com.sun.tools.hat.internal.model.JavaClass.fields:[Lcom/sun/tools/hat/internal/model/JavaField;
        10: .line 90
            aload 0 /* this */
            aload 13 /* statics */
            putfield com.sun.tools.hat.internal.model.JavaClass.statics:[Lcom/sun/tools/hat/internal/model/JavaStatic;
        11: .line 91
            aload 0 /* this */
            iload 14 /* instanceSize */
            putfield com.sun.tools.hat.internal.model.JavaClass.instanceSize:I
        12: .line 92
            return
        end local 14 // int instanceSize
        end local 13 // com.sun.tools.hat.internal.model.JavaStatic[] statics
        end local 12 // com.sun.tools.hat.internal.model.JavaField[] fields
        end local 10 // long protDomainId
        end local 8 // long signersId
        end local 6 // long loaderId
        end local 4 // long superclassId
        end local 3 // java.lang.String name
        end local 1 // long id
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lcom/sun/tools/hat/internal/model/JavaClass;
            0   13     1            id  J
            0   13     3          name  Ljava/lang/String;
            0   13     4  superclassId  J
            0   13     6      loaderId  J
            0   13     8     signersId  J
            0   13    10  protDomainId  J
            0   13    12        fields  [Lcom/sun/tools/hat/internal/model/JavaField;
            0   13    13       statics  [Lcom/sun/tools/hat/internal/model/JavaStatic;
            0   13    14  instanceSize  I
    MethodParameters:
              Name  Flags
      id            
      name          
      superclassId  
      loaderId      
      signersId     
      protDomainId  
      fields        
      statics       
      instanceSize  

  public void <init>(java.lang.String, long, long, long, long, com.sun.tools.hat.internal.model.JavaField[], com.sun.tools.hat.internal.model.JavaStatic[], int);
    descriptor: (Ljava/lang/String;JJJJ[Lcom/sun/tools/hat/internal/model/JavaField;[Lcom/sun/tools/hat/internal/model/JavaStatic;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=15, locals=13, args_size=9
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
        start local 1 // java.lang.String name
        start local 2 // long superclassId
        start local 4 // long loaderId
        start local 6 // long signersId
        start local 8 // long protDomainId
        start local 10 // com.sun.tools.hat.internal.model.JavaField[] fields
        start local 11 // com.sun.tools.hat.internal.model.JavaStatic[] statics
        start local 12 // int instanceSize
         0: .line 98
            aload 0 /* this */
            ldc -1
            aload 1 /* name */
            lload 2 /* superclassId */
            lload 4 /* loaderId */
            lload 6 /* signersId */
         1: .line 99
            lload 8 /* protDomainId */
            aload 10 /* fields */
            aload 11 /* statics */
            iload 12 /* instanceSize */
            invokespecial com.sun.tools.hat.internal.model.JavaClass.<init>:(JLjava/lang/String;JJJJ[Lcom/sun/tools/hat/internal/model/JavaField;[Lcom/sun/tools/hat/internal/model/JavaStatic;I)V
         2: .line 100
            return
        end local 12 // int instanceSize
        end local 11 // com.sun.tools.hat.internal.model.JavaStatic[] statics
        end local 10 // com.sun.tools.hat.internal.model.JavaField[] fields
        end local 8 // long protDomainId
        end local 6 // long signersId
        end local 4 // long loaderId
        end local 2 // long superclassId
        end local 1 // java.lang.String name
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lcom/sun/tools/hat/internal/model/JavaClass;
            0    3     1          name  Ljava/lang/String;
            0    3     2  superclassId  J
            0    3     4      loaderId  J
            0    3     6     signersId  J
            0    3     8  protDomainId  J
            0    3    10        fields  [Lcom/sun/tools/hat/internal/model/JavaField;
            0    3    11       statics  [Lcom/sun/tools/hat/internal/model/JavaStatic;
            0    3    12  instanceSize  I
    MethodParameters:
              Name  Flags
      name          
      superclassId  
      loaderId      
      signersId     
      protDomainId  
      fields        
      statics       
      instanceSize  

  public final com.sun.tools.hat.internal.model.JavaClass getClazz();
    descriptor: ()Lcom/sun/tools/hat/internal/model/JavaClass;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
         0: .line 103
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.mySnapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.getJavaLangClass:()Lcom/sun/tools/hat/internal/model/JavaClass;
            areturn
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;

  public final int getIdentifierSize();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
         0: .line 107
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.mySnapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.getIdentifierSize:()I
            ireturn
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;

  public final int getMinimumObjectSize();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
         0: .line 111
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.mySnapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.getMinimumObjectSize:()I
            ireturn
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;

  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=4, locals=3, args_size=2
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
        start local 1 // com.sun.tools.hat.internal.model.Snapshot snapshot
         0: .line 115
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.mySnapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            ifnull 2
         1: .line 116
            return
         2: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* snapshot */
            putfield com.sun.tools.hat.internal.model.JavaClass.mySnapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
         3: .line 119
            aload 0 /* this */
            aload 1 /* snapshot */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.resolveSuperclass:(Lcom/sun/tools/hat/internal/model/Snapshot;)V
         4: .line 120
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.superclass:Lcom/sun/tools/hat/internal/model/JavaThing;
            ifnull 6
         5: .line 121
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.superclass:Lcom/sun/tools/hat/internal/model/JavaThing;
            checkcast com.sun.tools.hat.internal.model.JavaClass
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.addSubclass:(Lcom/sun/tools/hat/internal/model/JavaClass;)V
         6: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.loader:Lcom/sun/tools/hat/internal/model/JavaThing;
            aload 1 /* snapshot */
            aconst_null
            invokevirtual com.sun.tools.hat.internal.model.JavaThing.dereference:(Lcom/sun/tools/hat/internal/model/Snapshot;Lcom/sun/tools/hat/internal/model/JavaField;)Lcom/sun/tools/hat/internal/model/JavaThing;
            putfield com.sun.tools.hat.internal.model.JavaClass.loader:Lcom/sun/tools/hat/internal/model/JavaThing;
         7: .line 125
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.signers:Lcom/sun/tools/hat/internal/model/JavaThing;
            aload 1 /* snapshot */
            aconst_null
            invokevirtual com.sun.tools.hat.internal.model.JavaThing.dereference:(Lcom/sun/tools/hat/internal/model/Snapshot;Lcom/sun/tools/hat/internal/model/JavaField;)Lcom/sun/tools/hat/internal/model/JavaThing;
            putfield com.sun.tools.hat.internal.model.JavaClass.signers:Lcom/sun/tools/hat/internal/model/JavaThing;
         8: .line 126
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.protectionDomain:Lcom/sun/tools/hat/internal/model/JavaThing;
            aload 1 /* snapshot */
            aconst_null
            invokevirtual com.sun.tools.hat.internal.model.JavaThing.dereference:(Lcom/sun/tools/hat/internal/model/Snapshot;Lcom/sun/tools/hat/internal/model/JavaField;)Lcom/sun/tools/hat/internal/model/JavaThing;
            putfield com.sun.tools.hat.internal.model.JavaClass.protectionDomain:Lcom/sun/tools/hat/internal/model/JavaThing;
         9: .line 128
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        10: goto 13
        11: .line 129
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.statics:[Lcom/sun/tools/hat/internal/model/JavaStatic;
            iload 2 /* i */
            aaload
            aload 0 /* this */
            aload 1 /* snapshot */
            invokevirtual com.sun.tools.hat.internal.model.JavaStatic.resolve:(Lcom/sun/tools/hat/internal/model/JavaClass;Lcom/sun/tools/hat/internal/model/Snapshot;)V
        12: .line 128
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 2 /* i */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.statics:[Lcom/sun/tools/hat/internal/model/JavaStatic;
            arraylength
            if_icmplt 11
        end local 2 // int i
        14: .line 131
            aload 1 /* snapshot */
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.getJavaLangClass:()Lcom/sun/tools/hat/internal/model/JavaClass;
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.addInstance:(Lcom/sun/tools/hat/internal/model/JavaHeapObject;)V
        15: .line 132
            aload 0 /* this */
            aload 1 /* snapshot */
            invokespecial com.sun.tools.hat.internal.model.JavaHeapObject.resolve:(Lcom/sun/tools/hat/internal/model/Snapshot;)V
        16: .line 133
            return
        end local 1 // com.sun.tools.hat.internal.model.Snapshot snapshot
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Lcom/sun/tools/hat/internal/model/JavaClass;
            0   17     1  snapshot  Lcom/sun/tools/hat/internal/model/Snapshot;
           10   14     2         i  I
    MethodParameters:
          Name  Flags
      snapshot  

  public void resolveSuperclass(com.sun.tools.hat.internal.model.Snapshot);
    descriptor: (Lcom/sun/tools/hat/internal/model/Snapshot;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
        start local 1 // com.sun.tools.hat.internal.model.Snapshot snapshot
         0: .line 143
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.superclass:Lcom/sun/tools/hat/internal/model/JavaThing;
            ifnull 13
         1: .line 146
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.fields:[Lcom/sun/tools/hat/internal/model/JavaField;
            arraylength
            putfield com.sun.tools.hat.internal.model.JavaClass.totalNumFields:I
         2: .line 147
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.superclass:Lcom/sun/tools/hat/internal/model/JavaThing;
            aload 1 /* snapshot */
            aconst_null
            invokevirtual com.sun.tools.hat.internal.model.JavaThing.dereference:(Lcom/sun/tools/hat/internal/model/Snapshot;Lcom/sun/tools/hat/internal/model/JavaField;)Lcom/sun/tools/hat/internal/model/JavaThing;
            putfield com.sun.tools.hat.internal.model.JavaClass.superclass:Lcom/sun/tools/hat/internal/model/JavaThing;
         3: .line 148
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.superclass:Lcom/sun/tools/hat/internal/model/JavaThing;
            aload 1 /* snapshot */
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.getNullThing:()Lcom/sun/tools/hat/internal/model/JavaThing;
            if_acmpne 6
         4: .line 149
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.hat.internal.model.JavaClass.superclass:Lcom/sun/tools/hat/internal/model/JavaThing;
         5: .line 150
            goto 13
         6: .line 152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.superclass:Lcom/sun/tools/hat/internal/model/JavaThing;
            checkcast com.sun.tools.hat.internal.model.JavaClass
            astore 2 /* sc */
        start local 2 // com.sun.tools.hat.internal.model.JavaClass sc
         7: .line 153
            aload 2 /* sc */
            aload 1 /* snapshot */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.resolveSuperclass:(Lcom/sun/tools/hat/internal/model/Snapshot;)V
         8: .line 154
            aload 0 /* this */
            dup
            getfield com.sun.tools.hat.internal.model.JavaClass.totalNumFields:I
            aload 2 /* sc */
            getfield com.sun.tools.hat.internal.model.JavaClass.totalNumFields:I
            iadd
            putfield com.sun.tools.hat.internal.model.JavaClass.totalNumFields:I
        end local 2 // com.sun.tools.hat.internal.model.JavaClass sc
         9: .line 155
            goto 13
      StackMap locals:
      StackMap stack: java.lang.ClassCastException
        10: pop
        11: .line 156
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Warning!  Superclass of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.superclass:Lcom/sun/tools/hat/internal/model/JavaThing;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        12: .line 157
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.hat.internal.model.JavaClass.superclass:Lcom/sun/tools/hat/internal/model/JavaThing;
        13: .line 161
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.tools.hat.internal.model.Snapshot snapshot
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lcom/sun/tools/hat/internal/model/JavaClass;
            0   14     1  snapshot  Lcom/sun/tools/hat/internal/model/Snapshot;
            7    9     2        sc  Lcom/sun/tools/hat/internal/model/JavaClass;
      Exception table:
        from    to  target  type
           6     9      10  Class java.lang.ClassCastException
    MethodParameters:
          Name  Flags
      snapshot  

  public boolean isString();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
         0: .line 164
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.mySnapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.getJavaLangString:()Lcom/sun/tools/hat/internal/model/JavaClass;
            aload 0 /* this */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;

  public boolean isClassLoader();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
         0: .line 168
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.mySnapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.getJavaLangClassLoader:()Lcom/sun/tools/hat/internal/model/JavaClass;
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.isAssignableFrom:(Lcom/sun/tools/hat/internal/model/JavaClass;)Z
            ireturn
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;

  public com.sun.tools.hat.internal.model.JavaField getField(int);
    descriptor: (I)Lcom/sun/tools/hat/internal/model/JavaField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
        start local 1 // int i
         0: .line 175
            iload 1 /* i */
            iflt 1
            iload 1 /* i */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.fields:[Lcom/sun/tools/hat/internal/model/JavaField;
            arraylength
            if_icmplt 2
         1: .line 176
      StackMap locals:
      StackMap stack:
            new java.lang.Error
            dup
            new java.lang.StringBuilder
            dup
            ldc "No field "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " for "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.fields:[Lcom/sun/tools/hat/internal/model/JavaField;
            iload 1 /* i */
            aaload
            areturn
        end local 1 // int i
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;
            0    3     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public int getNumFieldsForInstance();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
         0: .line 186
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.totalNumFields:I
            ireturn
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;

  public com.sun.tools.hat.internal.model.JavaField getFieldForInstance(int);
    descriptor: (I)Lcom/sun/tools/hat/internal/model/JavaField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
        start local 1 // int i
         0: .line 194
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.superclass:Lcom/sun/tools/hat/internal/model/JavaThing;
            ifnull 5
         1: .line 195
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.superclass:Lcom/sun/tools/hat/internal/model/JavaThing;
            checkcast com.sun.tools.hat.internal.model.JavaClass
            astore 2 /* sc */
        start local 2 // com.sun.tools.hat.internal.model.JavaClass sc
         2: .line 196
            iload 1 /* i */
            aload 2 /* sc */
            getfield com.sun.tools.hat.internal.model.JavaClass.totalNumFields:I
            if_icmpge 4
         3: .line 197
            aload 2 /* sc */
            iload 1 /* i */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getFieldForInstance:(I)Lcom/sun/tools/hat/internal/model/JavaField;
            areturn
         4: .line 199
      StackMap locals: com.sun.tools.hat.internal.model.JavaClass
      StackMap stack:
            iload 1 /* i */
            aload 2 /* sc */
            getfield com.sun.tools.hat.internal.model.JavaClass.totalNumFields:I
            isub
            istore 1 /* i */
        end local 2 // com.sun.tools.hat.internal.model.JavaClass sc
         5: .line 201
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* i */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getField:(I)Lcom/sun/tools/hat/internal/model/JavaField;
            areturn
        end local 1 // int i
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;
            0    6     1     i  I
            2    5     2    sc  Lcom/sun/tools/hat/internal/model/JavaClass;
    MethodParameters:
      Name  Flags
      i     

  public com.sun.tools.hat.internal.model.JavaClass getClassForField(int);
    descriptor: (I)Lcom/sun/tools/hat/internal/model/JavaClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
        start local 1 // int i
         0: .line 211
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.superclass:Lcom/sun/tools/hat/internal/model/JavaThing;
            ifnull 4
         1: .line 212
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.superclass:Lcom/sun/tools/hat/internal/model/JavaThing;
            checkcast com.sun.tools.hat.internal.model.JavaClass
            astore 2 /* sc */
        start local 2 // com.sun.tools.hat.internal.model.JavaClass sc
         2: .line 213
            iload 1 /* i */
            aload 2 /* sc */
            getfield com.sun.tools.hat.internal.model.JavaClass.totalNumFields:I
            if_icmpge 4
         3: .line 214
            aload 2 /* sc */
            iload 1 /* i */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getClassForField:(I)Lcom/sun/tools/hat/internal/model/JavaClass;
            areturn
        end local 2 // com.sun.tools.hat.internal.model.JavaClass sc
         4: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // int i
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;
            0    5     1     i  I
            2    4     2    sc  Lcom/sun/tools/hat/internal/model/JavaClass;
    MethodParameters:
      Name  Flags
      i     

  public long getId();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
         0: .line 221
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.id:J
            lreturn
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;

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

  public boolean isArray();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
         0: .line 229
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.name:Ljava/lang/String;
            bipush 91
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;

  public java.util.Enumeration getInstances(boolean);
    descriptor: (Z)Ljava/util/Enumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
        start local 1 // boolean includeSubclasses
         0: .line 233
            iload 1 /* includeSubclasses */
            ifeq 10
         1: .line 234
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.instances:Ljava/util/Vector;
            invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
            astore 2 /* res */
        start local 2 // java.util.Enumeration res
         2: .line 235
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 236
      StackMap locals: java.util.Enumeration int
      StackMap stack:
            new com.sun.tools.hat.internal.util.CompositeEnumeration
            dup
            aload 2 /* res */
         5: .line 237
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.subclasses:[Lcom/sun/tools/hat/internal/model/JavaClass;
            iload 3 /* i */
            aaload
            iconst_1
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getInstances:(Z)Ljava/util/Enumeration;
         6: .line 236
            invokespecial com.sun.tools.hat.internal.util.CompositeEnumeration.<init>:(Ljava/util/Enumeration;Ljava/util/Enumeration;)V
            astore 2 /* res */
         7: .line 235
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.subclasses:[Lcom/sun/tools/hat/internal/model/JavaClass;
            arraylength
            if_icmplt 4
        end local 3 // int i
         9: .line 239
            aload 2 /* res */
            areturn
        end local 2 // java.util.Enumeration res
        10: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.instances:Ljava/util/Vector;
            invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
            areturn
        end local 1 // boolean includeSubclasses
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   11     0               this  Lcom/sun/tools/hat/internal/model/JavaClass;
            0   11     1  includeSubclasses  Z
            2   10     2                res  Ljava/util/Enumeration;
            3    9     3                  i  I
    MethodParameters:
                   Name  Flags
      includeSubclasses  

  public int getInstancesCount(boolean);
    descriptor: (Z)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
        start local 1 // boolean includeSubclasses
         0: .line 249
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.instances:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            istore 2 /* result */
        start local 2 // int result
         1: .line 250
            iload 1 /* includeSubclasses */
            ifeq 7
         2: .line 251
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 252
      StackMap locals: int int
      StackMap stack:
            iload 2 /* result */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.subclasses:[Lcom/sun/tools/hat/internal/model/JavaClass;
            iload 3 /* i */
            aaload
            iload 1 /* includeSubclasses */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getInstancesCount:(Z)I
            iadd
            istore 2 /* result */
         5: .line 251
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.subclasses:[Lcom/sun/tools/hat/internal/model/JavaClass;
            arraylength
            if_icmplt 4
        end local 3 // int i
         7: .line 255
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // int result
        end local 1 // boolean includeSubclasses
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               this  Lcom/sun/tools/hat/internal/model/JavaClass;
            0    8     1  includeSubclasses  Z
            1    8     2             result  I
            3    7     3                  i  I
    MethodParameters:
                   Name  Flags
      includeSubclasses  

  public com.sun.tools.hat.internal.model.JavaClass[] getSubclasses();
    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.JavaClass this
         0: .line 259
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.subclasses:[Lcom/sun/tools/hat/internal/model/JavaClass;
            areturn
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;

  public com.sun.tools.hat.internal.model.JavaClass getSuperclass();
    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.JavaClass this
         0: .line 266
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.superclass:Lcom/sun/tools/hat/internal/model/JavaThing;
            checkcast com.sun.tools.hat.internal.model.JavaClass
            areturn
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;

  public com.sun.tools.hat.internal.model.JavaThing getLoader();
    descriptor: ()Lcom/sun/tools/hat/internal/model/JavaThing;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
         0: .line 273
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.loader:Lcom/sun/tools/hat/internal/model/JavaThing;
            areturn
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;

  public boolean isBootstrap();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
         0: .line 280
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.loader:Lcom/sun/tools/hat/internal/model/JavaThing;
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.mySnapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.getNullThing:()Lcom/sun/tools/hat/internal/model/JavaThing;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;

  public com.sun.tools.hat.internal.model.JavaThing getSigners();
    descriptor: ()Lcom/sun/tools/hat/internal/model/JavaThing;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
         0: .line 287
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.signers:Lcom/sun/tools/hat/internal/model/JavaThing;
            areturn
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;

  public com.sun.tools.hat.internal.model.JavaThing getProtectionDomain();
    descriptor: ()Lcom/sun/tools/hat/internal/model/JavaThing;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
         0: .line 294
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.protectionDomain:Lcom/sun/tools/hat/internal/model/JavaThing;
            areturn
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;

  public com.sun.tools.hat.internal.model.JavaField[] getFields();
    descriptor: ()[Lcom/sun/tools/hat/internal/model/JavaField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
         0: .line 298
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.fields:[Lcom/sun/tools/hat/internal/model/JavaField;
            areturn
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;

  public com.sun.tools.hat.internal.model.JavaField[] getFieldsForInstance();
    descriptor: ()[Lcom/sun/tools/hat/internal/model/JavaField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
         0: .line 305
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 1 /* v */
        start local 1 // java.util.Vector v
         1: .line 306
            aload 0 /* this */
            aload 1 /* v */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.addFields:(Ljava/util/Vector;)V
         2: .line 307
            aload 1 /* v */
            invokevirtual java.util.Vector.size:()I
            anewarray com.sun.tools.hat.internal.model.JavaField
            astore 2 /* result */
        start local 2 // com.sun.tools.hat.internal.model.JavaField[] result
         3: .line 308
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 309
      StackMap locals: java.util.Vector com.sun.tools.hat.internal.model.JavaField[] int
      StackMap stack:
            aload 2 /* result */
            iload 3 /* i */
            aload 1 /* v */
            iload 3 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast com.sun.tools.hat.internal.model.JavaField
            aastore
         6: .line 308
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 1 /* v */
            invokevirtual java.util.Vector.size:()I
            if_icmplt 5
        end local 3 // int i
         8: .line 311
            aload 2 /* result */
            areturn
        end local 2 // com.sun.tools.hat.internal.model.JavaField[] result
        end local 1 // java.util.Vector v
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lcom/sun/tools/hat/internal/model/JavaClass;
            1    9     1       v  Ljava/util/Vector<Lcom/sun/tools/hat/internal/model/JavaField;>;
            3    9     2  result  [Lcom/sun/tools/hat/internal/model/JavaField;
            4    8     3       i  I

  public com.sun.tools.hat.internal.model.JavaStatic[] getStatics();
    descriptor: ()[Lcom/sun/tools/hat/internal/model/JavaStatic;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
         0: .line 316
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.statics:[Lcom/sun/tools/hat/internal/model/JavaStatic;
            areturn
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;

  public com.sun.tools.hat.internal.model.JavaThing getStaticField(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/sun/tools/hat/internal/model/JavaThing;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
        start local 1 // java.lang.String name
         0: .line 321
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 6
         2: .line 322
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.statics:[Lcom/sun/tools/hat/internal/model/JavaStatic;
            iload 2 /* i */
            aaload
            astore 3 /* s */
        start local 3 // com.sun.tools.hat.internal.model.JavaStatic s
         3: .line 323
            aload 3 /* s */
            invokevirtual com.sun.tools.hat.internal.model.JavaStatic.getField:()Lcom/sun/tools/hat/internal/model/JavaField;
            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 5
         4: .line 324
            aload 3 /* s */
            invokevirtual com.sun.tools.hat.internal.model.JavaStatic.getValue:()Lcom/sun/tools/hat/internal/model/JavaThing;
            areturn
        end local 3 // com.sun.tools.hat.internal.model.JavaStatic s
         5: .line 321
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.statics:[Lcom/sun/tools/hat/internal/model/JavaStatic;
            arraylength
            if_icmplt 2
        end local 2 // int i
         7: .line 327
            aconst_null
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;
            0    8     1  name  Ljava/lang/String;
            1    7     2     i  I
            3    5     3     s  Lcom/sun/tools/hat/internal/model/JavaStatic;
    MethodParameters:
      Name  Flags
      name  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
         0: .line 331
            new java.lang.StringBuilder
            dup
            ldc "class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.name: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 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;

  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=2, args_size=2
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
        start local 1 // com.sun.tools.hat.internal.model.JavaThing other
         0: .line 335
            aload 1 /* other */
            instanceof com.sun.tools.hat.internal.model.JavaClass
            ifeq 2
         1: .line 336
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.name:Ljava/lang/String;
            aload 1 /* other */
            checkcast com.sun.tools.hat.internal.model.JavaClass
            getfield com.sun.tools.hat.internal.model.JavaClass.name:Ljava/lang/String;
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            ireturn
         2: .line 338
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* other */
            invokespecial com.sun.tools.hat.internal.model.JavaHeapObject.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.JavaClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/sun/tools/hat/internal/model/JavaClass;
            0    3     1  other  Lcom/sun/tools/hat/internal/model/JavaThing;
    MethodParameters:
       Name  Flags
      other  

  public boolean isAssignableFrom(com.sun.tools.hat.internal.model.JavaClass);
    descriptor: (Lcom/sun/tools/hat/internal/model/JavaClass;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
        start local 1 // com.sun.tools.hat.internal.model.JavaClass other
         0: .line 347
            aload 0 /* this */
            aload 1 /* other */
            if_acmpne 2
         1: .line 348
            iconst_1
            ireturn
         2: .line 349
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            ifnonnull 4
         3: .line 350
            iconst_0
            ireturn
         4: .line 352
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* other */
            getfield com.sun.tools.hat.internal.model.JavaClass.superclass:Lcom/sun/tools/hat/internal/model/JavaThing;
            checkcast com.sun.tools.hat.internal.model.JavaClass
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.isAssignableFrom:(Lcom/sun/tools/hat/internal/model/JavaClass;)Z
            ireturn
        end local 1 // com.sun.tools.hat.internal.model.JavaClass other
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/sun/tools/hat/internal/model/JavaClass;
            0    5     1  other  Lcom/sun/tools/hat/internal/model/JavaClass;
    MethodParameters:
       Name  Flags
      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.JavaClass 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 362
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 8
         2: .line 363
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.statics:[Lcom/sun/tools/hat/internal/model/JavaStatic;
            iload 3 /* i */
            aaload
            invokevirtual com.sun.tools.hat.internal.model.JavaStatic.getField:()Lcom/sun/tools/hat/internal/model/JavaField;
            astore 4 /* f */
        start local 4 // com.sun.tools.hat.internal.model.JavaField f
         3: .line 364
            aload 4 /* f */
            invokevirtual com.sun.tools.hat.internal.model.JavaField.hasId:()Z
            ifeq 7
         4: .line 365
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.statics:[Lcom/sun/tools/hat/internal/model/JavaStatic;
            iload 3 /* i */
            aaload
            invokevirtual com.sun.tools.hat.internal.model.JavaStatic.getValue:()Lcom/sun/tools/hat/internal/model/JavaThing;
            astore 5 /* other */
        start local 5 // com.sun.tools.hat.internal.model.JavaThing other
         5: .line 366
            aload 5 /* other */
            aload 1 /* target */
            if_acmpne 7
         6: .line 367
            new java.lang.StringBuilder
            dup
            ldc "static field "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* 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.JavaThing other
        end local 4 // com.sun.tools.hat.internal.model.JavaField f
         7: .line 362
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.statics:[Lcom/sun/tools/hat/internal/model/JavaStatic;
            arraylength
            if_icmplt 2
        end local 3 // int i
         9: .line 371
            aload 0 /* this */
            aload 1 /* target */
            aload 2 /* ss */
            invokespecial com.sun.tools.hat.internal.model.JavaHeapObject.describeReferenceTo:(Lcom/sun/tools/hat/internal/model/JavaThing;Lcom/sun/tools/hat/internal/model/Snapshot;)Ljava/lang/String;
            areturn
        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.JavaClass this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lcom/sun/tools/hat/internal/model/JavaClass;
            0   10     1  target  Lcom/sun/tools/hat/internal/model/JavaThing;
            0   10     2      ss  Lcom/sun/tools/hat/internal/model/Snapshot;
            1    9     3       i  I
            3    7     4       f  Lcom/sun/tools/hat/internal/model/JavaField;
            5    7     5   other  Lcom/sun/tools/hat/internal/model/JavaThing;
    MethodParameters:
        Name  Flags
      target  
      ss      

  public int getInstanceSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
         0: .line 379
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.instanceSize:I
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.mySnapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.getMinimumObjectSize:()I
            iadd
            ireturn
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;

  public long getTotalInstanceSize();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
         0: .line 388
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.instances:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            istore 1 /* count */
        start local 1 // int count
         1: .line 389
            iload 1 /* count */
            ifeq 2
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.isArray:()Z
            ifne 3
         2: .line 390
      StackMap locals: int
      StackMap stack:
            iload 1 /* count */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.instanceSize:I
            imul
            i2l
            lreturn
         3: .line 395
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 2 /* result */
        start local 2 // long result
         4: .line 396
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 9
         6: .line 397
      StackMap locals: long int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.instances:Ljava/util/Vector;
            iload 4 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast com.sun.tools.hat.internal.model.JavaThing
            astore 5 /* t */
        start local 5 // com.sun.tools.hat.internal.model.JavaThing t
         7: .line 398
            lload 2 /* result */
            aload 5 /* t */
            invokevirtual com.sun.tools.hat.internal.model.JavaThing.getSize:()I
            i2l
            ladd
            lstore 2 /* result */
        end local 5 // com.sun.tools.hat.internal.model.JavaThing t
         8: .line 396
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            iload 1 /* count */
            if_icmplt 6
        end local 4 // int i
        10: .line 400
            lload 2 /* result */
            lreturn
        end local 2 // long result
        end local 1 // int count
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lcom/sun/tools/hat/internal/model/JavaClass;
            1   11     1   count  I
            4   11     2  result  J
            5   10     4       i  I
            7    8     5       t  Lcom/sun/tools/hat/internal/model/JavaThing;

  public int getSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
         0: .line 407
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.mySnapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.getJavaLangClass:()Lcom/sun/tools/hat/internal/model/JavaClass;
            astore 1 /* cl */
        start local 1 // com.sun.tools.hat.internal.model.JavaClass cl
         1: .line 408
            aload 1 /* cl */
            ifnonnull 3
         2: .line 409
            iconst_0
            ireturn
         3: .line 411
      StackMap locals: com.sun.tools.hat.internal.model.JavaClass
      StackMap stack:
            aload 1 /* cl */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getInstanceSize:()I
            ireturn
        end local 1 // com.sun.tools.hat.internal.model.JavaClass cl
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;
            1    4     1    cl  Lcom/sun/tools/hat/internal/model/JavaClass;

  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=3, locals=6, args_size=2
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
        start local 1 // com.sun.tools.hat.internal.model.JavaHeapObjectVisitor v
         0: .line 416
            aload 0 /* this */
            aload 1 /* v */
            invokespecial com.sun.tools.hat.internal.model.JavaHeapObject.visitReferencedObjects:(Lcom/sun/tools/hat/internal/model/JavaHeapObjectVisitor;)V
         1: .line 417
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getSuperclass:()Lcom/sun/tools/hat/internal/model/JavaClass;
            astore 2 /* sc */
        start local 2 // com.sun.tools.hat.internal.model.JavaHeapObject sc
         2: .line 418
            aload 2 /* sc */
            ifnull 3
            aload 1 /* v */
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getSuperclass:()Lcom/sun/tools/hat/internal/model/JavaClass;
            invokeinterface com.sun.tools.hat.internal.model.JavaHeapObjectVisitor.visit:(Lcom/sun/tools/hat/internal/model/JavaHeapObject;)V
         3: .line 421
      StackMap locals: com.sun.tools.hat.internal.model.JavaHeapObject
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getLoader:()Lcom/sun/tools/hat/internal/model/JavaThing;
            astore 3 /* other */
        start local 3 // com.sun.tools.hat.internal.model.JavaThing other
         4: .line 422
            aload 3 /* other */
            instanceof com.sun.tools.hat.internal.model.JavaHeapObject
            ifeq 6
         5: .line 423
            aload 1 /* v */
            aload 3 /* other */
            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
         6: .line 425
      StackMap locals: com.sun.tools.hat.internal.model.JavaThing
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getSigners:()Lcom/sun/tools/hat/internal/model/JavaThing;
            astore 3 /* other */
         7: .line 426
            aload 3 /* other */
            instanceof com.sun.tools.hat.internal.model.JavaHeapObject
            ifeq 9
         8: .line 427
            aload 1 /* v */
            aload 3 /* other */
            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
         9: .line 429
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.getProtectionDomain:()Lcom/sun/tools/hat/internal/model/JavaThing;
            astore 3 /* other */
        10: .line 430
            aload 3 /* other */
            instanceof com.sun.tools.hat.internal.model.JavaHeapObject
            ifeq 12
        11: .line 431
            aload 1 /* v */
            aload 3 /* other */
            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 434
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        13: goto 20
        14: .line 435
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.statics:[Lcom/sun/tools/hat/internal/model/JavaStatic;
            iload 4 /* i */
            aaload
            invokevirtual com.sun.tools.hat.internal.model.JavaStatic.getField:()Lcom/sun/tools/hat/internal/model/JavaField;
            astore 5 /* f */
        start local 5 // com.sun.tools.hat.internal.model.JavaField f
        15: .line 436
            aload 1 /* v */
            aload 0 /* this */
            aload 5 /* f */
            invokeinterface com.sun.tools.hat.internal.model.JavaHeapObjectVisitor.exclude:(Lcom/sun/tools/hat/internal/model/JavaClass;Lcom/sun/tools/hat/internal/model/JavaField;)Z
            ifne 19
            aload 5 /* f */
            invokevirtual com.sun.tools.hat.internal.model.JavaField.hasId:()Z
            ifeq 19
        16: .line 437
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.statics:[Lcom/sun/tools/hat/internal/model/JavaStatic;
            iload 4 /* i */
            aaload
            invokevirtual com.sun.tools.hat.internal.model.JavaStatic.getValue:()Lcom/sun/tools/hat/internal/model/JavaThing;
            astore 3 /* other */
        17: .line 438
            aload 3 /* other */
            instanceof com.sun.tools.hat.internal.model.JavaHeapObject
            ifeq 19
        18: .line 439
            aload 1 /* v */
            aload 3 /* other */
            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
        end local 5 // com.sun.tools.hat.internal.model.JavaField f
        19: .line 434
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 4 /* i */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.statics:[Lcom/sun/tools/hat/internal/model/JavaStatic;
            arraylength
            if_icmplt 14
        end local 4 // int i
        21: .line 443
            return
        end local 3 // com.sun.tools.hat.internal.model.JavaThing other
        end local 2 // com.sun.tools.hat.internal.model.JavaHeapObject sc
        end local 1 // com.sun.tools.hat.internal.model.JavaHeapObjectVisitor v
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   22     0   this  Lcom/sun/tools/hat/internal/model/JavaClass;
            0   22     1      v  Lcom/sun/tools/hat/internal/model/JavaHeapObjectVisitor;
            2   22     2     sc  Lcom/sun/tools/hat/internal/model/JavaHeapObject;
            4   22     3  other  Lcom/sun/tools/hat/internal/model/JavaThing;
           13   21     4      i  I
           15   19     5      f  Lcom/sun/tools/hat/internal/model/JavaField;
    MethodParameters:
      Name  Flags
      v     

  final com.sun.tools.hat.internal.parser.ReadBuffer getReadBuffer();
    descriptor: ()Lcom/sun/tools/hat/internal/parser/ReadBuffer;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
         0: .line 447
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.mySnapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.getReadBuffer:()Lcom/sun/tools/hat/internal/parser/ReadBuffer;
            areturn
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;

  final void setNew(com.sun.tools.hat.internal.model.JavaHeapObject, boolean);
    descriptor: (Lcom/sun/tools/hat/internal/model/JavaHeapObject;Z)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
        start local 1 // com.sun.tools.hat.internal.model.JavaHeapObject obj
        start local 2 // boolean flag
         0: .line 451
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.mySnapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            aload 1 /* obj */
            iload 2 /* flag */
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.setNew:(Lcom/sun/tools/hat/internal/model/JavaHeapObject;Z)V
         1: .line 452
            return
        end local 2 // boolean flag
        end local 1 // com.sun.tools.hat.internal.model.JavaHeapObject obj
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;
            0    2     1   obj  Lcom/sun/tools/hat/internal/model/JavaHeapObject;
            0    2     2  flag  Z
    MethodParameters:
      Name  Flags
      obj   
      flag  

  final boolean isNew(com.sun.tools.hat.internal.model.JavaHeapObject);
    descriptor: (Lcom/sun/tools/hat/internal/model/JavaHeapObject;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
        start local 1 // com.sun.tools.hat.internal.model.JavaHeapObject obj
         0: .line 455
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.mySnapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            aload 1 /* obj */
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.isNew:(Lcom/sun/tools/hat/internal/model/JavaHeapObject;)Z
            ireturn
        end local 1 // com.sun.tools.hat.internal.model.JavaHeapObject obj
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;
            0    1     1   obj  Lcom/sun/tools/hat/internal/model/JavaHeapObject;
    MethodParameters:
      Name  Flags
      obj   

  final com.sun.tools.hat.internal.model.StackTrace getSiteTrace(com.sun.tools.hat.internal.model.JavaHeapObject);
    descriptor: (Lcom/sun/tools/hat/internal/model/JavaHeapObject;)Lcom/sun/tools/hat/internal/model/StackTrace;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
        start local 1 // com.sun.tools.hat.internal.model.JavaHeapObject obj
         0: .line 459
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.mySnapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            aload 1 /* obj */
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.getSiteTrace:(Lcom/sun/tools/hat/internal/model/JavaHeapObject;)Lcom/sun/tools/hat/internal/model/StackTrace;
            areturn
        end local 1 // com.sun.tools.hat.internal.model.JavaHeapObject obj
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;
            0    1     1   obj  Lcom/sun/tools/hat/internal/model/JavaHeapObject;
    MethodParameters:
      Name  Flags
      obj   

  final void addReferenceFromRoot(com.sun.tools.hat.internal.model.Root, com.sun.tools.hat.internal.model.JavaHeapObject);
    descriptor: (Lcom/sun/tools/hat/internal/model/Root;Lcom/sun/tools/hat/internal/model/JavaHeapObject;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
        start local 1 // com.sun.tools.hat.internal.model.Root root
        start local 2 // com.sun.tools.hat.internal.model.JavaHeapObject obj
         0: .line 463
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.mySnapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            aload 1 /* root */
            aload 2 /* obj */
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.addReferenceFromRoot:(Lcom/sun/tools/hat/internal/model/Root;Lcom/sun/tools/hat/internal/model/JavaHeapObject;)V
         1: .line 464
            return
        end local 2 // com.sun.tools.hat.internal.model.JavaHeapObject obj
        end local 1 // com.sun.tools.hat.internal.model.Root root
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;
            0    2     1  root  Lcom/sun/tools/hat/internal/model/Root;
            0    2     2   obj  Lcom/sun/tools/hat/internal/model/JavaHeapObject;
    MethodParameters:
      Name  Flags
      root  
      obj   

  final com.sun.tools.hat.internal.model.Root getRoot(com.sun.tools.hat.internal.model.JavaHeapObject);
    descriptor: (Lcom/sun/tools/hat/internal/model/JavaHeapObject;)Lcom/sun/tools/hat/internal/model/Root;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
        start local 1 // com.sun.tools.hat.internal.model.JavaHeapObject obj
         0: .line 467
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.mySnapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            aload 1 /* obj */
            invokevirtual com.sun.tools.hat.internal.model.Snapshot.getRoot:(Lcom/sun/tools/hat/internal/model/JavaHeapObject;)Lcom/sun/tools/hat/internal/model/Root;
            areturn
        end local 1 // com.sun.tools.hat.internal.model.JavaHeapObject obj
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;
            0    1     1   obj  Lcom/sun/tools/hat/internal/model/JavaHeapObject;
    MethodParameters:
      Name  Flags
      obj   

  final com.sun.tools.hat.internal.model.Snapshot getSnapshot();
    descriptor: ()Lcom/sun/tools/hat/internal/model/Snapshot;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
         0: .line 471
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.mySnapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
            areturn
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;

  void addInstance(com.sun.tools.hat.internal.model.JavaHeapObject);
    descriptor: (Lcom/sun/tools/hat/internal/model/JavaHeapObject;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
        start local 1 // com.sun.tools.hat.internal.model.JavaHeapObject inst
         0: .line 475
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.instances:Ljava/util/Vector;
            aload 1 /* inst */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         1: .line 476
            return
        end local 1 // com.sun.tools.hat.internal.model.JavaHeapObject inst
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;
            0    2     1  inst  Lcom/sun/tools/hat/internal/model/JavaHeapObject;
    MethodParameters:
      Name  Flags
      inst  

  private void addFields(java.util.Vector<com.sun.tools.hat.internal.model.JavaField>);
    descriptor: (Ljava/util/Vector;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
        start local 1 // java.util.Vector v
         0: .line 480
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.superclass:Lcom/sun/tools/hat/internal/model/JavaThing;
            ifnull 2
         1: .line 481
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.superclass:Lcom/sun/tools/hat/internal/model/JavaThing;
            checkcast com.sun.tools.hat.internal.model.JavaClass
            aload 1 /* v */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.addFields:(Ljava/util/Vector;)V
         2: .line 483
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 6
         4: .line 484
      StackMap locals: int
      StackMap stack:
            aload 1 /* v */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.fields:[Lcom/sun/tools/hat/internal/model/JavaField;
            iload 2 /* i */
            aaload
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         5: .line 483
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.fields:[Lcom/sun/tools/hat/internal/model/JavaField;
            arraylength
            if_icmplt 4
        end local 2 // int i
         7: .line 486
            return
        end local 1 // java.util.Vector v
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;
            0    8     1     v  Ljava/util/Vector<Lcom/sun/tools/hat/internal/model/JavaField;>;
            3    7     2     i  I
    Signature: (Ljava/util/Vector<Lcom/sun/tools/hat/internal/model/JavaField;>;)V
    MethodParameters:
      Name  Flags
      v     

  private void addSubclassInstances(java.util.Vector<com.sun.tools.hat.internal.model.JavaHeapObject>);
    descriptor: (Ljava/util/Vector;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
        start local 1 // java.util.Vector v
         0: .line 489
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 4
         2: .line 490
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.subclasses:[Lcom/sun/tools/hat/internal/model/JavaClass;
            iload 2 /* i */
            aaload
            aload 1 /* v */
            invokevirtual com.sun.tools.hat.internal.model.JavaClass.addSubclassInstances:(Ljava/util/Vector;)V
         3: .line 489
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 2 /* i */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.subclasses:[Lcom/sun/tools/hat/internal/model/JavaClass;
            arraylength
            if_icmplt 2
        end local 2 // int i
         5: .line 492
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         6: goto 9
         7: .line 493
      StackMap locals:
      StackMap stack:
            aload 1 /* v */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.instances:Ljava/util/Vector;
            iload 2 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast com.sun.tools.hat.internal.model.JavaHeapObject
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         8: .line 492
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.instances:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 7
        end local 2 // int i
        10: .line 495
            return
        end local 1 // java.util.Vector v
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/sun/tools/hat/internal/model/JavaClass;
            0   11     1     v  Ljava/util/Vector<Lcom/sun/tools/hat/internal/model/JavaHeapObject;>;
            1    5     2     i  I
            6   10     2     i  I
    Signature: (Ljava/util/Vector<Lcom/sun/tools/hat/internal/model/JavaHeapObject;>;)V
    MethodParameters:
      Name  Flags
      v     

  private void addSubclass(com.sun.tools.hat.internal.model.JavaClass);
    descriptor: (Lcom/sun/tools/hat/internal/model/JavaClass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.sun.tools.hat.internal.model.JavaClass this
        start local 1 // com.sun.tools.hat.internal.model.JavaClass sub
         0: .line 498
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.subclasses:[Lcom/sun/tools/hat/internal/model/JavaClass;
            arraylength
            iconst_1
            iadd
            anewarray com.sun.tools.hat.internal.model.JavaClass
            astore 2 /* newValue */
        start local 2 // com.sun.tools.hat.internal.model.JavaClass[] newValue
         1: .line 499
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.subclasses:[Lcom/sun/tools/hat/internal/model/JavaClass;
            iconst_0
            aload 2 /* newValue */
            iconst_0
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.subclasses:[Lcom/sun/tools/hat/internal/model/JavaClass;
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 500
            aload 2 /* newValue */
            aload 0 /* this */
            getfield com.sun.tools.hat.internal.model.JavaClass.subclasses:[Lcom/sun/tools/hat/internal/model/JavaClass;
            arraylength
            aload 1 /* sub */
            aastore
         3: .line 501
            aload 0 /* this */
            aload 2 /* newValue */
            putfield com.sun.tools.hat.internal.model.JavaClass.subclasses:[Lcom/sun/tools/hat/internal/model/JavaClass;
         4: .line 502
            return
        end local 2 // com.sun.tools.hat.internal.model.JavaClass[] newValue
        end local 1 // com.sun.tools.hat.internal.model.JavaClass sub
        end local 0 // com.sun.tools.hat.internal.model.JavaClass this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/sun/tools/hat/internal/model/JavaClass;
            0    5     1       sub  Lcom/sun/tools/hat/internal/model/JavaClass;
            1    5     2  newValue  [Lcom/sun/tools/hat/internal/model/JavaClass;
    MethodParameters:
      Name  Flags
      sub   
}
SourceFile: "JavaClass.java"