APIdia Launch Partner
Top Description Methods
sun.jvm.hotspot.debugger.win32.coff

public Interface DebugVC50TypeIterator

Known Direct Implementers
sun.jvm.hotspot.debugger.win32.coff.COFFFileParser.COFFFileImpl.COFFHeaderImpl.DebugVC50Impl.DebugVC50TypeIteratorImpl
Imports
java.util.NoSuchElementException

Provides iteration-style access to the types in the sstGlobalTypes subsection of the VC++ 5.0 debug information. Clients should walk down these platform-dependent types and transform them into the platform-independent interfaces described in the package sun.jvm.hotspot.debugger.csym.

This iterator is a "two-dimensional" iterator; it iterates not only over all of the types in the type table, but also iterates over the leaf types in the current type string. This structure was chosen to avoid constructing a new type iterator for each type in the type table because of the expected large number of types.

Method Summary

Modifier and TypeMethod and Description
public boolean
done()

Indicates whether the iteration through the type table is complete.

public int
getArgListCount()

Count of number of indices in list.

public int
getArgListType(int i)

List of type indices (0..getArgListCount() - 1) for describing the formal parameters to a function or method.

public int
getArrayElementType()

Type index of each array element.

public int
getArrayIndexType()

Type index of indexing variable.

public int
getArrayLength()

Length of the array in bytes.

public String
getArrayName()

Length-prefixed name of array.

public int
getBasicArrayType()

Type of each element of the array.

public short
getBClassAttribute()

Member attribute bit field.

public int
getBClassOffset()

Offset of subobject that represents the base class within the structure.

public int
getBClassType()

Index to type record of the class.

public int
getBitfieldFieldType()

Type index of the field.

public byte
getBitfieldLength()

The length in bits of the object.

public byte
getBitfieldPosition()

Starting position (from bit 0) of the object in the word.

public short
getClassCount()

Number of elements in the class or structure.

public int
getClassDerivationList()

Type index of the derivation list.

public int
getClassFieldList()

Type index of the field list for this class.

public DebugVC50TypeIterator
getClassFieldListIterator()

Get new iterator pointing at the field list of this class.

public String
getClassName()

Length-prefixed name of this type.

public short
getClassProperty()

Property bit field; see PROPERTY_ enumeration in sun.jvm.hotspot.debugger.win32.coff.DebugVC50TypeEnums.

public int
getClassSize()

Numeric leaf specifying size in bytes of the structure.

public int
getClassVShape()

Type index of the virtual function table shape descriptor.

public String
getDefaultArgExpression()

Length-prefixed string of supplied default expression.

public int
getDefaultArgType()

Type index of resulting expression.

public int
getDerivedCount()

Number of types in the list.

public int
getDerivedType(int i)

Fetch ith derived type (0..getDerivedCount() - 1).

public int
getDimArrayDimInfo()

Index of the type record containing the dimension information.

public String
getDimArrayName()

Length-prefixed name of the array.

public int
getDimArrayType()

Underlying type of the array.

public short
getEnumCount()

Number of enumerates.

public short
getEnumerateAttribute()

Member attribute bit field.

public String
getEnumerateName()

Length-prefixed name of the member field.

public long
getEnumerateValue()

Numeric leaf specifying the value of enumerate.

public int
getEnumFieldList()

Type index of field list.

public DebugVC50TypeIterator
getEnumFieldListIterator()

Get new iterator pointing at the field list of this enum.

public String
getEnumName()

Length-prefixed name of enum.

public short
getEnumProperty()

Property bit field.

public int
getEnumType()

Index of underlying type of enum.

public int
getFriendClsType()

Index to type record of the friend class.

public String
getFriendFcnName()

Length prefixed name of friend function.

public int
getFriendFcnType()

Index to type record of the friend function.

public DebugVC50TypeIterator
getIndexIterator()

Create a new type iterator starting at the above index.

public int
getIndexValue()

Type index.

public short
getIVBClassAttribute()

Member attribute bit field.

