File indexing completed on 2026-05-10 08:43:45
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef LLVM_DEBUGINFO_PDB_NATIVE_NATIVETYPEVTSHAPE_H
0010 #define LLVM_DEBUGINFO_PDB_NATIVE_NATIVETYPEVTSHAPE_H
0011
0012 #include "llvm/DebugInfo/CodeView/TypeIndex.h"
0013 #include "llvm/DebugInfo/CodeView/TypeRecord.h"
0014 #include "llvm/DebugInfo/PDB/IPDBRawSymbol.h"
0015 #include "llvm/DebugInfo/PDB/Native/NativeRawSymbol.h"
0016 #include "llvm/DebugInfo/PDB/PDBTypes.h"
0017
0018 namespace llvm {
0019 namespace pdb {
0020 class NativeSession;
0021
0022 class NativeTypeVTShape : public NativeRawSymbol {
0023 public:
0024
0025 NativeTypeVTShape(NativeSession &Session, SymIndexId Id,
0026 codeview::TypeIndex TI, codeview::VFTableShapeRecord SR);
0027
0028 ~NativeTypeVTShape() override;
0029
0030 void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields,
0031 PdbSymbolIdField RecurseIdFields) const override;
0032
0033 bool isConstType() const override;
0034 bool isVolatileType() const override;
0035 bool isUnalignedType() const override;
0036 uint32_t getCount() const override;
0037
0038 protected:
0039 codeview::TypeIndex TI;
0040 codeview::VFTableShapeRecord Record;
0041 };
0042
0043 }
0044 }
0045
0046 #endif