Class VBaseClassField
- Namespace
- AsmResolver.Symbols.Pdb.Leaves
- Assembly
- AsmResolver.Symbols.Pdb.dll
Represents a direct or indirect reference to a virtual base class object in a structure.
public class VBaseClassField : CodeViewField, ITpiLeaf, ICodeViewLeaf
- Inheritance
-
VBaseClassField
- Implements
- Derived
- Inherited Members
Constructors
VBaseClassField(CodeViewTypeRecord, CodeViewTypeRecord, ulong, ulong, bool)
Creates a new virtual base class field.
public VBaseClassField(CodeViewTypeRecord baseType, CodeViewTypeRecord pointerType, ulong pointerOffset, ulong tableOffset, bool isIndirect)
Parameters
baseType
CodeViewTypeRecordThe type to reference as base type.
pointerType
CodeViewTypeRecordThe type of the virtual base pointer.
pointerOffset
ulongThe offset of the virtual base pointer
tableOffset
ulongThe offset from the base table.
isIndirect
booltrue
if the field is an indirect virtual base class,false
otherwise.
VBaseClassField(uint)
Initializes a new empty virtual base class field.
protected VBaseClassField(uint typeIndex)
Parameters
typeIndex
uintThe type index to assign to the field.
Properties
IsIndirect
Gets or sets a value indicating whether the virtual base class is an indirect base class.
public bool IsIndirect { get; set; }
Property Value
LeafKind
Gets the type kind this record encodes.
public override CodeViewLeafKind LeafKind { get; }
Property Value
PointerOffset
Gets or sets the virtual base pointer offset relative to the address point.
public ulong PointerOffset { get; set; }
Property Value
PointerType
Gets or sets the type of the base pointer that this base class uses.
public CodeViewTypeRecord? PointerType { get; set; }
Property Value
TableOffset
Gets or sets the virtual base pointer offset relative to the virtual base table.
public ulong TableOffset { get; set; }
Property Value
Type
Gets or sets the base type that this base class is referencing.
public CodeViewTypeRecord? Type { get; set; }
Property Value
Methods
GetBasePointerType()
Obtains the type of the base pointer that the class is uses.
protected virtual CodeViewTypeRecord? GetBasePointerType()
Returns
- CodeViewTypeRecord
The base pointer type.
Remarks
This method is called upon initialization of the PointerType property.
GetBaseType()
Obtains the base type that the class is referencing.
protected virtual CodeViewTypeRecord? GetBaseType()
Returns
- CodeViewTypeRecord
The base type.
Remarks
This method is called upon initialization of the Type property.
ToString()
Returns a string that represents the current object.
public override string ToString()
Returns
- string
A string that represents the current object.