public int
getIVBClassBType()

Index to type record of the direct or indirect virtual base class.

public int
getIVBClassVBOff()

Numeric leaf specifying the index into the virtual base displacement table of the entry that contains the displacement of the virtual base.

public int
getIVBClassVBPOff()

Numeric leaf specifying the offset of the virtual base pointer from the address point of the class for this virtual base.

public int
getIVBClassVBPType()

Type index of the virtual base pointer for this base.

public short
getLabelAddressMode()

Addressing mode of the label, described by LABEL_ADDR_MODE_ enum in sun.jvm.hotspot.debugger.win32.coff.DebugVC50TypeEnums.

public short
getLength()

Gets the length, in bytes, of the current type record.

public short
getMemberAttribute()

Member attribute bit field.

public short
getMemberModifyAttribute()

New protection attributes.

public String
getMemberModifyName()

Length-prefixed name of member.

public int
getMemberModifyType()

Type index of base class that introduced the member.

public String
getMemberName()

Length-prefixed name of the member field.

public int
getMemberOffset()

Numeric leaf specifying the offset of field in the structure.

public int
getMemberType()

Index to type record for field.

public short
getMethodCount()

Number of occurrences of function within the class.

public int
getMethodList()

Type index of method list.

public String
getMethodName()

Length-prefixed name of method.

public int
getMFunctionArgumentList()

List of parameter specifiers.

public DebugVC50TypeIterator
getMFunctionArgumentListIterator()

Get new iterator pointing at the argument list of this member function.

public byte
getMFunctionCallingConvention()

Calling convention of the procedure; see CALLCONV_ enumeration in sun.jvm.hotspot.debugger.win32.coff.DebugVC50TypeEnums.

public int
getMFunctionContainingClass()

Type index of the containing class of the function.

public short
getMFunctionNumberOfParameters()

Number of parameters.

public int
getMFunctionReturnType()

Type index of the value returned by the procedure.

public int
getMFunctionThis()

Type index of the this parameter of the member function.

public int
getMFunctionThisAdjust()

Logical this adjustor for the method.

public short
public int
getMListLength()

Number of types corresponding to this overloaded method.

public int
getMListType(int i)

Type index of the procedure record for the ith occurrence of the function (0..getMListLength() - 1).

public int
getMListVtabOffset()

Present only when property attribute is introducing virtual (optional).

public short
public int
getModifierIndex()

Type index of the modified type.

public short
getNestedExAttribute()

Nested type attribute (protection fields are valid).

public String
getNestedExName()

Length-prefixed name of type.

public int
getNestedExType()

Type index of nested type.

public String
getNestedName()

Length-prefixed name of type.

public int
getNestedType()

Type index of nested type.

public byte[]
getNumericDataAt(int byteOffset)

Fetch the raw bytes, including LF_ prefix (if any), of the numeric leaf at the given offset, in bytes, from the start of the current leaf.

public double
getNumericDoubleAt(int byteOffset)

Fetch the value of the double-precision floating-point numeric leaf at the given offset, in bytes, from the start of the current leaf.

public float
getNumericFloatAt(int byteOffset)

Fetch the value of the single-precision floating-point numeric leaf at the given offset, in bytes, from the start of the current leaf.

public int
getNumericIntAt(int byteOffset)

Fetch the value of the integer numeric leaf at the given offset, in bytes, from the start of the current leaf.

public int
getNumericLengthAt(int byteOffset)

The size in bytes of the numeric leaf at the given offset, in bytes, from the start of the current leaf.

public long
getNumericLongAt(int byteOffset)

Fetch the value of the long or integer numeric leaf at the given offset, in bytes, from the start of the current leaf.

public short
getNumericTypeAt(int byteOffset)

Fetch the two-byte type (or data, for short integer numeric leaves) of the numeric leaf at the given offset, in bytes, from the start of the current leaf.

public int
getNumTypes()

Debugging support only

public short
public String
getOneMethodName()

Length prefixed name of method.

