Go to the documentation of this file.
9 #ifndef LLVM_DEBUGINFO_CODEVIEW_TYPEDUMPVISITOR_H
10 #define LLVM_DEBUGINFO_CODEVIEW_TYPEDUMPVISITOR_H
22 struct CVMemberRecord;
23 struct MemberAttributes;
31 bool PrintRecordBytes)
32 : W(W), PrintRecordBytes(PrintRecordBytes), TpiTypes(TpiTypes) {}
56 #define TYPE_RECORD(EnumName, EnumVal, Name) \
57 Error visitKnownRecord(CVType &CVR, Name##Record &Record) override;
58 #define MEMBER_RECORD(EnumName, EnumVal, Name) \
59 Error visitKnownMember(CVMemberRecord &CVR, Name##Record &Record) override;
60 #define TYPE_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName)
61 #define MEMBER_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName)
62 #include "llvm/DebugInfo/CodeView/CodeViewTypes.def"
65 void printMemberAttributes(MemberAttributes
Attrs);
72 TypeCollection &getSourceTypes()
const {
73 return IpiTypes ? *IpiTypes : TpiTypes;
78 bool PrintRecordBytes =
false;
80 TypeCollection &TpiTypes;
81 TypeCollection *IpiTypes =
nullptr;
MemberAccess
Source-level access specifier. (CV_access_e)
This is an optimization pass for GlobalISel generic memory operations.
Dumper for CodeView type streams found in COFF object files and PDB files.
Error visitMemberBegin(CVMemberRecord &Record) override
Error visitTypeEnd(CVType &Record) override
void printItemIndex(StringRef FieldName, TypeIndex TI) const
MethodKind
Part of member attribute flags. (CV_methodprop_e)
Error visitUnknownMember(CVMemberRecord &Record) override
const char LLVMTargetMachineRef LLVMPassBuilderOptionsRef Options
void setIpiTypes(TypeCollection &Types)
When dumping types from an IPI stream in a PDB, a type index may refer to a type or an item ID.
Error visitMemberEnd(CVMemberRecord &Record) override
Error visitUnknownType(CVType &Record) override
Action to take on unknown types. By default, they are ignored.
void printTypeIndex(StringRef FieldName, TypeIndex TI) const
StringRef - Represent a constant reference to a string, i.e.
TypeDumpVisitor(TypeCollection &TpiTypes, ScopedPrinter *W, bool PrintRecordBytes)
Error visitTypeBegin(CVType &Record) override
Paired begin/end actions for all types.
Lightweight error class with error context and mandatory checking.
MethodOptions
Equivalent to CV_fldattr_t bitfield.