Class PointerTypeRecord
- Namespace
- AsmResolver.Symbols.Pdb.Leaves
- Assembly
- AsmResolver.Symbols.Pdb.dll
Represents a pointer type in a TPI or IPI stream.
public class PointerTypeRecord : CodeViewTypeRecord, ITpiLeaf, ICodeViewLeaf
- Inheritance
-
PointerTypeRecord
- Implements
- Derived
- Inherited Members
Constructors
PointerTypeRecord(CodeViewTypeRecord, PointerAttributes)
Creates a new pointer type.
public PointerTypeRecord(CodeViewTypeRecord type, PointerAttributes attributes)
Parameters
type
CodeViewTypeRecordThe referent type.
attributes
PointerAttributesThe attributes describing the shape of the pointer.
PointerTypeRecord(CodeViewTypeRecord, PointerAttributes, byte)
Creates a new pointer type.
public PointerTypeRecord(CodeViewTypeRecord type, PointerAttributes attributes, byte size)
Parameters
type
CodeViewTypeRecordThe referent type.
attributes
PointerAttributesThe attributes describing the shape of the pointer.
size
byteThe size of the pointer.
PointerTypeRecord(uint)
Initializes a new empty pointer type.
protected PointerTypeRecord(uint typeIndex)
Parameters
typeIndex
uintThe type index to assign to the type.
Properties
Attributes
Gets or sets the attributes describing the shape of the pointer type.
public PointerAttributes Attributes { get; set; }
Property Value
BaseType
Gets or sets the referent type of the pointer.
public CodeViewTypeRecord BaseType { get; set; }
Property Value
IsBasedOnAddress
Gets or sets a value indicating whether the pointer is a based on address of base.
public bool IsBasedOnAddress { get; set; }
Property Value
IsBasedOnSegment
Gets or sets a value indicating whether the pointer is a based on segment.
public bool IsBasedOnSegment { get; set; }
Property Value
IsBasedOnSegmentAddress
Gets or sets a value indicating whether the pointer is a based on segment address of base.
public bool IsBasedOnSegmentAddress { get; set; }
Property Value
IsBasedOnSegmentValue
Gets or sets a value indicating whether the pointer is a based on segment value of base.
public bool IsBasedOnSegmentValue { get; set; }
Property Value
IsBasedOnSelf
Gets or sets a value indicating whether the pointer is a based on self.
public bool IsBasedOnSelf { get; set; }
Property Value
IsBasedOnType
Gets or sets a value indicating whether the pointer is a based on type.
public bool IsBasedOnType { get; set; }
Property Value
IsBasedOnValue
Gets or sets a value indicating whether the pointer is a based on value of base.
public bool IsBasedOnValue { get; set; }
Property Value
IsConst
Gets or sets a value indicating whether the pointer is marked const.
public bool IsConst { get; set; }
Property Value
IsFar16
Gets or sets a value indicating whether the pointer is a 16:16 far pointer.
public bool IsFar16 { get; set; }
Property Value
IsFar32
Gets or sets a value indicating whether the pointer is a 16:32 pointer.
public bool IsFar32 { get; set; }
Property Value
IsFlat32
Gets or sets a value indicating whether the pointer is a "flat" pointer.
public bool IsFlat32 { get; set; }
Property Value
IsHuge16
Gets or sets a value indicating whether the pointer is a 16:16 huge pointer.
public bool IsHuge16 { get; set; }
Property Value
IsLValueRefThisPointer
Gets or sets a value indicating whether the pointer is a 'this' pointer of a member function with ref qualifier.
public bool IsLValueRefThisPointer { get; set; }
Property Value
IsLValueReference
Gets or sets a value indicating whether the pointer is an "old" reference.
public bool IsLValueReference { get; set; }
Property Value
IsNear16
Gets or sets a value indicating whether the pointer is a 16 bit pointer.
public bool IsNear16 { get; set; }
Property Value
IsNear32
Gets or sets a value indicating whether the pointer is a 32 bit pointer.
public bool IsNear32 { get; set; }
Property Value
IsNear64
Gets or sets a value indicating whether the pointer is a 64 bit pointer.
public bool IsNear64 { get; set; }
Property Value
IsPointerToDataMember
Gets or sets a value indicating whether the pointer is a pointer to data member.
public bool IsPointerToDataMember { get; set; }
Property Value
IsPointerToMemberFunction
Gets or sets a value indicating whether the pointer is a pointer to member function.
public bool IsPointerToMemberFunction { get; set; }
Property Value
IsRValueRefThisPointer
Gets or sets a value indicating whether the pointer is a 'this' pointer of a member function with ref qualifier.
public bool IsRValueRefThisPointer { get; set; }
Property Value
IsRValueReference
Gets or sets a value indicating whether the pointer is an r-value reference.
public bool IsRValueReference { get; set; }
Property Value
IsRestrict
Gets or sets a value indicating whether the pointer is marked restrict.
public bool IsRestrict { get; set; }
Property Value
IsUnaligned
Gets or sets a value indicating whether the pointer is marked unaligned.
public bool IsUnaligned { get; set; }
Property Value
IsVolatile
Gets or sets a value indicating whether the pointer is marked volatile.
public bool IsVolatile { get; set; }
Property Value
IsWinRTSmartPointer
Gets or sets a value indicating whether the pointer is a WinRT smart pointer.
public bool IsWinRTSmartPointer { get; set; }
Property Value
Kind
Gets or sets the kind of the pointer.
public PointerAttributes Kind { get; set; }
Property Value
LeafKind
Gets the type kind this record encodes.
public override CodeViewLeafKind LeafKind { get; }
Property Value
Mode
Gets or sets the mode of the pointer.
public PointerAttributes Mode { get; set; }
Property Value
Size
Gets or sets the size of the pointer.
public byte Size { get; set; }
Property Value
Methods
GetBaseType()
Obtains the base type of the pointer.
protected virtual CodeViewTypeRecord? GetBaseType()
Returns
- CodeViewTypeRecord
The base type.
Remarks
This method is called upon initialization of the BaseType property.
ToString()
Returns a string that represents the current object.
public override string ToString()
Returns
- string
A string that represents the current object.