public int
getOneMethodType()

Type index of method.

public int
getOneMethodVBaseOff()

Offset in virtual function table if introducing virtual method.

public int
getPointerAttributes()

Pointer attributes.

public int
getPointerBasedOnTypeIndex()

Only valid if the pointer type is BASED_ON_TYPE; retrieves index of type.

public String
getPointerBasedOnTypeName()

Only valid if the pointer type is BASED_ON_TYPE; retrieves name of type.

public int
getPointerToMemberClass()

Only valid if the pointer mode is either PTR_TO_DATA_MEMBER or PTR_TO_METHOD; retrieves the type index of the containing class.

public short
getPointerToMemberFormat()

Only valid if the pointer mode is either PTR_TO_DATA_MEMBER or PTR_TO_METHOD; retrieves the data format of the pointer in memory.

public int
getPointerType()

Type index of object pointed to.

public int
getProcedureArgumentList()

Type index of argument list type record.

public DebugVC50TypeIterator
getProcedureArgumentListIterator()

Get new iterator pointing at the argument list of this procedure.

public byte
getProcedureCallingConvention()

Calling convention of the procedure; see CALLCONV_ enumeration in sun.jvm.hotspot.debugger.win32.coff.DebugVC50TypeEnums.

public short
getProcedureNumberOfParameters()

Number of parameters.

public int
getProcedureReturnType()

Type index of the value returned by the procedure.

public DebugVC50SymbolIterator
getRefSym()

Create a new SymbolIterator pointing at the copy of the symbol this record contains.

public int
getSkipIndex()

In processing $$TYPES, the index counter is advanced to index count, skipping all intermediate indices.

public short
getStaticAttribute()

Member attribute bit field.

public String
getStaticName()

Length-prefixed name of the member field.

public int
getStaticType()

Index to type record for field.

public int
getTypeIndex()

Gets the type index of the current type.

public short
getUnionCount()

Number of fields in the union.

public int
getUnionFieldList()

Type index of field list.

public DebugVC50TypeIterator
getUnionFieldListIterator()

Get new iterator pointing at the field list of this union.

public String
getUnionName()

Length-prefixed name of union.

public short
getUnionProperty()

Property bit field.

public int
getUnionSize()

Numeric leaf specifying size in bytes of the union.

public short
getVBClassAttribute()

Member attribute bit field.

public int
getVBClassBaseClassType()

Index to type record of the direct or indirect virtual base class.

public int
getVBClassVBOff()

Numeric leaf specifying the index into the virtual base displacement table of the entry that contains the displacement of the virtual base.

public int
getVBClassVBPOff()

Numeric leaf specifying the offset of the virtual base pointer from the address point of the class for this virtual base.

public int
getVBClassVirtualBaseClassType()

Type index of the virtual base pointer for this base.

public int
getVFTPathBase(int i)

Type indices of the base classes in the path (0..getVFTPathCount() - 1).

public int
getVFTPathCount()

Count of number of bases in the path to the virtual function table.

public int
getVFuncOffOffset()

Offset of virtual function table pointer relative to address point of class.

public int
getVFuncOffType()

Type index of virtual function table pointer.

public int
getVFuncTabType()

Index to the pointer record describing the pointer.

public short
getVTShapeCount()

Number of descriptors.

public int
getVTShapeDescriptor(int i)

Fetch the ith descriptor (0..getVTShapeCount() - 1).

public boolean
isMListIntroducingVirtual()

Convenience routine indicating whether this member function is introducing virtual.

public boolean
isOneMethodIntroducingVirtual()

Convenience routine indicating whether this method is introducing virtual.

public void
next()

Go to the next type in the type table.

public boolean
typeStringDone()

Indicates whether iteration through the current type string is complete.

public int
typeStringLeaf()

Return the leaf index (see sun.jvm.hotspot.debugger.win32.coff.DebugVC50TypeLeafIndices) for the current element of the current type string.

public void
typeStringNext()

Goes to the next element in the current type string.

public int
typeStringOffset()

