LLVM  6.0.0svn
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
llvm::codeview::PointerRecord Class Reference

#include "llvm/DebugInfo/CodeView/TypeRecord.h"

Inheritance diagram for llvm::codeview::PointerRecord:
Inheritance graph
[legend]
Collaboration diagram for llvm::codeview::PointerRecord:
Collaboration graph
[legend]

Public Member Functions

 PointerRecord ()=default
 
 PointerRecord (TypeRecordKind Kind)
 
 PointerRecord (TypeIndex ReferentType, uint32_t Attrs)
 
 PointerRecord (TypeIndex ReferentType, PointerKind PK, PointerMode PM, PointerOptions PO, uint8_t Size)
 
 PointerRecord (TypeIndex ReferentType, PointerKind PK, PointerMode PM, PointerOptions PO, uint8_t Size, const MemberPointerInfo &MPI)
 
TypeIndex getReferentType () const
 
PointerKind getPointerKind () const
 
PointerMode getMode () const
 
PointerOptions getOptions () const
 
uint8_t getSize () const
 
MemberPointerInfo getMemberInfo () const
 
bool isPointerToMember () const
 
bool isFlat () const
 
bool isConst () const
 
bool isVolatile () const
 
bool isUnaligned () const
 
- Public Member Functions inherited from llvm::codeview::TypeRecord
TypeRecordKind getKind () const
 

Public Attributes

TypeIndex ReferentType
 
uint32_t Attrs
 
Optional< MemberPointerInfoMemberInfo
 
- Public Attributes inherited from llvm::codeview::TypeRecord
TypeRecordKind Kind
 

Static Public Attributes

static const uint32_t PointerKindShift = 0
 
static const uint32_t PointerKindMask = 0x1F
 
static const uint32_t PointerModeShift = 5
 
static const uint32_t PointerModeMask = 0x07
 
static const uint32_t PointerOptionMask = 0xFF
 
static const uint32_t PointerSizeShift = 13
 
static const uint32_t PointerSizeMask = 0xFF
 

Additional Inherited Members

- Protected Member Functions inherited from llvm::codeview::TypeRecord
 TypeRecord ()=default
 
 TypeRecord (TypeRecordKind Kind)
 

Detailed Description

Definition at line 265 of file TypeRecord.h.

Constructor & Destructor Documentation

◆ PointerRecord() [1/5]

llvm::codeview::PointerRecord::PointerRecord ( )
default

◆ PointerRecord() [2/5]

llvm::codeview::PointerRecord::PointerRecord ( TypeRecordKind  Kind)
inlineexplicit

Definition at line 279 of file TypeRecord.h.

◆ PointerRecord() [3/5]

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

Definition at line 281 of file TypeRecord.h.

◆ PointerRecord() [4/5]

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

Definition at line 285 of file TypeRecord.h.

◆ PointerRecord() [5/5]

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

Definition at line 290 of file TypeRecord.h.

Member Function Documentation

◆ getMemberInfo()

MemberPointerInfo llvm::codeview::PointerRecord::getMemberInfo ( ) const
inline

Definition at line 315 of file TypeRecord.h.

Referenced by llvm::codeview::TypeDumpVisitor::visitMemberEnd().

◆ getMode()

PointerMode llvm::codeview::PointerRecord::getMode ( ) const
inline

◆ getOptions()

PointerOptions llvm::codeview::PointerRecord::getOptions ( ) const
inline

◆ getPointerKind()

PointerKind llvm::codeview::PointerRecord::getPointerKind ( ) const
inline

◆ getReferentType()

TypeIndex llvm::codeview::PointerRecord::getReferentType ( ) const
inline

Definition at line 295 of file TypeRecord.h.

Referenced by llvm::codeview::TypeDumpVisitor::visitMemberEnd().

◆ getSize()

uint8_t llvm::codeview::PointerRecord::getSize ( ) const
inline

◆ isConst()

bool llvm::codeview::PointerRecord::isConst ( ) const
inline

◆ isFlat()

bool llvm::codeview::PointerRecord::isFlat ( ) const
inline

◆ isPointerToMember()

bool llvm::codeview::PointerRecord::isPointerToMember ( ) const
inline

◆ isUnaligned()

bool llvm::codeview::PointerRecord::isUnaligned ( ) const
inline

◆ isVolatile()

bool llvm::codeview::PointerRecord::isVolatile ( ) const
inline

Member Data Documentation

◆ Attrs

uint32_t llvm::codeview::PointerRecord::Attrs

Definition at line 334 of file TypeRecord.h.

Referenced by llvm::codeview::TypeRecordMapping::visitMemberEnd().

◆ MemberInfo

Optional<MemberPointerInfo> llvm::codeview::PointerRecord::MemberInfo

Definition at line 335 of file TypeRecord.h.

Referenced by llvm::codeview::TypeRecordMapping::visitMemberEnd().

◆ PointerKindMask

const uint32_t llvm::codeview::PointerRecord::PointerKindMask = 0x1F
static

Definition at line 268 of file TypeRecord.h.

◆ PointerKindShift

const uint32_t llvm::codeview::PointerRecord::PointerKindShift = 0
static

Definition at line 267 of file TypeRecord.h.

◆ PointerModeMask

const uint32_t llvm::codeview::PointerRecord::PointerModeMask = 0x07
static

Definition at line 271 of file TypeRecord.h.

Referenced by getPointerMode().

◆ PointerModeShift

const uint32_t llvm::codeview::PointerRecord::PointerModeShift = 5
static

Definition at line 270 of file TypeRecord.h.

Referenced by getPointerMode().

◆ PointerOptionMask

const uint32_t llvm::codeview::PointerRecord::PointerOptionMask = 0xFF
static

Definition at line 273 of file TypeRecord.h.

◆ PointerSizeMask

const uint32_t llvm::codeview::PointerRecord::PointerSizeMask = 0xFF
static

Definition at line 276 of file TypeRecord.h.

◆ PointerSizeShift

const uint32_t llvm::codeview::PointerRecord::PointerSizeShift = 13
static

Definition at line 275 of file TypeRecord.h.

◆ ReferentType

TypeIndex llvm::codeview::PointerRecord::ReferentType

Definition at line 333 of file TypeRecord.h.

Referenced by llvm::codeview::TypeRecordMapping::visitMemberEnd().


The documentation for this class was generated from the following file: