1343171Sdim#include "llvm/DebugInfo/PDB/Native/NativeTypeVTShape.h" 2343171Sdim 3343171Sdimusing namespace llvm; 4343171Sdimusing namespace llvm::pdb; 5343171Sdim 6343171Sdim// Create a pointer record for a non-simple type. 7343171SdimNativeTypeVTShape::NativeTypeVTShape(NativeSession &Session, SymIndexId Id, 8343171Sdim codeview::TypeIndex TI, 9343171Sdim codeview::VFTableShapeRecord SR) 10343171Sdim : NativeRawSymbol(Session, PDB_SymType::VTableShape, Id), TI(TI), 11343171Sdim Record(std::move(SR)) {} 12343171Sdim 13343171SdimNativeTypeVTShape::~NativeTypeVTShape() {} 14343171Sdim 15343171Sdimvoid NativeTypeVTShape::dump(raw_ostream &OS, int Indent, 16343171Sdim PdbSymbolIdField ShowIdFields, 17343171Sdim PdbSymbolIdField RecurseIdFields) const { 18343171Sdim NativeRawSymbol::dump(OS, Indent, ShowIdFields, RecurseIdFields); 19343171Sdim 20343171Sdim dumpSymbolIdField(OS, "lexicalParentId", 0, Indent, Session, 21343171Sdim PdbSymbolIdField::LexicalParent, ShowIdFields, 22343171Sdim RecurseIdFields); 23343171Sdim dumpSymbolField(OS, "count", getCount(), Indent); 24343171Sdim dumpSymbolField(OS, "constType", isConstType(), Indent); 25343171Sdim dumpSymbolField(OS, "unalignedType", isUnalignedType(), Indent); 26343171Sdim dumpSymbolField(OS, "volatileType", isVolatileType(), Indent); 27343171Sdim} 28343171Sdim 29343171Sdimbool NativeTypeVTShape::isConstType() const { return false; } 30343171Sdim 31343171Sdimbool NativeTypeVTShape::isVolatileType() const { return false; } 32343171Sdim 33343171Sdimbool NativeTypeVTShape::isUnalignedType() const { return false; } 34343171Sdim 35343171Sdimuint32_t NativeTypeVTShape::getCount() const { return Record.Slots.size(); } 36