LLVM: llvm::pdb::UDTLayoutBase Class Reference (original) (raw)

#include "[llvm/DebugInfo/PDB/UDTLayout.h](UDTLayout%5F8h%5Fsource.html)"

Public Member Functions
UDTLayoutBase (const UDTLayoutBase *Parent, const PDBSymbol &Sym, const std::string &Name, uint32_t OffsetInParent, uint32_t Size, bool IsElided)
UDTLayoutBase (UDTLayoutBase const &)=delete
UDTLayoutBase & operator= (UDTLayoutBase const &)=delete
uint32_t tailPadding () const override
ArrayRef< LayoutItemBase * > layout_items () const
ArrayRef< BaseClassLayout * > bases () const
ArrayRef< BaseClassLayout * > regular_bases () const
ArrayRef< BaseClassLayout * > virtual_bases () const
uint32_t directVirtualBaseCount () const
ArrayRef< std::unique_ptr< PDBSymbolFunc > > funcs () const
ArrayRef< std::unique_ptr< PDBSymbol > > other_items () const
Public Member Functions inherited from llvm::pdb::LayoutItemBase
LayoutItemBase (const UDTLayoutBase *Parent, const PDBSymbol *Symbol, const std::string &Name, uint32_t OffsetInParent, uint32_t Size, bool IsElided)
virtual ~LayoutItemBase ()=default
uint32_t deepPaddingSize () const
virtual uint32_t immediatePadding () const
const UDTLayoutBase * getParent () const
StringRef getName () const
uint32_t getOffsetInParent () const
uint32_t getSize () const
uint32_t getLayoutSize () const
const PDBSymbol * getSymbol () const
const BitVector & usedBytes () const
bool isElided () const
virtual bool isVBPtr () const
uint32_t containsOffset (uint32_t Off) const
Protected Attributes
uint32_t DirectVBaseCount = 0
UniquePtrVector< PDBSymbol > Other
UniquePtrVector< PDBSymbolFunc > Funcs
UniquePtrVector< LayoutItemBase > ChildStorage
std::vector< LayoutItemBase * > LayoutItems
std::vector< BaseClassLayout * > AllBases
ArrayRef< BaseClassLayout * > NonVirtualBases
ArrayRef< BaseClassLayout * > VirtualBases
VTableLayoutItem * VTable = nullptr
VBPtrLayoutItem * VBPtr = nullptr
Protected Attributes inherited from llvm::pdb::LayoutItemBase
const PDBSymbol * Symbol = nullptr
const UDTLayoutBase * Parent = nullptr
BitVector UsedBytes
std::string Name
uint32_t OffsetInParent = 0
uint32_t SizeOf = 0
uint32_t LayoutSize = 0
bool IsElided = false

Definition at line 112 of file UDTLayout.h.

Definition at line 106 of file UDTLayout.cpp.

References initializeChildren(), llvm::pdb::LayoutItemBase::IsElided, llvm::pdb::LayoutItemBase::LayoutItemBase(), llvm::pdb::LayoutItemBase::LayoutSize, llvm::pdb::LayoutItemBase::Name, llvm::pdb::LayoutItemBase::OffsetInParent, llvm::pdb::LayoutItemBase::Parent, Size, UDTLayoutBase(), and llvm::pdb::LayoutItemBase::UsedBytes.

Referenced by llvm::pdb::BaseClassLayout::BaseClassLayout(), llvm::pdb::ClassLayout::ClassLayout(), operator=(), UDTLayoutBase(), and UDTLayoutBase().

UDTLayoutBase() [2/2]

addChildToLayout()

void UDTLayoutBase::addChildToLayout ( std::unique_ptr< LayoutItemBase > Child) protected

bases()

directVirtualBaseCount()

uint32_t llvm::pdb::UDTLayoutBase::directVirtualBaseCount ( ) const inline

funcs()

hasVBPtrAtOffset()

bool UDTLayoutBase::hasVBPtrAtOffset ( uint32_t Off) const protected

initializeChildren()

void UDTLayoutBase::initializeChildren ( const PDBSymbol & Sym) protected

Definition at line 167 of file UDTLayout.cpp.

References addChildToLayout(), AllBases, llvm::ArrayRef(), assert(), llvm::sampleprof::Base, llvm::pdb::Data, DM, llvm::pdb::PDBSymbol::findAllChildren(), Funcs, hasVBPtrAtOffset(), llvm::pdb::LayoutItemBase::LayoutSize, llvm::pdb::Member, NonVirtualBases, llvm::pdb::Offset, Other, llvm::pdb::LayoutItemBase::Parent, llvm::unique_dyn_cast(), llvm::pdb::LayoutItemBase::UsedBytes, VBPtr, VirtualBases, and VTable.

Referenced by UDTLayoutBase().

layout_items()

operator=()

other_items()

ArrayRef< std::unique_ptr< PDBSymbol > > llvm::pdb::UDTLayoutBase::other_items ( ) const inline

regular_bases()

tailPadding()

uint32_t UDTLayoutBase::tailPadding ( ) const overridevirtual

virtual_bases()

AllBases

ChildStorage

UniquePtrVector<LayoutItemBase> llvm::pdb::UDTLayoutBase::ChildStorage protected

DirectVBaseCount

uint32_t llvm::pdb::UDTLayoutBase::DirectVBaseCount = 0 protected

Funcs

LayoutItems

NonVirtualBases

Other

UniquePtrVector<PDBSymbol> llvm::pdb::UDTLayoutBase::Other protected

VBPtr

VirtualBases

VTable


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