Table of Contents

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 CodeViewTypeRecord

The type to reference as base type.

pointerType CodeViewTypeRecord

The type of the virtual base pointer.

pointerOffset ulong

The offset of the virtual base pointer

tableOffset ulong

The offset from the base table.

isIndirect bool

true 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 uint

The 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

bool

LeafKind

Gets the type kind this record encodes.

public override CodeViewLeafKind LeafKind { get; }

Property Value

CodeViewLeafKind

PointerOffset

Gets or sets the virtual base pointer offset relative to the address point.

public ulong PointerOffset { get; set; }

Property Value

ulong

PointerType

Gets or sets the type of the base pointer that this base class uses.

public CodeViewTypeRecord? PointerType { get; set; }

Property Value

CodeViewTypeRecord

TableOffset

Gets or sets the virtual base pointer offset relative to the virtual base table.

public ulong TableOffset { get; set; }

Property Value

ulong

Type

Gets or sets the base type that this base class is referencing.

public CodeViewTypeRecord? Type { get; set; }

Property Value

CodeViewTypeRecord

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.