class PointerRecord

Declaration

class PointerRecord : public TypeRecord { /* full declaration omitted */ };

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h:264

Inherits from: TypeRecord

Member Variables

public llvm::codeview::TypeIndex ReferentType
public uint32_t Attrs = 0
public Optional<llvm::codeview::MemberPointerInfo> MemberInfo
public static const uint32_t PointerKindShift = 0
public static const uint32_t PointerKindMask = 31
public static const uint32_t PointerModeShift = 5
public static const uint32_t PointerModeMask = 7
public static const uint32_t PointerOptionMask = 3677952
public static const uint32_t PointerSizeShift = 13
public static const uint32_t PointerSizeMask = 255

Inherited from TypeRecord:

public Kind

Method Overview

  • public PointerRecord(llvm::codeview::TypeRecordKind Kind)
  • public PointerRecord(llvm::codeview::TypeIndex ReferentType, uint32_t Attrs)
  • public PointerRecord(llvm::codeview::TypeIndex ReferentType, llvm::codeview::PointerKind PK, llvm::codeview::PointerMode PM, llvm::codeview::PointerOptions PO, uint8_t Size)
  • public PointerRecord(llvm::codeview::TypeIndex ReferentType, llvm::codeview::PointerKind PK, llvm::codeview::PointerMode PM, llvm::codeview::PointerOptions PO, uint8_t Size, const llvm::codeview::MemberPointerInfo & MPI)
  • public PointerRecord()
  • private static uint32_t calcAttrs(llvm::codeview::PointerKind PK, llvm::codeview::PointerMode PM, llvm::codeview::PointerOptions PO, uint8_t Size)
  • public llvm::codeview::MemberPointerInfo getMemberInfo() const
  • public llvm::codeview::PointerMode getMode() const
  • public llvm::codeview::PointerOptions getOptions() const
  • public llvm::codeview::PointerKind getPointerKind() const
  • public llvm::codeview::TypeIndex getReferentType() const
  • public uint8_t getSize() const
  • public bool isConst() const
  • public bool isFlat() const
  • public bool isLValueReferenceThisPtr() const
  • public bool isPointerToMember() const
  • public bool isRValueReferenceThisPtr() const
  • public bool isRestrict() const
  • public bool isUnaligned() const
  • public bool isVolatile() const
  • public void setAttrs(llvm::codeview::PointerKind PK, llvm::codeview::PointerMode PM, llvm::codeview::PointerOptions PO, uint8_t Size)

Inherited from TypeRecord:

Methods

PointerRecord(llvm::codeview::TypeRecordKind Kind)

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h:282

Parameters

llvm::codeview::TypeRecordKind Kind

PointerRecord(
    llvm::codeview::TypeIndex ReferentType,
    uint32_t Attrs)

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h:284

Parameters

llvm::codeview::TypeIndex ReferentType
uint32_t Attrs

PointerRecord(
    llvm::codeview::TypeIndex ReferentType,
    llvm::codeview::PointerKind PK,
    llvm::codeview::PointerMode PM,
    llvm::codeview::PointerOptions PO,
    uint8_t Size)

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h:288

Parameters

llvm::codeview::TypeIndex ReferentType
llvm::codeview::PointerKind PK
llvm::codeview::PointerMode PM
llvm::codeview::PointerOptions PO
uint8_t Size

PointerRecord(
    llvm::codeview::TypeIndex ReferentType,
    llvm::codeview::PointerKind PK,
    llvm::codeview::PointerMode PM,
    llvm::codeview::PointerOptions PO,
    uint8_t Size,
    const llvm::codeview::MemberPointerInfo& MPI)

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h:293

Parameters

llvm::codeview::TypeIndex ReferentType
llvm::codeview::PointerKind PK
llvm::codeview::PointerMode PM
llvm::codeview::PointerOptions PO
uint8_t Size
const llvm::codeview::MemberPointerInfo& MPI

PointerRecord()

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h:281

static uint32_t calcAttrs(
    llvm::codeview::PointerKind PK,
    llvm::codeview::PointerMode PM,
    llvm::codeview::PointerOptions PO,
    uint8_t Size)

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h:358

Parameters

llvm::codeview::PointerKind PK
llvm::codeview::PointerMode PM
llvm::codeview::PointerOptions PO
uint8_t Size

llvm::codeview::MemberPointerInfo getMemberInfo()
    const

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h:318

llvm::codeview::PointerMode getMode() const

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h:305

llvm::codeview::PointerOptions getOptions() const

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h:310

llvm::codeview::PointerKind getPointerKind() const

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h:300

llvm::codeview::TypeIndex getReferentType() const

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h:298

uint8_t getSize() const

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h:314

bool isConst() const

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h:326

bool isFlat() const

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h:325

bool isLValueReferenceThisPtr() const

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h:340

bool isPointerToMember() const

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h:320

bool isRValueReferenceThisPtr() const

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h:344

bool isRestrict() const

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h:336

bool isUnaligned() const

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h:332

bool isVolatile() const

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h:328

void setAttrs(llvm::codeview::PointerKind PK,
              llvm::codeview::PointerMode PM,
              llvm::codeview::PointerOptions PO,
              uint8_t Size)

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h:352

Parameters

llvm::codeview::PointerKind PK
llvm::codeview::PointerMode PM
llvm::codeview::PointerOptions PO
uint8_t Size