LLVM 22.0.0git
llvm::pdb::BaseClassLayout Class Reference

#include "llvm/DebugInfo/PDB/UDTLayout.h"

Inheritance diagram for llvm::pdb::BaseClassLayout:
[legend]

Public Member Functions

LLVM_ABI BaseClassLayout (const UDTLayoutBase &Parent, uint32_t OffsetInParent, bool Elide, std::unique_ptr< PDBSymbolTypeBaseClass > Base)
const PDBSymbolTypeBaseClassgetBase () const
bool isVirtualBase () const
bool isEmptyBase ()
Public Member Functions inherited from llvm::pdb::UDTLayoutBase
 UDTLayoutBase (const UDTLayoutBase *Parent, const PDBSymbol &Sym, const std::string &Name, uint32_t OffsetInParent, uint32_t Size, bool IsElided)
 UDTLayoutBase (UDTLayoutBase const &)=delete
UDTLayoutBaseoperator= (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 UDTLayoutBasegetParent () const
StringRef getName () const
uint32_t getOffsetInParent () const
uint32_t getSize () const
uint32_t getLayoutSize () const
const PDBSymbolgetSymbol () const
const BitVectorusedBytes () const
bool isElided () const
virtual bool isVBPtr () const
uint32_t containsOffset (uint32_t Off) const

Additional Inherited Members

Protected Member Functions inherited from llvm::pdb::UDTLayoutBase
bool hasVBPtrAtOffset (uint32_t Off) const
void initializeChildren (const PDBSymbol &Sym)
void addChildToLayout (std::unique_ptr< LayoutItemBase > Child)
Protected Attributes inherited from llvm::pdb::UDTLayoutBase
uint32_t DirectVBaseCount = 0
UniquePtrVector< PDBSymbolOther
UniquePtrVector< PDBSymbolFuncFuncs
UniquePtrVector< LayoutItemBaseChildStorage
std::vector< LayoutItemBase * > LayoutItems
std::vector< BaseClassLayout * > AllBases
ArrayRef< BaseClassLayout * > NonVirtualBases
ArrayRef< BaseClassLayout * > VirtualBases
VTableLayoutItemVTable = nullptr
VBPtrLayoutItemVBPtr = nullptr
Protected Attributes inherited from llvm::pdb::LayoutItemBase
const PDBSymbolSymbol = nullptr
const UDTLayoutBaseParent = nullptr
BitVector UsedBytes
std::string Name
uint32_t OffsetInParent = 0
uint32_t SizeOf = 0
uint32_t LayoutSize = 0
bool IsElided = false

Detailed Description

Definition at line 154 of file UDTLayout.h.

Constructor & Destructor Documentation

◆ BaseClassLayout()

Member Function Documentation

◆ getBase()

const PDBSymbolTypeBaseClass & llvm::pdb::BaseClassLayout::getBase ( ) const
inline

Definition at line 160 of file UDTLayout.h.

◆ isEmptyBase()

bool llvm::pdb::BaseClassLayout::isEmptyBase ( )
inline

◆ isVirtualBase()

bool llvm::pdb::BaseClassLayout::isVirtualBase ( ) const
inline

Definition at line 161 of file UDTLayout.h.


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