9#ifndef LLVM_DEBUGINFO_CODEVIEW_TYPEVISITORCALLBACKS_H
10#define LLVM_DEBUGINFO_CODEVIEW_TYPEVISITORCALLBACKS_H
49#define TYPE_RECORD(EnumName, EnumVal, Name) \
50 virtual Error visitKnownRecord(CVType &CVR, Name##Record &Record) { \
51 return Error::success(); \
53#define MEMBER_RECORD(EnumName, EnumVal, Name) \
54 virtual Error visitKnownMember(CVMemberRecord &CVM, Name##Record &Record) { \
55 return Error::success(); \
58#define TYPE_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName)
59#define MEMBER_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName)
60#include "llvm/DebugInfo/CodeView/CodeViewTypes.def"
62#undef TYPE_RECORD_ALIAS
64#undef MEMBER_RECORD_ALIAS
Lightweight error class with error context and mandatory checking.
static ErrorSuccess success()
Create a success value.
virtual Error visitUnknownMember(CVMemberRecord &Record)
virtual Error visitUnknownType(CVType &Record)
Action to take on unknown types. By default, they are ignored.
virtual Error visitTypeBegin(CVType &Record, TypeIndex Index)
virtual Error visitTypeEnd(CVType &Record)
virtual Error visitMemberEnd(CVMemberRecord &Record)
virtual ~TypeVisitorCallbacks()=default
virtual Error visitMemberBegin(CVMemberRecord &Record)
virtual Error visitTypeBegin(CVType &Record)
Paired begin/end actions for all types.
This is an optimization pass for GlobalISel generic memory operations.