#include "llvm/DebugInfo/CodeView/TypeDumpVisitor.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/DebugInfo/CodeView/CVTypeVisitor.h"
#include "llvm/DebugInfo/CodeView/RecordSerialization.h"
#include "llvm/DebugInfo/CodeView/TypeCollection.h"
#include "llvm/DebugInfo/CodeView/TypeIndex.h"
#include "llvm/DebugInfo/CodeView/TypeRecord.h"
#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/ScopedPrinter.h"
#include "llvm/Support/raw_ostream.h"
usingnamespacellvm;
usingnamespacellvm::codeview;
static const EnumEntry<TypeLeafKind> LeafTypeNames[] = …;
#define ENUM_ENTRY …
static const EnumEntry<uint16_t> ClassOptionNames[] = …;
static const EnumEntry<uint8_t> MemberAccessNames[] = …;
static const EnumEntry<uint16_t> MethodOptionNames[] = …;
static const EnumEntry<uint16_t> MemberKindNames[] = …;
static const EnumEntry<uint8_t> PtrKindNames[] = …;
static const EnumEntry<uint8_t> PtrModeNames[] = …;
static const EnumEntry<uint16_t> PtrMemberRepNames[] = …;
static const EnumEntry<uint16_t> TypeModifierNames[] = …;
static const EnumEntry<uint8_t> CallingConventions[] = …;
static const EnumEntry<uint8_t> FunctionOptionEnum[] = …;
static const EnumEntry<uint16_t> LabelTypeEnum[] = …;
#undef ENUM_ENTRY
static StringRef getLeafTypeName(TypeLeafKind LT) { … }
void TypeDumpVisitor::printTypeIndex(StringRef FieldName, TypeIndex TI) const { … }
void TypeDumpVisitor::printItemIndex(StringRef FieldName, TypeIndex TI) const { … }
Error TypeDumpVisitor::visitTypeBegin(CVType &Record) { … }
Error TypeDumpVisitor::visitTypeBegin(CVType &Record, TypeIndex Index) { … }
Error TypeDumpVisitor::visitTypeEnd(CVType &Record) { … }
Error TypeDumpVisitor::visitMemberBegin(CVMemberRecord &Record) { … }
Error TypeDumpVisitor::visitMemberEnd(CVMemberRecord &Record) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR,
FieldListRecord &FieldList) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR, StringIdRecord &String) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR, ArgListRecord &Args) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR, StringListRecord &Strs) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR, ClassRecord &Class) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR, UnionRecord &Union) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR, EnumRecord &Enum) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR, ArrayRecord &AT) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR, VFTableRecord &VFT) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR, MemberFuncIdRecord &Id) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR, ProcedureRecord &Proc) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR, MemberFunctionRecord &MF) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR,
MethodOverloadListRecord &MethodList) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR, FuncIdRecord &Func) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR, TypeServer2Record &TS) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR, PointerRecord &Ptr) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR, ModifierRecord &Mod) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR, BitFieldRecord &BitField) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR,
VFTableShapeRecord &Shape) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR,
UdtSourceLineRecord &Line) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR,
UdtModSourceLineRecord &Line) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR, BuildInfoRecord &Args) { … }
void TypeDumpVisitor::printMemberAttributes(MemberAttributes Attrs) { … }
void TypeDumpVisitor::printMemberAttributes(MemberAccess Access,
MethodKind Kind,
MethodOptions Options) { … }
Error TypeDumpVisitor::visitUnknownMember(CVMemberRecord &Record) { … }
Error TypeDumpVisitor::visitUnknownType(CVType &Record) { … }
Error TypeDumpVisitor::visitKnownMember(CVMemberRecord &CVR,
NestedTypeRecord &Nested) { … }
Error TypeDumpVisitor::visitKnownMember(CVMemberRecord &CVR,
OneMethodRecord &Method) { … }
Error TypeDumpVisitor::visitKnownMember(CVMemberRecord &CVR,
OverloadedMethodRecord &Method) { … }
Error TypeDumpVisitor::visitKnownMember(CVMemberRecord &CVR,
DataMemberRecord &Field) { … }
Error TypeDumpVisitor::visitKnownMember(CVMemberRecord &CVR,
StaticDataMemberRecord &Field) { … }
Error TypeDumpVisitor::visitKnownMember(CVMemberRecord &CVR,
VFPtrRecord &VFTable) { … }
Error TypeDumpVisitor::visitKnownMember(CVMemberRecord &CVR,
EnumeratorRecord &Enum) { … }
Error TypeDumpVisitor::visitKnownMember(CVMemberRecord &CVR,
BaseClassRecord &Base) { … }
Error TypeDumpVisitor::visitKnownMember(CVMemberRecord &CVR,
VirtualBaseClassRecord &Base) { … }
Error TypeDumpVisitor::visitKnownMember(CVMemberRecord &CVR,
ListContinuationRecord &Cont) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR, LabelRecord &LR) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR,
PrecompRecord &Precomp) { … }
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR,
EndPrecompRecord &EndPrecomp) { … }