File indexing completed on 2026-05-10 08:43:39
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef LLVM_DEBUGINFO_CODEVIEW_CVTYPEVISITOR_H
0010 #define LLVM_DEBUGINFO_CODEVIEW_CVTYPEVISITOR_H
0011
0012 #include "llvm/ADT/ArrayRef.h"
0013 #include "llvm/DebugInfo/CodeView/CVRecord.h"
0014 #include "llvm/DebugInfo/CodeView/CodeView.h"
0015 #include "llvm/Support/Error.h"
0016
0017 namespace llvm {
0018 namespace codeview {
0019 class TypeIndex;
0020 class TypeCollection;
0021 class TypeVisitorCallbacks;
0022 struct CVMemberRecord;
0023
0024 enum VisitorDataSource {
0025 VDS_BytesPresent,
0026
0027
0028 VDS_BytesExternal
0029
0030
0031 };
0032
0033 Error visitTypeRecord(CVType &Record, TypeIndex Index,
0034 TypeVisitorCallbacks &Callbacks,
0035 VisitorDataSource Source = VDS_BytesPresent);
0036 Error visitTypeRecord(CVType &Record, TypeVisitorCallbacks &Callbacks,
0037 VisitorDataSource Source = VDS_BytesPresent);
0038
0039 Error visitMemberRecord(CVMemberRecord Record, TypeVisitorCallbacks &Callbacks,
0040 VisitorDataSource Source = VDS_BytesPresent);
0041 Error visitMemberRecord(TypeLeafKind Kind, ArrayRef<uint8_t> Record,
0042 TypeVisitorCallbacks &Callbacks);
0043
0044 Error visitMemberRecordStream(ArrayRef<uint8_t> FieldList,
0045 TypeVisitorCallbacks &Callbacks);
0046
0047 Error visitTypeStream(const CVTypeArray &Types, TypeVisitorCallbacks &Callbacks,
0048 VisitorDataSource Source = VDS_BytesPresent);
0049 Error visitTypeStream(CVTypeRange Types, TypeVisitorCallbacks &Callbacks);
0050 Error visitTypeStream(TypeCollection &Types, TypeVisitorCallbacks &Callbacks);
0051
0052 }
0053 }
0054
0055 #endif