#include "llvm/DebugInfo/PDB/Native/NativeTypeVTShape.h" using namespace llvm; using namespace llvm::pdb; // Create a pointer record for a non-simple type. NativeTypeVTShape::NativeTypeVTShape(NativeSession &Session, SymIndexId Id, codeview::TypeIndex TI, codeview::VFTableShapeRecord SR) : NativeRawSymbol(Session, PDB_SymType::VTableShape, Id), TI(TI), Record(std::move(SR)) {} NativeTypeVTShape::~NativeTypeVTShape() {} void NativeTypeVTShape::dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields, PdbSymbolIdField RecurseIdFields) const { NativeRawSymbol::dump(OS, Indent, ShowIdFields, RecurseIdFields); dumpSymbolIdField(OS, "lexicalParentId", 0, Indent, Session, PdbSymbolIdField::LexicalParent, ShowIdFields, RecurseIdFields); dumpSymbolField(OS, "count", getCount(), Indent); dumpSymbolField(OS, "constType", isConstType(), Indent); dumpSymbolField(OS, "unalignedType", isUnalignedType(), Indent); dumpSymbolField(OS, "volatileType", isVolatileType(), Indent); } bool NativeTypeVTShape::isConstType() const { return false; } bool NativeTypeVTShape::isVolatileType() const { return false; } bool NativeTypeVTShape::isUnalignedType() const { return false; } uint32_t NativeTypeVTShape::getCount() const { return Record.Slots.size(); }