Table of Contents

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 CodeViewTypeRecord

The referent type.

attributes PointerAttributes

The 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 CodeViewTypeRecord

The referent type.

attributes PointerAttributes

The attributes describing the shape of the pointer.

size byte

The size of the pointer.

PointerTypeRecord(uint)

Initializes a new empty pointer type.

protected PointerTypeRecord(uint typeIndex)

Parameters

typeIndex uint

The 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

PointerAttributes

BaseType

Gets or sets the referent type of the pointer.

public CodeViewTypeRecord BaseType { get; set; }

Property Value

CodeViewTypeRecord

IsBasedOnAddress

Gets or sets a value indicating whether the pointer is a based on address of base.

public bool IsBasedOnAddress { get; set; }

Property Value

bool

IsBasedOnSegment

Gets or sets a value indicating whether the pointer is a based on segment.

public bool IsBasedOnSegment { get; set; }

Property Value

bool

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

bool

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

bool

IsBasedOnSelf

Gets or sets a value indicating whether the pointer is a based on self.

public bool IsBasedOnSelf { get; set; }

Property Value

bool

IsBasedOnType

Gets or sets a value indicating whether the pointer is a based on type.

public bool IsBasedOnType { get; set; }

Property Value

bool

IsBasedOnValue

Gets or sets a value indicating whether the pointer is a based on value of base.

public bool IsBasedOnValue { get; set; }

Property Value

bool

IsConst

Gets or sets a value indicating whether the pointer is marked const.

public bool IsConst { get; set; }

Property Value

bool

IsFar16

Gets or sets a value indicating whether the pointer is a 16:16 far pointer.

public bool IsFar16 { get; set; }

Property Value

bool

IsFar32

Gets or sets a value indicating whether the pointer is a 16:32 pointer.

public bool IsFar32 { get; set; }

Property Value

bool

IsFlat32

Gets or sets a value indicating whether the pointer is a "flat" pointer.

public bool IsFlat32 { get; set; }

Property Value

bool

IsHuge16

Gets or sets a value indicating whether the pointer is a 16:16 huge pointer.

public bool IsHuge16 { get; set; }

Property Value

bool

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

bool

IsLValueReference

Gets or sets a value indicating whether the pointer is an "old" reference.

public bool IsLValueReference { get; set; }

Property Value

bool

IsNear16

Gets or sets a value indicating whether the pointer is a 16 bit pointer.

public bool IsNear16 { get; set; }

Property Value

bool

IsNear32

Gets or sets a value indicating whether the pointer is a 32 bit pointer.

public bool IsNear32 { get; set; }

Property Value

bool

IsNear64

Gets or sets a value indicating whether the pointer is a 64 bit pointer.

public bool IsNear64 { get; set; }

Property Value

bool

IsPointerToDataMember

Gets or sets a value indicating whether the pointer is a pointer to data member.

public bool IsPointerToDataMember { get; set; }

Property Value

bool

IsPointerToMemberFunction

Gets or sets a value indicating whether the pointer is a pointer to member function.

public bool IsPointerToMemberFunction { get; set; }

Property Value

bool

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

bool

IsRValueReference

Gets or sets a value indicating whether the pointer is an r-value reference.

public bool IsRValueReference { get; set; }

Property Value

bool

IsRestrict

Gets or sets a value indicating whether the pointer is marked restrict.

public bool IsRestrict { get; set; }

Property Value

bool

IsUnaligned

Gets or sets a value indicating whether the pointer is marked unaligned.

public bool IsUnaligned { get; set; }

Property Value

bool

IsVolatile

Gets or sets a value indicating whether the pointer is marked volatile.

public bool IsVolatile { get; set; }

Property Value

bool

IsWinRTSmartPointer

Gets or sets a value indicating whether the pointer is a WinRT smart pointer.

public bool IsWinRTSmartPointer { get; set; }

Property Value

bool

Kind

Gets or sets the kind of the pointer.

public PointerAttributes Kind { get; set; }

Property Value

PointerAttributes

LeafKind

Gets the type kind this record encodes.

public override CodeViewLeafKind LeafKind { get; }

Property Value

CodeViewLeafKind

Mode

Gets or sets the mode of the pointer.

public PointerAttributes Mode { get; set; }

Property Value

PointerAttributes

Size

Gets or sets the size of the pointer.

public byte Size { get; set; }

Property Value

byte

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.