For debugging: returns the file offset of the current type string leaf.

Method Detail

doneback to summary
public boolean done()

Indicates whether the iteration through the type table is complete.

getArgListCountback to summary
public int getArgListCount()

Count of number of indices in list.

getArgListTypeback to summary
public int getArgListType(int i)

List of type indices (0..getArgListCount() - 1) for describing the formal parameters to a function or method.

getArrayElementTypeback to summary
public int getArrayElementType()

Type index of each array element.

getArrayIndexTypeback to summary
public int getArrayIndexType()

Type index of indexing variable.

getArrayLengthback to summary
public int getArrayLength() throws DebugVC50WrongNumericTypeException

Length of the array in bytes.

getArrayNameback to summary
public String getArrayName()

Length-prefixed name of array.

getBasicArrayTypeback to summary
public int getBasicArrayType()

Type of each element of the array.

getBClassAttributeback to summary
public short getBClassAttribute()

Member attribute bit field.

getBClassOffsetback to summary
public int getBClassOffset() throws DebugVC50WrongNumericTypeException

Offset of subobject that represents the base class within the structure.

getBClassTypeback to summary
public int getBClassType()

Index to type record of the class. The class name can be obtained from this record.

getBitfieldFieldTypeback to summary
public int getBitfieldFieldType()

Type index of the field.

getBitfieldLengthback to summary
public byte getBitfieldLength()

The length in bits of the object.

getBitfieldPositionback to summary
public byte getBitfieldPosition()

Starting position (from bit 0) of the object in the word.

getClassCountback to summary
public short getClassCount()

Number of elements in the class or structure. This count includes direct, virtual, and indirect virtual bases, and methods including overloads, data members, static data members, friends, and so on.

getClassDerivationListback to summary
public int getClassDerivationList()

Type index of the derivation list. This is output by the compiler as 0x0000 and is filled in by the CVPACK utility to a LF_DERIVED record containing the type indices of those classes which immediately inherit the current class. A zero index indicates that no derivation information is available. A LF_NULL index indicates that the class is not inherited by other classes.

getClassFieldListback to summary
public int getClassFieldList()

Type index of the field list for this class.

getClassFieldListIteratorback to summary
public DebugVC50TypeIterator getClassFieldListIterator()

Get new iterator pointing at the field list of this class.

getClassNameback to summary
public String getClassName()

Length-prefixed name of this type.

getClassPropertyback to summary
public short getClassProperty()

Property bit field; see PROPERTY_ enumeration in sun.jvm.hotspot.debugger.win32.coff.DebugVC50TypeEnums.

getClassSizeback to summary
public int getClassSize() throws DebugVC50WrongNumericTypeException

Numeric leaf specifying size in bytes of the structure.

getClassVShapeback to summary
public int getClassVShape()

Type index of the virtual function table shape descriptor.

getDefaultArgExpressionback to summary
public String getDefaultArgExpression()

Length-prefixed string of supplied default expression.

getDefaultArgTypeback to summary
public int getDefaultArgType()

Type index of resulting expression.

getDerivedCountback to summary
public int getDerivedCount()

Number of types in the list.

getDerivedTypeback to summary
public int getDerivedType(int i)

Fetch ith derived type (0..getDerivedCount() - 1).

getDimArrayDimInfoback to summary
public int getDimArrayDimInfo()

Index of the type record containing the dimension information.

getDimArrayNameback to summary
public String getDimArrayName()

Length-prefixed name of the array.

getDimArrayTypeback to summary
public int getDimArrayType()

Underlying type of the array.

getEnumCountback to summary
public short getEnumCount()

Number of enumerates.

getEnumerateAttributeback to summary
public short getEnumerateAttribute()

Member attribute bit field.

getEnumerateNameback to summary
public String getEnumerateName()

Length-prefixed name of the member field.

getEnumerateValueback to summary
public long getEnumerateValue() throws DebugVC50WrongNumericTypeException

Numeric leaf specifying the value of enumerate.

