9#ifndef LLVM_DEBUGINFO_CODEVIEW_TYPERECORDMAPPING_H
10#define LLVM_DEBUGINFO_CODEVIEW_TYPERECORDMAPPING_H
21class BinaryStreamReader;
22class BinaryStreamWriter;
33 using TypeVisitorCallbacks::visitTypeBegin;
41#define TYPE_RECORD(EnumName, EnumVal, Name) \
42 Error visitKnownRecord(CVType &CVR, Name##Record &Record) override;
43#define MEMBER_RECORD(EnumName, EnumVal, Name) \
44 Error visitKnownMember(CVMemberRecord &CVR, Name##Record &Record) override;
45#define TYPE_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName)
46#define MEMBER_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName)
47#include "llvm/DebugInfo/CodeView/CodeViewTypes.def"
50 std::optional<TypeLeafKind> TypeKind;
51 std::optional<TypeLeafKind> MemberKind;
Provides read only access to a subclass of BinaryStream.
Provides write only access to a subclass of WritableBinaryStream.
Lightweight error class with error context and mandatory checking.
TypeRecordMapping(CodeViewRecordStreamer &Streamer)
TypeRecordMapping(BinaryStreamWriter &Writer)
TypeRecordMapping(BinaryStreamReader &Reader)
This is an optimization pass for GlobalISel generic memory operations.