77 return std::string(
Tag->getName());
94 return Session.getSymbolCache().findSymbolByTypeIndex(
Class->VTableShape);
104 return Class->getSize();
106 return Union->getSize();
114 case TypeRecordKind::Class:
116 case TypeRecordKind::Union:
118 case TypeRecordKind::Struct:
120 case TypeRecordKind::Interface:
NativeRawSymbol(NativeSession &PDBSession, PDB_SymType Tag, SymIndexId SymbolId)
void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields, PdbSymbolIdField RecurseIdFields) const override
PDB_UdtType getUdtKind() const override
SymIndexId getVirtualTableShapeId() const override
bool hasNestedTypes() const override
bool isPacked() const override
bool isRefUdt() const override
bool isUnalignedType() const override
uint64_t getLength() const override
bool isVolatileType() const override
bool isValueUdt() const override
void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields, PdbSymbolIdField RecurseIdFields) const override
bool isScoped() const override
NativeTypeUDT * UnmodifiedType
~NativeTypeUDT() override
SymIndexId getUnmodifiedTypeId() const override
NativeTypeUDT(NativeSession &Session, SymIndexId Id, codeview::TypeIndex TI, codeview::ClassRecord Class)
SymIndexId getLexicalParentId() const override
std::optional< codeview::UnionRecord > Union
std::optional< codeview::ClassRecord > Class
bool hasAssignmentOperator() const override
bool hasCastOperator() const override
std::optional< codeview::ModifierRecord > Modifiers
codeview::TagRecord * Tag
bool hasConstructor() const override
std::string getName() const override
codeview::TypeIndex Index
bool isConstType() const override
bool hasOverloadedOperator() const override
bool isNested() const override
bool isIntrinsic() const override
bool isInterfaceUdt() const override
This class implements an extremely fast bulk output stream that can only output to a stream.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
@ HasConstructorOrDestructor
@ HasOverloadedAssignmentOperator
void dumpSymbolField(raw_ostream &OS, StringRef Name, T Value, int Indent)
PDB_UdtType
These values correspond to the UdtKind enumeration, and are documented here: https://msdn....
PDB_SymType
These values correspond to the SymTagEnum enumeration, and are documented here: https://msdn....
LLVM_ABI void dumpSymbolIdField(raw_ostream &OS, StringRef Name, SymIndexId Value, int Indent, const IPDBSession &Session, PdbSymbolIdField FieldId, PdbSymbolIdField ShowFlags, PdbSymbolIdField RecurseFlags)
This is an optimization pass for GlobalISel generic memory operations.
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
Implement std::hash so that hash_code can be used in STL containers.