getEnumFieldListback to summary
public int getEnumFieldList()

Type index of field list.

getEnumFieldListIteratorback to summary
public DebugVC50TypeIterator getEnumFieldListIterator()

Get new iterator pointing at the field list of this enum.

getEnumNameback to summary
public String getEnumName()

Length-prefixed name of enum.

getEnumPropertyback to summary
public short getEnumProperty()

Property bit field.

getEnumTypeback to summary
public int getEnumType()

Index of underlying type of enum.

getFriendClsTypeback to summary
public int getFriendClsType()

Index to type record of the friend class. The name of the class can be obtained from the referenced record.

getFriendFcnNameback to summary
public String getFriendFcnName()

Length prefixed name of friend function.

getFriendFcnTypeback to summary
public int getFriendFcnType()

Index to type record of the friend function.

getIndexIteratorback to summary
public DebugVC50TypeIterator getIndexIterator()

Create a new type iterator starting at the above index.

getIndexValueback to summary
public int getIndexValue()

Type index. This field is emitted by the compiler when a complex list needs to be split during writing.

getIVBClassAttributeback to summary
public short getIVBClassAttribute()

Member attribute bit field.

getIVBClassBTypeback to summary
public int getIVBClassBType()

Index to type record of the direct or indirect virtual base class. The class name can be obtained from this record.

getIVBClassVBOffback to summary
public int getIVBClassVBOff() throws DebugVC50WrongNumericTypeException

Numeric leaf specifying the index into the virtual base displacement table of the entry that contains the displacement of the virtual base. The displacement is relative to the address point of the class plus vbpoff.

getIVBClassVBPOffback to summary
public int getIVBClassVBPOff() throws DebugVC50WrongNumericTypeException

Numeric leaf specifying the offset of the virtual base pointer from the address point of the class for this virtual base.

getIVBClassVBPTypeback to summary
public int getIVBClassVBPType()

Type index of the virtual base pointer for this base.

getLabelAddressModeback to summary
public short getLabelAddressMode()

Addressing mode of the label, described by LABEL_ADDR_MODE_ enum in sun.jvm.hotspot.debugger.win32.coff.DebugVC50TypeEnums.

getLengthback to summary
public short getLength()

Gets the length, in bytes, of the current type record.

getMemberAttributeback to summary
public short getMemberAttribute()

Member attribute bit field.

getMemberModifyAttributeback to summary
public short getMemberModifyAttribute()

New protection attributes.

getMemberModifyNameback to summary
public String getMemberModifyName()

Length-prefixed name of member.

getMemberModifyTypeback to summary
public int getMemberModifyType()

Type index of base class that introduced the member.

getMemberNameback to summary
public String getMemberName()

Length-prefixed name of the member field.

getMemberOffsetback to summary
public int getMemberOffset() throws DebugVC50WrongNumericTypeException

Numeric leaf specifying the offset of field in the structure.

getMemberTypeback to summary
public int getMemberType()

Index to type record for field.

getMethodCountback to summary
public short getMethodCount()

Number of occurrences of function within the class. If the function is overloaded then there will be multiple entries in the method list.

getMethodListback to summary
public int getMethodList()

Type index of method list.

getMethodNameback to summary
public String getMethodName()

Length-prefixed name of method.

getMFunctionArgumentListback to summary
public int getMFunctionArgumentList()

List of parameter specifiers. This list does not include the this parameter.

getMFunctionArgumentListIteratorback to summary
public DebugVC50TypeIterator getMFunctionArgumentListIterator()

Get new iterator pointing at the argument list of this member function.

getMFunctionCallingConventionback to summary
public byte getMFunctionCallingConvention()

Calling convention of the procedure; see CALLCONV_ enumeration in sun.jvm.hotspot.debugger.win32.coff.DebugVC50TypeEnums.

getMFunctionContainingClassback to summary
public int getMFunctionContainingClass()

Type index of the containing class of the function.

getMFunctionNumberOfParametersback to summary
public short getMFunctionNumberOfParameters()

