LLVM 20.0.0git
NativeTypeVTShape.cpp
Go to the documentation of this file.
5
6using namespace llvm;
7using namespace llvm::pdb;
8
9// Create a pointer record for a non-simple type.
13 : NativeRawSymbol(Session, PDB_SymType::VTableShape, Id), TI(TI),
14 Record(std::move(SR)) {}
15
17
19 PdbSymbolIdField ShowIdFields,
20 PdbSymbolIdField RecurseIdFields) const {
21 NativeRawSymbol::dump(OS, Indent, ShowIdFields, RecurseIdFields);
22
23 dumpSymbolIdField(OS, "lexicalParentId", 0, Indent, Session,
25 RecurseIdFields);
26 dumpSymbolField(OS, "count", getCount(), Indent);
27 dumpSymbolField(OS, "constType", isConstType(), Indent);
28 dumpSymbolField(OS, "unalignedType", isUnalignedType(), Indent);
29 dumpSymbolField(OS, "volatileType", isVolatileType(), Indent);
30}
31
32bool NativeTypeVTShape::isConstType() const { return false; }
33
34bool NativeTypeVTShape::isVolatileType() const { return false; }
35
36bool NativeTypeVTShape::isUnalignedType() const { return false; }
37
38uint32_t NativeTypeVTShape::getCount() const { return Record.Slots.size(); }
raw_pwrite_stream & OS
A 32-bit type reference.
Definition: TypeIndex.h:96
void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields, PdbSymbolIdField RecurseIdFields) const override
void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields, PdbSymbolIdField RecurseIdFields) const override
bool isUnalignedType() const override
bool isConstType() const override
NativeTypeVTShape(NativeSession &Session, SymIndexId Id, codeview::TypeIndex TI, codeview::VFTableShapeRecord SR)
bool isVolatileType() const override
uint32_t getCount() const override
This class implements an extremely fast bulk output stream that can only output to a stream.
Definition: raw_ostream.h:52
void dumpSymbolField(raw_ostream &OS, StringRef Name, T Value, int Indent)
Definition: PDBExtras.h:47
PDB_SymType
These values correspond to the SymTagEnum enumeration, and are documented here: https://msdn....
Definition: PDBTypes.h:243
void dumpSymbolIdField(raw_ostream &OS, StringRef Name, SymIndexId Value, int Indent, const IPDBSession &Session, PdbSymbolIdField FieldId, PdbSymbolIdField ShowFlags, PdbSymbolIdField RecurseFlags)
Definition: PDBSymbol.cpp:202
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
Definition: STLExtras.h:1856
Implement std::hash so that hash_code can be used in STL containers.
Definition: BitVector.h:858