Go to the documentation of this file.
78 return std::string(
Tag->getName());
105 return Class->getSize();
107 return Union->getSize();
117 case TypeRecordKind::Union:
121 case TypeRecordKind::Interface:
132 return (
Tag->Options & ClassOptions::HasConstructorOrDestructor) !=
139 return (
Modifiers->Modifiers & ModifierOptions::Const) !=
147 return (
Tag->Options & ClassOptions::HasOverloadedAssignmentOperator) !=
155 return (
Tag->Options & ClassOptions::HasConversionOperator) !=
163 return (
Tag->Options & ClassOptions::ContainsNestedClass) !=
171 return (
Tag->Options & ClassOptions::HasOverloadedOperator) !=
212 return (
Modifiers->Modifiers & ModifierOptions::Unaligned) !=
219 return (
Modifiers->Modifiers & ModifierOptions::Volatile) !=
std::optional< codeview::ModifierRecord > Modifiers
bool isRefUdt() const override
This is an optimization pass for GlobalISel generic memory operations.
bool isPacked() const override
bool hasOverloadedOperator() const override
bool isConstType() const override
bool isNested() const override
PDB_UdtType
These values correspond to the UdtKind enumeration, and are documented here: https://msdn....
std::string getName() const override
bool isInterfaceUdt() const override
SymIndexId getUnmodifiedTypeId() const override
PDB_SymType
These values correspond to the SymTagEnum enumeration, and are documented here: https://msdn....
uint64_t getLength() const override
void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields, PdbSymbolIdField RecurseIdFields) const override
PDB_UdtType getUdtKind() const override
NativeTypeUDT(NativeSession &Session, SymIndexId Id, codeview::TypeIndex TI, codeview::ClassRecord Class)
This class implements an extremely fast bulk output stream that can only output to a stream.
~NativeTypeUDT() override
bool isVolatileType() const override
bool hasAssignmentOperator() const override
bool isScoped() const override
void dumpSymbolField(raw_ostream &OS, StringRef Name, T Value, int Indent)
void dumpSymbolIdField(raw_ostream &OS, StringRef Name, SymIndexId Value, int Indent, const IPDBSession &Session, PdbSymbolIdField FieldId, PdbSymbolIdField ShowFlags, PdbSymbolIdField RecurseFlags)
SymbolCache & getSymbolCache()
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
SymIndexId getSymIndexId() const override
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
std::optional< codeview::ClassRecord > Class
bool isIntrinsic() const override
SymIndexId getLexicalParentId() const override
SymIndexId findSymbolByTypeIndex(codeview::TypeIndex TI) const
constexpr std::nullopt_t None
bool hasConstructor() const override
bool hasCastOperator() const override
void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields, PdbSymbolIdField RecurseIdFields) const override
std::optional< codeview::UnionRecord > Union
SymIndexId getVirtualTableShapeId() const override
bool isUnalignedType() const override
NativeTypeUDT * UnmodifiedType
bool isValueUdt() const override
bool hasNestedTypes() const override