LLVM
8.0.1
|
#include "llvm/DebugInfo/PDB/UDTLayout.h"
Public Member Functions | |
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 |
virtual uint32_t | tailPadding () 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 | |
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 35 of file UDTLayout.h.
LayoutItemBase::LayoutItemBase | ( | const UDTLayoutBase * | Parent, |
const PDBSymbol * | Symbol, | ||
const std::string & | Name, | ||
uint32_t | OffsetInParent, | ||
uint32_t | Size, | ||
bool | IsElided | ||
) |
Definition at line 48 of file UDTLayout.cpp.
References llvm::BitVector::resize(), SizeOf, and UsedBytes.
|
virtualdefault |
Definition at line 56 of file UDTLayout.h.
References getOffsetInParent().
uint32_t LayoutItemBase::deepPaddingSize | ( | ) | const |
Definition at line 58 of file UDTLayout.cpp.
References llvm::BitVector::count(), llvm::BitVector::size(), and UsedBytes.
|
inline |
Definition at line 50 of file UDTLayout.h.
References LayoutSize.
|
inline |
Definition at line 47 of file UDTLayout.h.
References Name.
|
inline |
Definition at line 48 of file UDTLayout.h.
References OffsetInParent.
Referenced by llvm::pdb::UDTLayoutBase::addChildToLayout(), containsOffset(), and llvm::pdb::UDTLayoutBase::hasVBPtrAtOffset().
|
inline |
Definition at line 46 of file UDTLayout.h.
References Parent.
|
inline |
Definition at line 49 of file UDTLayout.h.
References SizeOf.
Definition at line 51 of file UDTLayout.h.
References Symbol.
|
inlinevirtual |
Reimplemented in llvm::pdb::ClassLayout.
Definition at line 43 of file UDTLayout.h.
References tailPadding().
Referenced by llvm::pdb::ClassLayout::getClass().
|
inline |
Definition at line 53 of file UDTLayout.h.
References IsElided.
|
inlinevirtual |
Reimplemented in llvm::pdb::VBPtrLayoutItem.
Definition at line 54 of file UDTLayout.h.
|
virtual |
Reimplemented in llvm::pdb::UDTLayoutBase.
Definition at line 62 of file UDTLayout.cpp.
References llvm::BitVector::find_last(), llvm::BitVector::size(), and UsedBytes.
Referenced by immediatePadding(), and llvm::pdb::UDTLayoutBase::tailPadding().
Definition at line 52 of file UDTLayout.h.
References UsedBytes.
Definition at line 70 of file UDTLayout.h.
Referenced by isElided().
|
protected |
Definition at line 69 of file UDTLayout.h.
Referenced by getLayoutSize(), llvm::pdb::UDTLayoutBase::initializeChildren(), llvm::pdb::BaseClassLayout::isEmptyBase(), and llvm::pdb::UDTLayoutBase::UDTLayoutBase().
|
protected |
Definition at line 66 of file UDTLayout.h.
Referenced by getName().
|
protected |
Definition at line 67 of file UDTLayout.h.
Referenced by getOffsetInParent().
|
protected |
Definition at line 64 of file UDTLayout.h.
Referenced by getParent(), and llvm::pdb::UDTLayoutBase::initializeChildren().
|
protected |
Definition at line 68 of file UDTLayout.h.
Referenced by llvm::pdb::ClassLayout::ClassLayout(), getSize(), llvm::pdb::ClassLayout::immediatePadding(), llvm::pdb::BaseClassLayout::isEmptyBase(), and LayoutItemBase().
Definition at line 63 of file UDTLayout.h.
Referenced by llvm::pdb::DataMemberLayoutItem::getDataMember(), and getSymbol().
|
protected |
Definition at line 65 of file UDTLayout.h.
Referenced by llvm::pdb::UDTLayoutBase::addChildToLayout(), llvm::pdb::BaseClassLayout::BaseClassLayout(), llvm::pdb::DataMemberLayoutItem::DataMemberLayoutItem(), deepPaddingSize(), llvm::pdb::UDTLayoutBase::initializeChildren(), LayoutItemBase(), tailPadding(), llvm::pdb::UDTLayoutBase::UDTLayoutBase(), and usedBytes().