#include "llvm/DebugInfo/CodeView/ContinuationRecordBuilder.h"
usingnamespacellvm;
usingnamespacellvm::codeview;
namespace {
struct ContinuationRecord { … };
struct SegmentInjection { … };
}
static void addPadding(BinaryStreamWriter &Writer) { … }
static SegmentInjection InjectFieldList(TypeLeafKind::LF_FIELDLIST);
static SegmentInjection InjectMethodOverloadList(TypeLeafKind::LF_METHODLIST);
static constexpr uint32_t ContinuationLength = …;
static constexpr uint32_t MaxSegmentLength = …;
static inline TypeLeafKind getTypeLeafKind(ContinuationRecordKind CK) { … }
ContinuationRecordBuilder::ContinuationRecordBuilder()
: … { … }
ContinuationRecordBuilder::~ContinuationRecordBuilder() = default;
void ContinuationRecordBuilder::begin(ContinuationRecordKind RecordKind) { … }
template <typename RecordType>
void ContinuationRecordBuilder::writeMemberType(RecordType &Record) { … }
uint32_t ContinuationRecordBuilder::getCurrentSegmentLength() const { … }
void ContinuationRecordBuilder::insertSegmentEnd(uint32_t Offset) { … }
CVType ContinuationRecordBuilder::createSegmentRecord(
uint32_t OffBegin, uint32_t OffEnd, std::optional<TypeIndex> RefersTo) { … }
std::vector<CVType> ContinuationRecordBuilder::end(TypeIndex Index) { … }
#define TYPE_RECORD …
#define TYPE_RECORD_ALIAS …
#define MEMBER_RECORD …
#define MEMBER_RECORD_ALIAS …
#include "llvm/DebugInfo/CodeView/CodeViewTypes.def"