Number of parameters. This count does not include the this parameter.

getMFunctionReturnTypeback to summary
public int getMFunctionReturnType()

Type index of the value returned by the procedure.

getMFunctionThisback to summary
public int getMFunctionThis()

Type index of the this parameter of the member function. A type of void indicates that the member function is static and has no this parameter.

getMFunctionThisAdjustback to summary
public int getMFunctionThisAdjust()

Logical this adjustor for the method. Whenever a class element is referenced via the this pointer, thisadjust will be added to the resultant offset before referencing the element.

getMListAttributeback to summary
public short getMListAttribute()

Attribute of the member function; see sun.jvm.hotspot.debugger.win32.coff.DebugVC50TypeEnums and sun.jvm.hotspot.debugger.win32.coff.DebugVC50MemberAttributes.

getMListLengthback to summary
public int getMListLength()

Number of types corresponding to this overloaded method. FIXME: must verify this can be inferred solely from this record's length.

getMListTypeback to summary
public int getMListType(int i)

Type index of the procedure record for the ith occurrence of the function (0..getMListLength() - 1).

getMListVtabOffsetback to summary
public int getMListVtabOffset()

Present only when property attribute is introducing virtual (optional). Offset in vtable of the class which contains the pointer to the function. (FIXME: is this on a per-method or per-method list basis? If the latter, will have to provide an iterator for this record.)

getModifierAttributeback to summary
public short getModifierAttribute()

Attributes specified in MODIFIER_ enums in sun.jvm.hotspot.debugger.win32.coff.DebugVC50TypeEnums.

getModifierIndexback to summary
public int getModifierIndex()

Type index of the modified type.

getNestedExAttributeback to summary
public short getNestedExAttribute()

Nested type attribute (protection fields are valid).

getNestedExNameback to summary
public String getNestedExName()

Length-prefixed name of type.

getNestedExTypeback to summary
public int getNestedExType()

Type index of nested type.

getNestedNameback to summary
public String getNestedName()

Length-prefixed name of type.

getNestedTypeback to summary
public int getNestedType()

Type index of nested type.

getNumericDataAtback to summary
public byte[] getNumericDataAt(int byteOffset) throws DebugVC50WrongNumericTypeException

Fetch the raw bytes, including LF_ prefix (if any), of the numeric leaf at the given offset, in bytes, from the start of the current leaf.

Exceptions
DebugVC50WrongNumericTypeException:
if there is no numeric leaf at the specified byte offset.
getNumericDoubleAtback to summary
public double getNumericDoubleAt(int byteOffset) throws DebugVC50WrongNumericTypeException

Fetch the value of the double-precision floating-point numeric leaf at the given offset, in bytes, from the start of the current leaf.

Exceptions
DebugVC50WrongNumericTypeException:
if the specified numeric leaf is not of 64-bit float type.
getNumericFloatAtback to summary
public float getNumericFloatAt(int byteOffset) throws DebugVC50WrongNumericTypeException

Fetch the value of the single-precision floating-point numeric leaf at the given offset, in bytes, from the start of the current leaf.

Exceptions
DebugVC50WrongNumericTypeException:
if the specified numeric leaf is not of 32-bit float type.
getNumericIntAtback to summary
public int getNumericIntAt(int byteOffset) throws DebugVC50WrongNumericTypeException

Fetch the value of the integer numeric leaf at the given offset, in bytes, from the start of the current leaf.

Exceptions
DebugVC50WrongNumericTypeException:
if the specified numeric leaf is not of integer type.
getNumericLengthAtback to summary
public int getNumericLengthAt(int byteOffset) throws DebugVC50WrongNumericTypeException

The size in bytes of the numeric leaf at the given offset, in bytes, from the start of the current leaf.

Exceptions
DebugVC50WrongNumericTypeException:
if there is no numeric leaf at the specified byte offset.
getNumericLongAtback to summary
public long getNumericLongAt(int byteOffset) throws DebugVC50WrongNumericTypeException

