LLVM  8.0.1
Public Member Functions | List of all members
llvm::pdb::BaseClassLayout Class Reference

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

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

Public Member Functions

 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)
 
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 149 of file UDTLayout.h.

Constructor & Destructor Documentation

◆ BaseClassLayout()

BaseClassLayout::BaseClassLayout ( const UDTLayoutBase Parent,
uint32_t  OffsetInParent,
bool  Elide,
std::unique_ptr< PDBSymbolTypeBaseClass Base 
)

Member Function Documentation

◆ getBase()

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

Definition at line 154 of file UDTLayout.h.

◆ isEmptyBase()

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

◆ isVirtualBase()

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

Definition at line 155 of file UDTLayout.h.


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