#include "llvm/DebugInfo/CodeView/CVTypeVisitor.h"
#include "llvm/DebugInfo/CodeView/TypeCollection.h"
#include "llvm/DebugInfo/CodeView/TypeDeserializer.h"
#include "llvm/DebugInfo/CodeView/TypeIndex.h"
#include "llvm/DebugInfo/CodeView/TypeRecord.h"
#include "llvm/DebugInfo/CodeView/TypeVisitorCallbackPipeline.h"
#include "llvm/DebugInfo/CodeView/TypeVisitorCallbacks.h"
#include "llvm/Support/BinaryByteStream.h"
#include "llvm/Support/BinaryStreamReader.h"
usingnamespacellvm;
usingnamespacellvm::codeview;
template <typename T>
static Error visitKnownRecord(CVType &Record, TypeVisitorCallbacks &Callbacks) { … }
template <typename T>
static Error visitKnownMember(CVMemberRecord &Record,
TypeVisitorCallbacks &Callbacks) { … }
static Error visitMemberRecord(CVMemberRecord &Record,
TypeVisitorCallbacks &Callbacks) { … }
namespace {
class CVTypeVisitor { … };
CVTypeVisitor::CVTypeVisitor(TypeVisitorCallbacks &Callbacks)
: … { … }
Error CVTypeVisitor::finishVisitation(CVType &Record) { … }
Error CVTypeVisitor::visitTypeRecord(CVType &Record, TypeIndex Index) { … }
Error CVTypeVisitor::visitTypeRecord(CVType &Record) { … }
Error CVTypeVisitor::visitMemberRecord(CVMemberRecord Record) { … }
Error CVTypeVisitor::visitTypeStream(const CVTypeArray &Types) { … }
Error CVTypeVisitor::visitTypeStream(CVTypeRange Types) { … }
Error CVTypeVisitor::visitTypeStream(TypeCollection &Types) { … }
Error CVTypeVisitor::visitFieldListMemberStream(BinaryStreamReader &Reader) { … }
struct FieldListVisitHelper { … };
struct VisitHelper { … };
}
Error llvm::codeview::visitTypeRecord(CVType &Record, TypeIndex Index,
TypeVisitorCallbacks &Callbacks,
VisitorDataSource Source) { … }
Error llvm::codeview::visitTypeRecord(CVType &Record,
TypeVisitorCallbacks &Callbacks,
VisitorDataSource Source) { … }
Error llvm::codeview::visitTypeStream(const CVTypeArray &Types,
TypeVisitorCallbacks &Callbacks,
VisitorDataSource Source) { … }
Error llvm::codeview::visitTypeStream(CVTypeRange Types,
TypeVisitorCallbacks &Callbacks) { … }
Error llvm::codeview::visitTypeStream(TypeCollection &Types,
TypeVisitorCallbacks &Callbacks) { … }
Error llvm::codeview::visitMemberRecord(CVMemberRecord Record,
TypeVisitorCallbacks &Callbacks,
VisitorDataSource Source) { … }
Error llvm::codeview::visitMemberRecord(TypeLeafKind Kind,
ArrayRef<uint8_t> Record,
TypeVisitorCallbacks &Callbacks) { … }
Error llvm::codeview::visitMemberRecordStream(ArrayRef<uint8_t> FieldList,
TypeVisitorCallbacks &Callbacks) { … }