APIdia Launch Partner
Top Description Methods
sun.jvm.hotspot.debugger.cdbg

public Interface ObjectVisitor

Known Direct Implementers
sun.jvm.hotspot.debugger.cdbg.DefaultObjectVisitor
Imports
sun.jvm.hotspot.debugger.*

Provides uniform visitation to primitive and compound objects. Typically one will have an Address of an "object" (in the idealistic C++ definition, including "primitive objects" like ints) and a Type for that object. This visitor interface allows one to either get the value of the object (if of primitive type) or iterate through its fields, getting the value of each, in a consistent fashion. Also supports iteration through arrays of known length.

Method Summary

Modifier and TypeMethod and Description
public void
doArray(FieldIdentifier f, Address val)

Primitive field or object of array type.

public void
doBit(FieldIdentifier f, long val)

Primitive field or object of integer bitfield type.

public void
doCompound(FieldIdentifier f, Address addressOfEmbeddedCompoundObject)

Identifies embedded objects in compound objects.

public void
doDouble(FieldIdentifier f, double val)

Primitive field or object of double-precision floating-point type.

public void
doEnum(FieldIdentifier f, long val, String enumName)

Primitive field or object of enumerated type type.

public void
doFloat(FieldIdentifier f, float val)

Primitive field or object of single-precision floating-point type.

public void
doInt(FieldIdentifier f, long val)

Primitive field or object of integer type.

public void
doPointer(FieldIdentifier f, Address val)

Primitive field or object of pointer type.

public void
doRef(FieldIdentifier f, Address val)

Primitive field or object of (C++) reference type.

public void
enterType(Type type, Address objectAddress)

This is called before beginning iterating through either the fields declared in this compound type (not its superclasses) or the elements of this array

public void
exitType()

This is called after finishing iterating through this compound type

Method Detail

doArrayback to summary
public void doArray(FieldIdentifier f, Address val)

Primitive field or object of array type. FieldIdentifier is null if not a field of an enclosing object.

doBitback to summary
public void doBit(FieldIdentifier f, long val)

Primitive field or object of integer bitfield type. FieldIdentifier is null if not a field of an enclosing object.

doCompoundback to summary
public void doCompound(FieldIdentifier f, Address addressOfEmbeddedCompoundObject)

Identifies embedded objects in compound objects. FieldIdentifier is null if not a field of an enclosing object.

doDoubleback to summary
public void doDouble(FieldIdentifier f, double val)

Primitive field or object of double-precision floating-point type. FieldIdentifier is null if not a field of an enclosing object.

doEnumback to summary
public void doEnum(FieldIdentifier f, long val, String enumName)

Primitive field or object of enumerated type type. FieldIdentifier is null if not a field of an enclosing object.

doFloatback to summary
public void doFloat(FieldIdentifier f, float val)

Primitive field or object of single-precision floating-point type. FieldIdentifier is null if not a field of an enclosing object.

doIntback to summary
public void doInt(FieldIdentifier f, long val)

Primitive field or object of integer type. FieldIdentifier is null if not a field of an enclosing object.

doPointerback to summary
public void doPointer(FieldIdentifier f, Address val)

Primitive field or object of pointer type. FieldIdentifier is null if not a field of an enclosing object.

doRefback to summary
public void doRef(FieldIdentifier f, Address val)

Primitive field or object of (C++) reference type. FieldIdentifier is null if not a field of an enclosing object.

enterTypeback to summary
public void enterType(Type type, Address objectAddress)

This is called before beginning iterating through either the fields declared in this compound type (not its superclasses) or the elements of this array

exitTypeback to summary
public void exitType()

This is called after finishing iterating through this compound type