Class ClassTypeRecord
- Namespace
- AsmResolver.Symbols.Pdb.Leaves
- Assembly
- AsmResolver.Symbols.Pdb.dll
Represents a class, structure or interface type in a PDB.
public class ClassTypeRecord : CodeViewDerivedTypeRecord, ITpiLeaf, ICodeViewLeaf
- Inheritance
-
ClassTypeRecord
- Implements
- Derived
- Inherited Members
Constructors
ClassTypeRecord(CodeViewLeafKind, Utf8String, Utf8String, ulong, StructureAttributes, CodeViewTypeRecord?)
Creates a new class type record.
public ClassTypeRecord(CodeViewLeafKind kind, Utf8String name, Utf8String uniqueName, ulong size, StructureAttributes attributes, CodeViewTypeRecord? baseType)
Parameters
kind
CodeViewLeafKindThe kind.
name
Utf8StringThe name of the type.
uniqueName
Utf8StringThe unique mangled name of the type.
size
ulongThe size in bytes of the type.
attributes
StructureAttributesAttributes describing the shape of the type.
baseType
CodeViewTypeRecordThe type that this type is derived from, if any.
Exceptions
- ArgumentOutOfRangeException
Occurs when the provided kind is not a class, structure or interface.
ClassTypeRecord(CodeViewLeafKind, uint)
Initializes an empty class type.
protected ClassTypeRecord(CodeViewLeafKind kind, uint typeIndex)
Parameters
kind
CodeViewLeafKindThe kind of type.
typeIndex
uintThe type index to assign to the class type.
Exceptions
- ArgumentOutOfRangeException
Occurs when the provided kind is not a class, structure or interface.
Properties
LeafKind
Gets the type kind this record encodes.
public override CodeViewLeafKind LeafKind { get; }
Property Value
Size
Gets or sets the number bytes that this class spans.
public ulong Size { get; set; }
Property Value
UniqueName
Gets or sets the uniquely identifiable name for this type.
public Utf8String UniqueName { get; set; }
Property Value
VTableShape
Gets or sets the shape of the virtual function table of this type, if available.
public VTableShapeLeaf? VTableShape { get; set; }
Property Value
Methods
GetUniqueName()
Obtains the uniquely identifiable name of the type.
protected virtual Utf8String GetUniqueName()
Returns
- Utf8String
The name.
Remarks
This method is called upon initialization of the UniqueName property.
GetVTableShape()
Obtains the shape of the virtual function table name of the type.
protected virtual VTableShapeLeaf? GetVTableShape()
Returns
- VTableShapeLeaf
The shape.
Remarks
This method is called upon initialization of the VTableShape property.