Go to the documentation of this file.
9 #ifndef LLVM_DEBUGINFO_CODEVIEW_TYPERECORDMAPPING_H
10 #define LLVM_DEBUGINFO_CODEVIEW_TYPERECORDMAPPING_H
20 class BinaryStreamReader;
21 class BinaryStreamWriter;
25 struct CVMemberRecord;
40 #define TYPE_RECORD(EnumName, EnumVal, Name) \
41 Error visitKnownRecord(CVType &CVR, Name##Record &Record) override;
42 #define MEMBER_RECORD(EnumName, EnumVal, Name) \
43 Error visitKnownMember(CVMemberRecord &CVR, Name##Record &Record) override;
44 #define TYPE_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName)
45 #define MEMBER_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName)
46 #include "llvm/DebugInfo/CodeView/CodeViewTypes.def"
49 std::optional<TypeLeafKind> TypeKind;
50 std::optional<TypeLeafKind> MemberKind;
This is an optimization pass for GlobalISel generic memory operations.
Provides write only access to a subclass of WritableBinaryStream.
TypeRecordMapping(BinaryStreamReader &Reader)
Error visitTypeEnd(CVType &Record) override
Error visitMemberEnd(CVMemberRecord &Record) override
TypeRecordMapping(CodeViewRecordStreamer &Streamer)
Provides read only access to a subclass of BinaryStream.
Error visitTypeBegin(CVType &Record) override
Paired begin/end actions for all types.
Error visitMemberBegin(CVMemberRecord &Record) override
TypeRecordMapping(BinaryStreamWriter &Writer)
Lightweight error class with error context and mandatory checking.
virtual Error visitTypeBegin(CVType &Record)
Paired begin/end actions for all types.