9#ifndef LLVM_DEBUGINFO_CODEVIEW_TYPEDUMPVISITOR_H
10#define LLVM_DEBUGINFO_CODEVIEW_TYPEDUMPVISITOR_H
24struct MemberAttributes;
32 bool PrintRecordBytes)
33 : W(W), PrintRecordBytes(PrintRecordBytes), TpiTypes(TpiTypes) {}
57#define TYPE_RECORD(EnumName, EnumVal, Name) \
58 Error visitKnownRecord(CVType &CVR, Name##Record &Record) override;
59#define MEMBER_RECORD(EnumName, EnumVal, Name) \
60 Error visitKnownMember(CVMemberRecord &CVR, Name##Record &Record) override;
61#define TYPE_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName)
62#define MEMBER_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName)
63#include "llvm/DebugInfo/CodeView/CodeViewTypes.def"
66 void printMemberAttributes(MemberAttributes Attrs);
67 void printMemberAttributes(MemberAccess
Access, MethodKind Kind,
73 TypeCollection &getSourceTypes()
const {
74 return IpiTypes ? *IpiTypes : TpiTypes;
79 bool PrintRecordBytes =
false;
81 TypeCollection &TpiTypes;
82 TypeCollection *IpiTypes =
nullptr;
Lightweight error class with error context and mandatory checking.
StringRef - Represent a constant reference to a string, i.e.
Dumper for CodeView type streams found in COFF object files and PDB files.
TypeDumpVisitor(TypeCollection &TpiTypes, ScopedPrinter *W, bool PrintRecordBytes)
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.
LLVM_ABI void printTypeIndex(ScopedPrinter &Printer, StringRef FieldName, TypeIndex TI, TypeCollection &Types)
This is an optimization pass for GlobalISel generic memory operations.