LLVM  10.0.0svn
NativeTypeVTShape.cpp
Go to the documentation of this file.
2 
3 using namespace llvm;
4 using namespace llvm::pdb;
5 
6 // Create a pointer record for a non-simple type.
10  : NativeRawSymbol(Session, PDB_SymType::VTableShape, Id), TI(TI),
11  Record(std::move(SR)) {}
12 
14 
15 void NativeTypeVTShape::dump(raw_ostream &OS, int Indent,
16  PdbSymbolIdField ShowIdFields,
17  PdbSymbolIdField RecurseIdFields) const {
18  NativeRawSymbol::dump(OS, Indent, ShowIdFields, RecurseIdFields);
19 
20  dumpSymbolIdField(OS, "lexicalParentId", 0, Indent, Session,
21  PdbSymbolIdField::LexicalParent, ShowIdFields,
22  RecurseIdFields);
23  dumpSymbolField(OS, "count", getCount(), Indent);
24  dumpSymbolField(OS, "constType", isConstType(), Indent);
25  dumpSymbolField(OS, "unalignedType", isUnalignedType(), Indent);
26  dumpSymbolField(OS, "volatileType", isVolatileType(), Indent);
27 }
28 
29 bool NativeTypeVTShape::isConstType() const { return false; }
30 
31 bool NativeTypeVTShape::isVolatileType() const { return false; }
32 
33 bool NativeTypeVTShape::isUnalignedType() const { return false; }
34 
35 uint32_t NativeTypeVTShape::getCount() const { return Record.Slots.size(); }
This class represents lattice values for constants.
Definition: AllocatorList.h:23
void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields, PdbSymbolIdField RecurseIdFields) const override
bool isConstType() const override
NativeTypeVTShape(NativeSession &Session, SymIndexId Id, codeview::TypeIndex TI, codeview::VFTableShapeRecord SR)
Definition: BitVector.h:937
A 32-bit type reference.
Definition: TypeIndex.h:95
PDB_SymType
These values correspond to the SymTagEnum enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/bkedss5f.aspx.
Definition: PDBTypes.h:241
void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields, PdbSymbolIdField RecurseIdFields) const override
void dumpSymbolField(raw_ostream &OS, StringRef Name, T Value, int Indent)
Definition: PDBExtras.h:48
void dumpSymbolIdField(raw_ostream &OS, StringRef Name, SymIndexId Value, int Indent, const IPDBSession &Session, PdbSymbolIdField FieldId, PdbSymbolIdField ShowFlags, PdbSymbolIdField RecurseFlags)
Definition: PDBSymbol.cpp:185
uint32_t getCount() const override
bool isUnalignedType() const override
This class implements an extremely fast bulk output stream that can only output to a stream...
Definition: raw_ostream.h:45
bool isVolatileType() const override