Fetch the value of the long or integer numeric leaf at the given offset, in bytes, from the start of the current leaf.

Exceptions
DebugVC50WrongNumericTypeException:
if the specified numeric leaf is not of long or integer type.
getNumericTypeAtback to summary
public short getNumericTypeAt(int byteOffset)

Fetch the two-byte type (or data, for short integer numeric leaves) of the numeric leaf at the given offset, in bytes, from the start of the current leaf.

getNumTypesback to summary
public int getNumTypes()

Debugging support only

getOneMethodAttributeback to summary
public short getOneMethodAttribute()

Method attribute; see sun.jvm.hotspot.debugger.win32.coff.DebugVC50TypeEnums and sun.jvm.hotspot.debugger.win32.coff.DebugVC50MemberAttributes.

getOneMethodNameback to summary
public String getOneMethodName()

Length prefixed name of method.

getOneMethodTypeback to summary
public int getOneMethodType()

Type index of method.

getOneMethodVBaseOffback to summary
public int getOneMethodVBaseOff()

Offset in virtual function table if introducing virtual method. If the method is not an introducing virtual, then this field is not present.

getPointerAttributesback to summary
public int getPointerAttributes()

Pointer attributes. Consists of seven bit fields whose enumerants are in sun.jvm.hotspot.debugger.win32.coff.DebugVC50TypeEnums: PTRTYPE, PTRMODE, ISFLAT32, VOLATILE, CONST, UNALIGNED, and RESTRICT.

getPointerBasedOnTypeIndexback to summary
public int getPointerBasedOnTypeIndex()

Only valid if the pointer type is BASED_ON_TYPE; retrieves index of type.

getPointerBasedOnTypeNameback to summary
public String getPointerBasedOnTypeName()

Only valid if the pointer type is BASED_ON_TYPE; retrieves name of type.

getPointerToMemberClassback to summary
public int getPointerToMemberClass()

Only valid if the pointer mode is either PTR_TO_DATA_MEMBER or PTR_TO_METHOD; retrieves the type index of the containing class.

getPointerToMemberFormatback to summary
public short getPointerToMemberFormat()

Only valid if the pointer mode is either PTR_TO_DATA_MEMBER or PTR_TO_METHOD; retrieves the data format of the pointer in memory. See the PTR_FORMAT enum in sun.jvm.hotspot.debugger.win32.coff.DebugVC50TypeEnums.

getPointerTypeback to summary
public int getPointerType()

Type index of object pointed to.

getProcedureArgumentListback to summary
public int getProcedureArgumentList()

Type index of argument list type record.

getProcedureArgumentListIteratorback to summary
public DebugVC50TypeIterator getProcedureArgumentListIterator()

Get new iterator pointing at the argument list of this procedure.

getProcedureCallingConventionback to summary
public byte getProcedureCallingConvention()

Calling convention of the procedure; see CALLCONV_ enumeration in sun.jvm.hotspot.debugger.win32.coff.DebugVC50TypeEnums.

getProcedureNumberOfParametersback to summary
public short getProcedureNumberOfParameters()

Number of parameters.

getProcedureReturnTypeback to summary
public int getProcedureReturnType()

Type index of the value returned by the procedure.

getRefSymback to summary
public DebugVC50SymbolIterator getRefSym()

Create a new SymbolIterator pointing at the copy of the symbol this record contains.

getSkipIndexback to summary
public int getSkipIndex()

In processing $$TYPES, the index counter is advanced to index count, skipping all intermediate indices. This is the next valid index.

getStaticAttributeback to summary
public short getStaticAttribute()

Member attribute bit field.

getStaticNameback to summary
public String getStaticName()

Length-prefixed name of the member field.

getStaticTypeback to summary
public int getStaticType()

Index to type record for field.

getTypeIndexback to summary
public int getTypeIndex()

Gets the type index of the current type. This number is compatible with type references in symbols and type records.

getUnionCountback to summary
public short getUnionCount()

