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 start local 1 start local 3 0: aload 0
lload 3
invokespecial com.sun.tools.hat.internal.model.JavaLazyReadObject.<init>:(J)V
1: aload 0
lload 1
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: return
end local 3 end local 1 end local 0 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 start local 1 0: aload 0
getfield com.sun.tools.hat.internal.model.JavaObject.clazz:Ljava/lang/Object;
instanceof com.sun.tools.hat.internal.model.JavaClass
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.hat.internal.model.JavaObject.clazz:Ljava/lang/Object;
instanceof java.lang.Number
ifeq 18
3: aload 0
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
start local 2 4: aload 0
aload 1
lload 2
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: aload 0
getfield com.sun.tools.hat.internal.model.JavaObject.clazz:Ljava/lang/Object;
instanceof com.sun.tools.hat.internal.model.JavaClass
ifne 19
6: aload 0
new java.lang.StringBuilder
dup
ldc "Class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 2
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: ldc "adding fake class!"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokevirtual com.sun.tools.hat.internal.model.JavaObject.warn:(Ljava/lang/String;)V
9: aload 1
invokevirtual com.sun.tools.hat.internal.model.Snapshot.getReadBuffer:()Lcom/sun/tools/hat/internal/parser/ReadBuffer;
astore 5
start local 5 10: aload 1
invokevirtual com.sun.tools.hat.internal.model.Snapshot.getIdentifierSize:()I
istore 6
start local 6 11: aload 0
invokevirtual com.sun.tools.hat.internal.model.JavaObject.getOffset:()J
iconst_2
iload 6
imul
i2l
ladd
ldc 4
ladd
lstore 7
start local 7 12: aload 5
lload 7
invokeinterface com.sun.tools.hat.internal.parser.ReadBuffer.getInt:(J)I
istore 4
start local 4 13: goto 16
end local 4 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
start local 9 15: new java.lang.RuntimeException
dup
aload 9
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 9 start local 4 16: 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
aload 1
lload 2
iload 4
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 end local 6 end local 5 end local 4 end local 2 17: goto 19
18: 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: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.hat.internal.model.JavaObject.clazz:Ljava/lang/Object;
checkcast com.sun.tools.hat.internal.model.JavaClass
astore 2
start local 2 20: aload 2
aload 1
invokevirtual com.sun.tools.hat.internal.model.JavaClass.resolve:(Lcom/sun/tools/hat/internal/model/Snapshot;)V
21: aload 0
aload 0
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: aload 2
aload 0
invokevirtual com.sun.tools.hat.internal.model.JavaClass.addInstance:(Lcom/sun/tools/hat/internal/model/JavaHeapObject;)V
23: aload 0
aload 1
invokespecial com.sun.tools.hat.internal.model.JavaLazyReadObject.resolve:(Lcom/sun/tools/hat/internal/model/Snapshot;)V
24: return
end local 2 end local 1 end local 0 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 start local 1 0: aload 1
instanceof com.sun.tools.hat.internal.model.JavaObject
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast com.sun.tools.hat.internal.model.JavaObject
astore 2
start local 2 3: aload 0
invokevirtual com.sun.tools.hat.internal.model.JavaObject.getClazz:()Lcom/sun/tools/hat/internal/model/JavaClass;
aload 2
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 end local 1 end local 0 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 0: aload 0
getfield com.sun.tools.hat.internal.model.JavaObject.clazz:Ljava/lang/Object;
checkcast com.sun.tools.hat.internal.model.JavaClass
areturn
end local 0 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 0: aload 0
aload 0
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 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 start local 1 0: aload 0
invokevirtual com.sun.tools.hat.internal.model.JavaObject.getFields:()[Lcom/sun/tools/hat/internal/model/JavaThing;
astore 2
start local 2 1: aload 0
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
start local 3 2: iconst_0
istore 4
start local 4 3: goto 7
4: StackMap locals: com.sun.tools.hat.internal.model.JavaThing[] com.sun.tools.hat.internal.model.JavaField[] int
StackMap stack:
aload 3
iload 4
aaload
invokevirtual com.sun.tools.hat.internal.model.JavaField.getName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
5: aload 2
iload 4
aaload
areturn
6: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
aload 3
arraylength
if_icmplt 4
end local 4 8: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 1
instanceof com.sun.tools.hat.internal.model.JavaObject
ifeq 3
1: aload 1
checkcast com.sun.tools.hat.internal.model.JavaObject
astore 2
start local 2 2: aload 0
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
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 3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial com.sun.tools.hat.internal.model.JavaLazyReadObject.compareTo:(Lcom/sun/tools/hat/internal/model/JavaThing;)I
ireturn
end local 1 end local 0 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 start local 1 0: aload 0
aload 1
invokespecial com.sun.tools.hat.internal.model.JavaLazyReadObject.visitReferencedObjects:(Lcom/sun/tools/hat/internal/model/JavaHeapObjectVisitor;)V
1: aload 0
invokevirtual com.sun.tools.hat.internal.model.JavaObject.getFields:()[Lcom/sun/tools/hat/internal/model/JavaThing;
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 13
4: StackMap locals: com.sun.tools.hat.internal.model.JavaThing[] int
StackMap stack:
aload 2
iload 3
aaload
ifnull 12
5: aload 1
invokeinterface com.sun.tools.hat.internal.model.JavaHeapObjectVisitor.mightExclude:()Z
ifeq 10
6: aload 1
aload 0
invokevirtual com.sun.tools.hat.internal.model.JavaObject.getClazz:()Lcom/sun/tools/hat/internal/model/JavaClass;
iload 3
invokevirtual com.sun.tools.hat.internal.model.JavaClass.getClassForField:(I)Lcom/sun/tools/hat/internal/model/JavaClass;
7: aload 0
invokevirtual com.sun.tools.hat.internal.model.JavaObject.getClazz:()Lcom/sun/tools/hat/internal/model/JavaClass;
iload 3
invokevirtual com.sun.tools.hat.internal.model.JavaClass.getFieldForInstance:(I)Lcom/sun/tools/hat/internal/model/JavaField;
8: 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: ifne 12
10: StackMap locals:
StackMap stack:
aload 2
iload 3
aaload
instanceof com.sun.tools.hat.internal.model.JavaHeapObject
ifeq 12
11: aload 1
aload 2
iload 3
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: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
13: iload 3
aload 2
arraylength
if_icmplt 4
end local 3 14: return
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 1
invokevirtual com.sun.tools.hat.internal.model.Snapshot.getWeakReferenceClass:()Lcom/sun/tools/hat/internal/model/JavaClass;
ifnull 11
1: aload 1
invokevirtual com.sun.tools.hat.internal.model.Snapshot.getReferentFieldIndex:()I
istore 3
start local 3 2: aload 1
invokevirtual com.sun.tools.hat.internal.model.Snapshot.getWeakReferenceClass:()Lcom/sun/tools/hat/internal/model/JavaClass;
aload 0
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: aload 0
invokevirtual com.sun.tools.hat.internal.model.JavaObject.getFields:()[Lcom/sun/tools/hat/internal/model/JavaThing;
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: goto 9
6: StackMap locals: int com.sun.tools.hat.internal.model.JavaThing[] int
StackMap stack:
iload 5
iload 3
if_icmpeq 8
aload 4
iload 5
aaload
aload 2
if_acmpne 8
7: iconst_0
ireturn
8: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
9: iload 5
aload 4
arraylength
if_icmplt 6
end local 5 10: iconst_1
ireturn
end local 4 end local 3 11: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokevirtual com.sun.tools.hat.internal.model.JavaObject.getFields:()[Lcom/sun/tools/hat/internal/model/JavaThing;
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 7
3: StackMap locals: com.sun.tools.hat.internal.model.JavaThing[] int
StackMap stack:
aload 3
iload 4
aaload
aload 1
if_acmpne 6
4: aload 0
invokevirtual com.sun.tools.hat.internal.model.JavaObject.getClazz:()Lcom/sun/tools/hat/internal/model/JavaClass;
iload 4
invokevirtual com.sun.tools.hat.internal.model.JavaClass.getFieldForInstance:(I)Lcom/sun/tools/hat/internal/model/JavaField;
astore 5
start local 5 5: new java.lang.StringBuilder
dup
ldc "field "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
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 6: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
aload 3
arraylength
if_icmplt 3
end local 4 8: aload 0
aload 1
aload 2
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 end local 2 end local 1 end local 0 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 0: aload 0
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: aload 0
ldc "value"
invokevirtual com.sun.tools.hat.internal.model.JavaObject.getField:(Ljava/lang/String;)Lcom/sun/tools/hat/internal/model/JavaThing;
astore 1
start local 1 2: aload 1
instanceof com.sun.tools.hat.internal.model.JavaValueArray
ifeq 4
3: aload 1
checkcast com.sun.tools.hat.internal.model.JavaValueArray
invokevirtual com.sun.tools.hat.internal.model.JavaValueArray.valueString:()Ljava/lang/String;
areturn
4: StackMap locals: com.sun.tools.hat.internal.model.JavaThing
StackMap stack:
ldc "null"
areturn
end local 1 5: StackMap locals:
StackMap stack:
aload 0
invokespecial com.sun.tools.hat.internal.model.JavaLazyReadObject.toString:()Ljava/lang/String;
areturn
end local 0 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 0: aload 0
invokevirtual com.sun.tools.hat.internal.model.JavaObject.getClazz:()Lcom/sun/tools/hat/internal/model/JavaClass;
astore 1
start local 1 1: aload 1
invokevirtual com.sun.tools.hat.internal.model.JavaClass.getIdentifierSize:()I
istore 2
start local 2 2: aload 0
invokevirtual com.sun.tools.hat.internal.model.JavaObject.getOffset:()J
iconst_2
iload 2
imul
i2l
ladd
ldc 4
ladd
lstore 3
start local 3 3: aload 1
invokevirtual com.sun.tools.hat.internal.model.JavaClass.getReadBuffer:()Lcom/sun/tools/hat/internal/parser/ReadBuffer;
lload 3
invokeinterface com.sun.tools.hat.internal.parser.ReadBuffer.getInt:(J)I
ireturn
end local 3 end local 2 end local 1 end local 0 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 0: aload 0
invokevirtual com.sun.tools.hat.internal.model.JavaObject.getClazz:()Lcom/sun/tools/hat/internal/model/JavaClass;
astore 1
start local 1 1: aload 1
invokevirtual com.sun.tools.hat.internal.model.JavaClass.getIdentifierSize:()I
istore 2
start local 2 2: aload 1
invokevirtual com.sun.tools.hat.internal.model.JavaClass.getReadBuffer:()Lcom/sun/tools/hat/internal/parser/ReadBuffer;
astore 3
start local 3 3: aload 0
invokevirtual com.sun.tools.hat.internal.model.JavaObject.getOffset:()J
iconst_2
iload 2
imul
i2l
ladd
ldc 4
ladd
lstore 4
start local 4 4: aload 3
lload 4
invokeinterface com.sun.tools.hat.internal.parser.ReadBuffer.getInt:(J)I
istore 6
start local 6 5: iload 6
ifne 7
6: getstatic com.sun.tools.hat.internal.model.Snapshot.EMPTY_BYTE_ARRAY:[B
areturn
7: 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
newarray 8
astore 7
start local 7 8: aload 3
lload 4
ldc 4
ladd
aload 7
invokeinterface com.sun.tools.hat.internal.parser.ReadBuffer.get:(J[B)V
9: aload 7
areturn
end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokevirtual com.sun.tools.hat.internal.model.JavaObject.getClazz:()Lcom/sun/tools/hat/internal/model/JavaClass;
astore 3
start local 3 1: aload 3
invokevirtual com.sun.tools.hat.internal.model.JavaClass.getNumFieldsForInstance:()I
istore 4
start local 4 2: aload 3
invokevirtual com.sun.tools.hat.internal.model.JavaClass.getFields:()[Lcom/sun/tools/hat/internal/model/JavaField;
astore 5
start local 5 3: iload 4
anewarray com.sun.tools.hat.internal.model.JavaThing
astore 6
start local 6 4: aload 3
invokevirtual com.sun.tools.hat.internal.model.JavaClass.getSnapshot:()Lcom/sun/tools/hat/internal/model/Snapshot;
astore 7
start local 7 5: aload 7
invokevirtual com.sun.tools.hat.internal.model.Snapshot.getIdentifierSize:()I
istore 8
start local 8 6: iconst_0
istore 9
start local 9 7: iload 4
aload 5
arraylength
isub
istore 4
8: aload 3
astore 10
start local 10 9: iconst_0
istore 11
start local 11 10: iconst_0
istore 12
start local 12 11: goto 62
12: 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
invokevirtual com.sun.tools.hat.internal.model.JavaClass.getSuperclass:()Lcom/sun/tools/hat/internal/model/JavaClass;
astore 10
13: aload 10
invokevirtual com.sun.tools.hat.internal.model.JavaClass.getFields:()[Lcom/sun/tools/hat/internal/model/JavaField;
astore 5
14: iconst_0
istore 9
15: iload 4
aload 5
arraylength
isub
istore 4
16: StackMap locals:
StackMap stack:
iload 9
aload 5
arraylength
if_icmpge 12
17: aload 5
iload 9
aaload
astore 13
start local 13 18: aload 13
invokevirtual com.sun.tools.hat.internal.model.JavaField.getSignature:()Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
istore 14
start local 14 19: iload 14
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: StackMap locals: com.sun.tools.hat.internal.model.JavaField int
StackMap stack:
aload 0
iload 11
aload 1
invokevirtual com.sun.tools.hat.internal.model.JavaObject.objectIdAt:(I[B)J
lstore 15
start local 15 21: iload 11
iload 8
iadd
istore 11
22: new com.sun.tools.hat.internal.model.JavaObjectRef
dup
lload 15
invokespecial com.sun.tools.hat.internal.model.JavaObjectRef.<init>:(J)V
astore 17
start local 17 23: aload 6
iload 4
iload 9
iadd
aload 17
aload 7
aload 13
iload 2
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: goto 61
end local 17 end local 15 25: StackMap locals:
StackMap stack:
iload 11
aload 1
invokestatic com.sun.tools.hat.internal.model.JavaObject.byteAt:(I[B)B
istore 15
start local 15 26: iinc 11 1
27: aload 6
iload 4
iload 9
iadd
28: new com.sun.tools.hat.internal.model.JavaBoolean
dup
iload 15
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: goto 61
end local 15 32: StackMap locals:
StackMap stack:
iload 11
aload 1
invokestatic com.sun.tools.hat.internal.model.JavaObject.byteAt:(I[B)B
istore 15
start local 15 33: iinc 11 1
34: aload 6
iload 4
iload 9
iadd
new com.sun.tools.hat.internal.model.JavaByte
dup
iload 15
invokespecial com.sun.tools.hat.internal.model.JavaByte.<init>:(B)V
aastore
35: goto 61
end local 15 36: StackMap locals:
StackMap stack:
iload 11
aload 1
invokestatic com.sun.tools.hat.internal.model.JavaObject.shortAt:(I[B)S
istore 15
start local 15 37: iinc 11 2
38: aload 6
iload 4
iload 9
iadd
new com.sun.tools.hat.internal.model.JavaShort
dup
iload 15
invokespecial com.sun.tools.hat.internal.model.JavaShort.<init>:(S)V
aastore
39: goto 61
end local 15 40: StackMap locals:
StackMap stack:
iload 11
aload 1
invokestatic com.sun.tools.hat.internal.model.JavaObject.charAt:(I[B)C
istore 15
start local 15 41: iinc 11 2
42: aload 6
iload 4
iload 9
iadd
new com.sun.tools.hat.internal.model.JavaChar
dup
iload 15
invokespecial com.sun.tools.hat.internal.model.JavaChar.<init>:(C)V
aastore
43: goto 61
end local 15 44: StackMap locals:
StackMap stack:
iload 11
aload 1
invokestatic com.sun.tools.hat.internal.model.JavaObject.intAt:(I[B)I
istore 15
start local 15 45: iinc 11 4
46: aload 6
iload 4
iload 9
iadd
new com.sun.tools.hat.internal.model.JavaInt
dup
iload 15
invokespecial com.sun.tools.hat.internal.model.JavaInt.<init>:(I)V
aastore
47: goto 61
end local 15 48: StackMap locals:
StackMap stack:
iload 11
aload 1
invokestatic com.sun.tools.hat.internal.model.JavaObject.longAt:(I[B)J
lstore 15
start local 15 49: iinc 11 8
50: aload 6
iload 4
iload 9
iadd
new com.sun.tools.hat.internal.model.JavaLong
dup
lload 15
invokespecial com.sun.tools.hat.internal.model.JavaLong.<init>:(J)V
aastore
51: goto 61
end local 15 52: StackMap locals:
StackMap stack:
iload 11
aload 1
invokestatic com.sun.tools.hat.internal.model.JavaObject.floatAt:(I[B)F
fstore 15
start local 15 53: iinc 11 4
54: aload 6
iload 4
iload 9
iadd
new com.sun.tools.hat.internal.model.JavaFloat
dup
fload 15
invokespecial com.sun.tools.hat.internal.model.JavaFloat.<init>:(F)V
aastore
55: goto 61
end local 15 56: StackMap locals:
StackMap stack:
iload 11
aload 1
invokestatic com.sun.tools.hat.internal.model.JavaObject.doubleAt:(I[B)D
dstore 15
start local 15 57: iinc 11 8
58: aload 6
iload 4
iload 9
iadd
new com.sun.tools.hat.internal.model.JavaDouble
dup
dload 15
invokespecial com.sun.tools.hat.internal.model.JavaDouble.<init>:(D)V
aastore
59: goto 61
end local 15 60: 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
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 end local 13 61: StackMap locals:
StackMap stack:
iinc 12 1
iinc 9 1
StackMap locals:
StackMap stack:
62: iload 12
aload 6
arraylength
if_icmplt 16
end local 12 63: aload 6
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: 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
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: return
end local 1 end local 0 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"