class UDTLayoutBase

Declaration

class UDTLayoutBase : public LayoutItemBase { /* full declaration omitted */ };

Declared at: llvm/include/llvm/DebugInfo/PDB/UDTLayout.h:109

Inherits from: LayoutItemBase

Member Variables

protected uint32_t DirectVBaseCount = 0
protected UniquePtrVector<llvm::pdb::PDBSymbol> Other
protected UniquePtrVector<llvm::pdb::PDBSymbolFunc> Funcs
protected UniquePtrVector<llvm::pdb::LayoutItemBase> ChildStorage
protected std::vector<LayoutItemBase*> LayoutItems
protected std::vector<BaseClassLayout*> AllBases
protected ArrayRef<llvm::pdb::BaseClassLayout*> NonVirtualBases
protected ArrayRef<llvm::pdb::BaseClassLayout*> VirtualBases
protected llvm::pdb::VTableLayoutItem* VTable = nullptr
protected llvm::pdb::VBPtrLayoutItem* VBPtr = nullptr

Inherited from LayoutItemBase:

protected Symbol = nullptr
protected Parent = nullptr
protected UsedBytes
protected Name
protected OffsetInParent = 0
protected SizeOf = 0
protected LayoutSize = 0
protected IsElided = false

Method Overview

  • public UDTLayoutBase(const llvm::pdb::UDTLayoutBase * Parent, const llvm::pdb::PDBSymbol & Sym, const std::string & Name, uint32_t OffsetInParent, uint32_t Size, bool IsElided)
  • protected void addChildToLayout(std::unique_ptr<LayoutItemBase> Child)
  • public ArrayRef<llvm::pdb::BaseClassLayout *> bases() const
  • public uint32_t directVirtualBaseCount() const
  • public ArrayRef<std::unique_ptr<PDBSymbolFunc>> funcs() const
  • protected bool hasVBPtrAtOffset(uint32_t Off) const
  • protected void initializeChildren(const llvm::pdb::PDBSymbol & Sym)
  • public ArrayRef<llvm::pdb::LayoutItemBase *> layout_items() const
  • public ArrayRef<std::unique_ptr<PDBSymbol>> other_items() const
  • public ArrayRef<llvm::pdb::BaseClassLayout *> regular_bases() const
  • public uint32_t tailPadding() const
  • public ArrayRef<llvm::pdb::BaseClassLayout *> virtual_bases() const

Inherited from LayoutItemBase:

Methods

UDTLayoutBase(
    const llvm::pdb::UDTLayoutBase* Parent,
    const llvm::pdb::PDBSymbol& Sym,
    const std::string& Name,
    uint32_t OffsetInParent,
    uint32_t Size,
    bool IsElided)

Declared at: llvm/include/llvm/DebugInfo/PDB/UDTLayout.h:113

Parameters

const llvm::pdb::UDTLayoutBase* Parent
const llvm::pdb::PDBSymbol& Sym
const std::string& Name
uint32_t OffsetInParent
uint32_t Size
bool IsElided

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

Declared at: llvm/include/llvm/DebugInfo/PDB/UDTLayout.h:130

Parameters

std::unique_ptr<LayoutItemBase> Child

ArrayRef<llvm::pdb::BaseClassLayout*> bases()
    const

Declared at: llvm/include/llvm/DebugInfo/PDB/UDTLayout.h:119

uint32_t directVirtualBaseCount() const

Declared at: llvm/include/llvm/DebugInfo/PDB/UDTLayout.h:122

ArrayRef<std::unique_ptr<PDBSymbolFunc>> funcs()
    const

Declared at: llvm/include/llvm/DebugInfo/PDB/UDTLayout.h:123

bool hasVBPtrAtOffset(uint32_t Off) const

Declared at: llvm/include/llvm/DebugInfo/PDB/UDTLayout.h:127

Parameters

uint32_t Off

void initializeChildren(
    const llvm::pdb::PDBSymbol& Sym)

Declared at: llvm/include/llvm/DebugInfo/PDB/UDTLayout.h:128

Parameters

const llvm::pdb::PDBSymbol& Sym

ArrayRef<llvm::pdb::LayoutItemBase*>
layout_items() const

Declared at: llvm/include/llvm/DebugInfo/PDB/UDTLayout.h:118

ArrayRef<std::unique_ptr<PDBSymbol>> other_items()
    const

Declared at: llvm/include/llvm/DebugInfo/PDB/UDTLayout.h:124

ArrayRef<llvm::pdb::BaseClassLayout*>
regular_bases() const

Declared at: llvm/include/llvm/DebugInfo/PDB/UDTLayout.h:120

uint32_t tailPadding() const

Declared at: llvm/include/llvm/DebugInfo/PDB/UDTLayout.h:117

ArrayRef<llvm::pdb::BaseClassLayout*>
virtual_bases() const

Declared at: llvm/include/llvm/DebugInfo/PDB/UDTLayout.h:121