LLVM  8.0.1
Public Member Functions | Protected Attributes | List of all members
llvm::pdb::LayoutItemBase Class Reference

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

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

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 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
 

Protected Attributes

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

Constructor & Destructor Documentation

◆ LayoutItemBase()

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.

◆ ~LayoutItemBase()

virtual llvm::pdb::LayoutItemBase::~LayoutItemBase ( )
virtualdefault

Member Function Documentation

◆ containsOffset()

uint32_t llvm::pdb::LayoutItemBase::containsOffset ( uint32_t  Off) const
inline

Definition at line 56 of file UDTLayout.h.

References getOffsetInParent().

◆ deepPaddingSize()

uint32_t LayoutItemBase::deepPaddingSize ( ) const

Definition at line 58 of file UDTLayout.cpp.

References llvm::BitVector::count(), llvm::BitVector::size(), and UsedBytes.

◆ getLayoutSize()

uint32_t llvm::pdb::LayoutItemBase::getLayoutSize ( ) const
inline

Definition at line 50 of file UDTLayout.h.

References LayoutSize.

◆ getName()

StringRef llvm::pdb::LayoutItemBase::getName ( ) const
inline

Definition at line 47 of file UDTLayout.h.

References Name.

◆ getOffsetInParent()

uint32_t llvm::pdb::LayoutItemBase::getOffsetInParent ( ) const
inline

◆ getParent()

const UDTLayoutBase* llvm::pdb::LayoutItemBase::getParent ( ) const
inline

Definition at line 46 of file UDTLayout.h.

References Parent.

◆ getSize()

uint32_t llvm::pdb::LayoutItemBase::getSize ( ) const
inline

Definition at line 49 of file UDTLayout.h.

References SizeOf.

◆ getSymbol()

const PDBSymbol* llvm::pdb::LayoutItemBase::getSymbol ( ) const
inline

Definition at line 51 of file UDTLayout.h.

References Symbol.

◆ immediatePadding()

virtual uint32_t llvm::pdb::LayoutItemBase::immediatePadding ( ) const
inlinevirtual

Reimplemented in llvm::pdb::ClassLayout.

Definition at line 43 of file UDTLayout.h.

References tailPadding().

Referenced by llvm::pdb::ClassLayout::getClass().

◆ isElided()

bool llvm::pdb::LayoutItemBase::isElided ( ) const
inline

Definition at line 53 of file UDTLayout.h.

References IsElided.

◆ isVBPtr()

virtual bool llvm::pdb::LayoutItemBase::isVBPtr ( ) const
inlinevirtual

Reimplemented in llvm::pdb::VBPtrLayoutItem.

Definition at line 54 of file UDTLayout.h.

◆ tailPadding()

uint32_t LayoutItemBase::tailPadding ( ) const
virtual

◆ usedBytes()

const BitVector& llvm::pdb::LayoutItemBase::usedBytes ( ) const
inline

Definition at line 52 of file UDTLayout.h.

References UsedBytes.

Member Data Documentation

◆ IsElided

bool llvm::pdb::LayoutItemBase::IsElided = false
protected

Definition at line 70 of file UDTLayout.h.

Referenced by isElided().

◆ LayoutSize

uint32_t llvm::pdb::LayoutItemBase::LayoutSize = 0
protected

◆ Name

std::string llvm::pdb::LayoutItemBase::Name
protected

Definition at line 66 of file UDTLayout.h.

Referenced by getName().

◆ OffsetInParent

uint32_t llvm::pdb::LayoutItemBase::OffsetInParent = 0
protected

Definition at line 67 of file UDTLayout.h.

Referenced by getOffsetInParent().

◆ Parent

const UDTLayoutBase* llvm::pdb::LayoutItemBase::Parent = nullptr
protected

Definition at line 64 of file UDTLayout.h.

Referenced by getParent(), and llvm::pdb::UDTLayoutBase::initializeChildren().

◆ SizeOf

uint32_t llvm::pdb::LayoutItemBase::SizeOf = 0
protected

◆ Symbol

const PDBSymbol* llvm::pdb::LayoutItemBase::Symbol = nullptr
protected

Definition at line 63 of file UDTLayout.h.

Referenced by llvm::pdb::DataMemberLayoutItem::getDataMember(), and getSymbol().

◆ UsedBytes

BitVector llvm::pdb::LayoutItemBase::UsedBytes
protected

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