public interface DebugVC50TypeIterator
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.
Modifier and Type | Method and Description |
---|---|
boolean |
done()
Indicates whether the iteration through the type table is
complete.
|
int |
getArgListCount()
Count of number of indices in list.
|
int |
getArgListType(int i)
List of type indices (0..getArgListCount() - 1) for describing
the formal parameters to a function or method.
|
int |
getArrayElementType()
Type index of each array element.
|
int |
getArrayIndexType()
Type index of indexing variable.
|
int |
getArrayLength()
Length of the array in bytes.
|
java.lang.String |
getArrayName()
Length-prefixed name of array.
|
int |
getBasicArrayType()
Type of each element of the array.
|
short |
getBClassAttribute()
Member attribute bit field.
|
int |
getBClassOffset()
Offset of subobject that represents the base class within the
structure.
|
int |
getBClassType()
Index to type record of the class.
|
int |
getBitfieldFieldType()
Type index of the field.
|
byte |
getBitfieldLength()
The length in bits of the object.
|
byte |
getBitfieldPosition()
Starting position (from bit 0) of the object in the word.
|
short |
getClassCount()
Number of elements in the class or structure.
|
int |
getClassDerivationList()
Type index of the derivation list.
|
int |
getClassFieldList()
Type index of the field list for this class.
|
DebugVC50TypeIterator |
getClassFieldListIterator()
Get new iterator pointing at the field list of this class.
|
java.lang.String |
getClassName()
Length-prefixed name of this type.
|
short |
getClassProperty()
Property bit field; see PROPERTY_ enumeration in
DebugVC50TypeEnums . |
int |
getClassSize()
Numeric leaf specifying size in bytes of the structure.
|
int |
getClassVShape()
Type index of the virtual function table shape descriptor.
|
java.lang.String |
getDefaultArgExpression()
Length-prefixed string of supplied default expression.
|
int |
getDefaultArgType()
Type index of resulting expression.
|
int |
getDerivedCount()
Number of types in the list.
|
int |
getDerivedType(int i)
Fetch ith derived type (0..getDerivedCount() - 1).
|
int |
getDimArrayDimInfo()
Index of the type record containing the dimension information.
|
java.lang.String |
getDimArrayName()
Length-prefixed name of the array.
|
int |
getDimArrayType()
Underlying type of the array.
|
short |
getEnumCount()
Number of enumerates.
|
short |
getEnumerateAttribute()
Member attribute bit field.
|
java.lang.String |
getEnumerateName()
Length-prefixed name of the member field.
|
long |
getEnumerateValue()
Numeric leaf specifying the value of enumerate.
|
int |
getEnumFieldList()
Type index of field list.
|
DebugVC50TypeIterator |
getEnumFieldListIterator()
Get new iterator pointing at the field list of this enum.
|
java.lang.String |
getEnumName()
Length-prefixed name of enum.
|
short |
getEnumProperty()
Property bit field.
|
int |
getEnumType()
Index of underlying type of enum.
|
int |
getFriendClsType()
Index to type record of the friend class.
|
java.lang.String |
getFriendFcnName()
Length prefixed name of friend function.
|
int |
getFriendFcnType()
Index to type record of the friend function.
|
DebugVC50TypeIterator |
getIndexIterator()
Create a new type iterator starting at the above index.
|
int |
getIndexValue()
Type index.
|
short |
getIVBClassAttribute()
Member attribute bit field.
|
int |
getIVBClassBType()
Index to type record of the direct or indirect virtual base
class.
|
int |
getIVBClassVBOff()
Numeric leaf specifying the index into the virtual base
displacement table of the entry that contains the displacement
of the virtual base.
|
int |
getIVBClassVBPOff()
Numeric leaf specifying the offset of the virtual base pointer
from the address point of the class for this virtual base.
|
int |
getIVBClassVBPType()
Type index of the virtual base pointer for this base.
|
short |
getLabelAddressMode()
Addressing mode of the label, described by LABEL_ADDR_MODE_ enum
in
DebugVC50TypeEnums . |
short |
getLength()
Gets the length, in bytes, of the current type record.
|
short |
getMemberAttribute()
Member attribute bit field.
|
short |
getMemberModifyAttribute()
New protection attributes.
|
java.lang.String |
getMemberModifyName()
Length-prefixed name of member.
|
int |
getMemberModifyType()
Type index of base class that introduced the member.
|
java.lang.String |
getMemberName()
Length-prefixed name of the member field.
|
int |
getMemberOffset()
Numeric leaf specifying the offset of field in the structure.
|
int |
getMemberType()
Index to type record for field.
|
short |
getMethodCount()
Number of occurrences of function within the class.
|
int |
getMethodList()
Type index of method list.
|
java.lang.String |
getMethodName()
Length-prefixed name of method.
|
int |
getMFunctionArgumentList()
List of parameter specifiers.
|
DebugVC50TypeIterator |
getMFunctionArgumentListIterator()
Get new iterator pointing at the argument list of this member function.
|
byte |
getMFunctionCallingConvention()
Calling convention of the procedure; see CALLCONV_ enumeration
in
DebugVC50TypeEnums . |
int |
getMFunctionContainingClass()
Type index of the containing class of the function.
|
short |
getMFunctionNumberOfParameters()
Number of parameters.
|
int |
getMFunctionReturnType()
Type index of the value returned by the procedure.
|
int |
getMFunctionThis()
Type index of the this parameter of the member function.
|
int |
getMFunctionThisAdjust()
Logical this adjustor for the method.
|
short |
getMListAttribute()
Attribute of the member function; see
DebugVC50TypeEnums and DebugVC50MemberAttributes . |
int |
getMListLength()
Number of types corresponding to this overloaded method.
|
int |
getMListType(int i)
Type index of the procedure record for the ith occurrence
of the function (0..getMListLength() - 1).
|
int |
getMListVtabOffset()
Present only when property attribute is introducing virtual
(optional).
|
short |
getModifierAttribute()
Attributes specified in MODIFIER_ enums in
DebugVC50TypeEnums . |
int |
getModifierIndex()
Type index of the modified type.
|
short |
getNestedExAttribute()
Nested type attribute (protection fields are valid).
|
java.lang.String |
getNestedExName()
Length-prefixed name of type.
|
int |
getNestedExType()
Type index of nested type.
|
java.lang.String |
getNestedName()
Length-prefixed name of type.
|
int |
getNestedType()
Type index of nested type.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
int |
getNumTypes()
Debugging support only
|
short |
getOneMethodAttribute()
Method attribute; see
DebugVC50TypeEnums and
DebugVC50MemberAttributes . |
java.lang.String |
getOneMethodName()
Length prefixed name of method.
|
int |
getOneMethodType()
Type index of method.
|
int |
getOneMethodVBaseOff()
Offset in virtual function table if introducing virtual method.
|
int |
getPointerAttributes()
Pointer attributes.
|
int |
getPointerBasedOnTypeIndex()
Only valid if the pointer type is BASED_ON_TYPE; retrieves index
of type.
|
java.lang.String |
getPointerBasedOnTypeName()
Only valid if the pointer type is BASED_ON_TYPE; retrieves name
of type.
|
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.
|
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.
|
int |
getPointerType()
Type index of object pointed to.
|
int |
getProcedureArgumentList()
Type index of argument list type record.
|
DebugVC50TypeIterator |
getProcedureArgumentListIterator()
Get new iterator pointing at the argument list of this procedure.
|
byte |
getProcedureCallingConvention()
Calling convention of the procedure; see CALLCONV_ enumeration
in
DebugVC50TypeEnums . |
short |
getProcedureNumberOfParameters()
Number of parameters.
|
int |
getProcedureReturnType()
Type index of the value returned by the procedure.
|
DebugVC50SymbolIterator |
getRefSym()
Create a new SymbolIterator pointing at the copy of the symbol
this record contains.
|
int |
getSkipIndex()
In processing $$TYPES, the index counter is advanced to index
count, skipping all intermediate indices.
|
short |
getStaticAttribute()
Member attribute bit field.
|
java.lang.String |
getStaticName()
Length-prefixed name of the member field.
|
int |
getStaticType()
Index to type record for field.
|
int |
getTypeIndex()
Gets the type index of the current type.
|
short |
getUnionCount()
Number of fields in the union.
|
int |
getUnionFieldList()
Type index of field list.
|
DebugVC50TypeIterator |
getUnionFieldListIterator()
Get new iterator pointing at the field list of this union.
|
java.lang.String |
getUnionName()
Length-prefixed name of union.
|
short |
getUnionProperty()
Property bit field.
|
int |
getUnionSize()
Numeric leaf specifying size in bytes of the union.
|
short |
getVBClassAttribute()
Member attribute bit field.
|
int |
getVBClassBaseClassType()
Index to type record of the direct or indirect virtual base
class.
|
int |
getVBClassVBOff()
Numeric leaf specifying the index into the virtual base
displacement table of the entry that contains the displacement
of the virtual base.
|
int |
getVBClassVBPOff()
Numeric leaf specifying the offset of the virtual base pointer
from the address point of the class for this virtual base.
|
int |
getVBClassVirtualBaseClassType()
Type index of the virtual base pointer for this base.
|
int |
getVFTPathBase(int i)
Type indices of the base classes in the path
(0..getVFTPathCount() - 1).
|
int |
getVFTPathCount()
Count of number of bases in the path to the virtual function
table.
|
int |
getVFuncOffOffset()
Offset of virtual function table pointer relative to address
point of class.
|
int |
getVFuncOffType()
Type index of virtual function table pointer.
|
int |
getVFuncTabType()
Index to the pointer record describing the pointer.
|
short |
getVTShapeCount()
Number of descriptors.
|
int |
getVTShapeDescriptor(int i)
Fetch the ith descriptor (0..getVTShapeCount() - 1).
|
boolean |
isMListIntroducingVirtual()
Convenience routine indicating whether this member function is
introducing virtual.
|
boolean |
isOneMethodIntroducingVirtual()
Convenience routine indicating whether this method is
introducing virtual.
|
void |
next()
Go to the next type in the type table.
|
boolean |
typeStringDone()
Indicates whether iteration through the current type string is
complete.
|
int |
typeStringLeaf()
Return the leaf index (see
DebugVC50TypeLeafIndices )
for the current element of the current type string. |
void |
typeStringNext()
Goes to the next element in the current type string.
|
int |
typeStringOffset()
For debugging: returns the file offset of the current type
string leaf.
|
boolean done()
void next() throws java.util.NoSuchElementException
java.util.NoSuchElementException
short getLength()
int getTypeIndex()
int getNumTypes()
boolean typeStringDone()
void typeStringNext() throws java.util.NoSuchElementException
java.util.NoSuchElementException
int typeStringLeaf()
DebugVC50TypeLeafIndices
)
for the current element of the current type string.int typeStringOffset()
int getModifierIndex()
short getModifierAttribute()
DebugVC50TypeEnums
.int getPointerType()
int getPointerAttributes()
DebugVC50TypeEnums
:
PTRTYPE, PTRMODE, ISFLAT32, VOLATILE, CONST, UNALIGNED, and
RESTRICT.int getPointerBasedOnTypeIndex()
java.lang.String getPointerBasedOnTypeName()
int getPointerToMemberClass()
short getPointerToMemberFormat()
DebugVC50TypeEnums
.int getArrayElementType()
int getArrayIndexType()
int getArrayLength() throws DebugVC50WrongNumericTypeException
java.lang.String getArrayName()
short getClassCount()
short getClassProperty()
DebugVC50TypeEnums
.int getClassFieldList()
DebugVC50TypeIterator getClassFieldListIterator()
int getClassDerivationList()
int getClassVShape()
int getClassSize() throws DebugVC50WrongNumericTypeException
java.lang.String getClassName()
short getUnionCount()
short getUnionProperty()
int getUnionFieldList()
DebugVC50TypeIterator getUnionFieldListIterator()
int getUnionSize() throws DebugVC50WrongNumericTypeException
java.lang.String getUnionName()
short getEnumCount()
short getEnumProperty()
int getEnumType()
int getEnumFieldList()
DebugVC50TypeIterator getEnumFieldListIterator()
java.lang.String getEnumName()
int getProcedureReturnType()
byte getProcedureCallingConvention()
DebugVC50TypeEnums
.short getProcedureNumberOfParameters()
int getProcedureArgumentList()
DebugVC50TypeIterator getProcedureArgumentListIterator()
int getMFunctionReturnType()
int getMFunctionContainingClass()
int getMFunctionThis()
byte getMFunctionCallingConvention()
DebugVC50TypeEnums
.short getMFunctionNumberOfParameters()
int getMFunctionArgumentList()
DebugVC50TypeIterator getMFunctionArgumentListIterator()
int getMFunctionThisAdjust()
short getVTShapeCount()
int getVTShapeDescriptor(int i)
DebugVC50TypeEnums
.int getBasicArrayType()
short getLabelAddressMode()
DebugVC50TypeEnums
.int getDimArrayType()
int getDimArrayDimInfo()
java.lang.String getDimArrayName()
int getVFTPathCount()
int getVFTPathBase(int i)
int getSkipIndex()
int getArgListCount()
int getArgListType(int i)
int getDefaultArgType()
java.lang.String getDefaultArgExpression()
int getDerivedCount()
int getDerivedType(int i)
int getBitfieldFieldType()
byte getBitfieldLength()
byte getBitfieldPosition()
short getMListAttribute()
DebugVC50TypeEnums
and DebugVC50MemberAttributes
.int getMListLength()
int getMListType(int i)
boolean isMListIntroducingVirtual()
int getMListVtabOffset()
DebugVC50SymbolIterator getRefSym()
short getBClassAttribute()
int getBClassType()
int getBClassOffset() throws DebugVC50WrongNumericTypeException
short getVBClassAttribute()
int getVBClassBaseClassType()
int getVBClassVirtualBaseClassType()
int getVBClassVBPOff() throws DebugVC50WrongNumericTypeException
int getVBClassVBOff() throws DebugVC50WrongNumericTypeException
short getIVBClassAttribute()
int getIVBClassBType()
int getIVBClassVBPType()
int getIVBClassVBPOff() throws DebugVC50WrongNumericTypeException
int getIVBClassVBOff() throws DebugVC50WrongNumericTypeException
short getEnumerateAttribute()
long getEnumerateValue() throws DebugVC50WrongNumericTypeException
java.lang.String getEnumerateName()
int getFriendFcnType()
java.lang.String getFriendFcnName()
int getIndexValue()
DebugVC50TypeIterator getIndexIterator()
short getMemberAttribute()
int getMemberType()
int getMemberOffset() throws DebugVC50WrongNumericTypeException
java.lang.String getMemberName()
short getStaticAttribute()
int getStaticType()
java.lang.String getStaticName()
short getMethodCount()
int getMethodList()
java.lang.String getMethodName()
int getNestedType()
java.lang.String getNestedName()
int getVFuncTabType()
int getFriendClsType()
short getOneMethodAttribute()
DebugVC50TypeEnums
and
DebugVC50MemberAttributes
.int getOneMethodType()
boolean isOneMethodIntroducingVirtual()
int getOneMethodVBaseOff()
java.lang.String getOneMethodName()
int getVFuncOffType()
int getVFuncOffOffset()
short getNestedExAttribute()
int getNestedExType()
java.lang.String getNestedExName()
short getMemberModifyAttribute()
int getMemberModifyType()
java.lang.String getMemberModifyName()
short getNumericTypeAt(int byteOffset)
int getNumericLengthAt(int byteOffset) throws DebugVC50WrongNumericTypeException
int getNumericIntAt(int byteOffset) throws DebugVC50WrongNumericTypeException
long getNumericLongAt(int byteOffset) throws DebugVC50WrongNumericTypeException
float getNumericFloatAt(int byteOffset) throws DebugVC50WrongNumericTypeException
double getNumericDoubleAt(int byteOffset) throws DebugVC50WrongNumericTypeException
byte[] getNumericDataAt(int byteOffset) throws DebugVC50WrongNumericTypeException
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.