Number of fields in the union.

getUnionFieldListback to summary
public int getUnionFieldList()

Type index of field list.

getUnionFieldListIteratorback to summary
public DebugVC50TypeIterator getUnionFieldListIterator()

Get new iterator pointing at the field list of this union.

getUnionNameback to summary
public String getUnionName()

Length-prefixed name of union.

getUnionPropertyback to summary
public short getUnionProperty()

Property bit field.

getUnionSizeback to summary
public int getUnionSize() throws DebugVC50WrongNumericTypeException

Numeric leaf specifying size in bytes of the union.

getVBClassAttributeback to summary
public short getVBClassAttribute()

Member attribute bit field.

getVBClassBaseClassTypeback to summary
public int getVBClassBaseClassType()

Index to type record of the direct or indirect virtual base class. The class name can be obtained from this record.

getVBClassVBOffback to summary
public int getVBClassVBOff() throws DebugVC50WrongNumericTypeException

Numeric leaf specifying the index into the virtual base displacement table of the entry that contains the displacement of the virtual base. The displacement is relative to the address point of the class plus vbpoff.

getVBClassVBPOffback to summary
public int getVBClassVBPOff() throws DebugVC50WrongNumericTypeException

Numeric leaf specifying the offset of the virtual base pointer from the address point of the class for this virtual base.

getVBClassVirtualBaseClassTypeback to summary
public int getVBClassVirtualBaseClassType()

Type index of the virtual base pointer for this base.

getVFTPathBaseback to summary
public int getVFTPathBase(int i)

Type indices of the base classes in the path (0..getVFTPathCount() - 1).

getVFTPathCountback to summary
public int getVFTPathCount()

Count of number of bases in the path to the virtual function table.

getVFuncOffOffsetback to summary
public int getVFuncOffOffset()

Offset of virtual function table pointer relative to address point of class.

getVFuncOffTypeback to summary
public int getVFuncOffType()

Type index of virtual function table pointer.

getVFuncTabTypeback to summary
public int getVFuncTabType()

Index to the pointer record describing the pointer. The pointer will in turn have a LF_VTSHAPE type record as the underlying type. Note that the offset of the virtual function table pointer from the address point of the class is always zero.

getVTShapeCountback to summary
public short getVTShapeCount()

Number of descriptors.

getVTShapeDescriptorback to summary
public int getVTShapeDescriptor(int i)

Fetch the ith descriptor (0..getVTShapeCount() - 1). Each descriptor is a 4-bit (half-byte) value described by the VTENTRY_ enumeration in sun.jvm.hotspot.debugger.win32.coff.DebugVC50TypeEnums.

isMListIntroducingVirtualback to summary
public boolean isMListIntroducingVirtual()

Convenience routine indicating whether this member function is introducing virtual.

isOneMethodIntroducingVirtualback to summary
public boolean isOneMethodIntroducingVirtual()

Convenience routine indicating whether this method is introducing virtual.

nextback to summary
public void next() throws NoSuchElementException

Go to the next type in the type table. NOTE that the iterator is pointing at the first type initially, so one should use a while (!iter.done()) { ... iter.next(); } construct.

Exceptions
NoSuchElementException:
if the iterator is already done and next() is called.
typeStringDoneback to summary
public boolean typeStringDone()

Indicates whether iteration through the current type string is complete.

typeStringLeafback to summary
public int typeStringLeaf()

Return the leaf index (see sun.jvm.hotspot.debugger.win32.coff.DebugVC50TypeLeafIndices) for the current element of the current type string.

typeStringNextback to summary
public void typeStringNext() throws NoSuchElementException

Goes to the next element in the current type string. NOTE that the iterator is pointing at the first type initially, so one should use a while (!iter.typeStringDone()) { ... iter.typeStringNext(); } construct.

Exceptions
NoSuchElementException:
if the iterator is already done and typeStringNext() is called.
typeStringOffsetback to summary
public int typeStringOffset()

For debugging: returns the file offset of the current type string leaf.