LLVM
8.0.1
|
#include "llvm/DebugInfo/CodeView/ContinuationRecordBuilder.h"
Public Member Functions | |
ContinuationRecordBuilder () | |
~ContinuationRecordBuilder () | |
void | begin (ContinuationRecordKind RecordKind) |
template<typename RecordType > | |
void | writeMemberType (RecordType &Record) |
std::vector< CVType > | end (TypeIndex Index) |
Definition at line 35 of file ContinuationRecordBuilder.h.
ContinuationRecordBuilder::ContinuationRecordBuilder | ( | ) |
Definition at line 46 of file ContinuationRecordBuilder.cpp.
ContinuationRecordBuilder::~ContinuationRecordBuilder | ( | ) |
Definition at line 49 of file ContinuationRecordBuilder.cpp.
void ContinuationRecordBuilder::begin | ( | ContinuationRecordKind | RecordKind | ) |
Definition at line 51 of file ContinuationRecordBuilder.cpp.
References assert(), llvm::cantFail(), llvm::AppendingBinaryByteStream::clear(), llvm::SmallVectorImpl< T >::clear(), llvm::codeview::FieldList, llvm::BinaryStreamWriter::getLength(), llvm::BinaryStreamWriter::getOffset(), getTypeLeafKind(), llvm::Optional< T >::hasValue(), llvm::cl::Prefix, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::BinaryStreamWriter::setOffset(), llvm::codeview::CVRecord< Kind >::Type, llvm::codeview::TypeRecordMapping::visitTypeBegin(), and llvm::BinaryStreamWriter::writeObject().
Referenced by getCommonClassOptions(), and shouldAlwaysEmitCompleteClassType().
Definition at line 181 of file ContinuationRecordBuilder.cpp.
References llvm::cantFail(), getTypeLeafKind(), llvm::makeArrayRef(), llvm::SmallVectorBase::size(), llvm::codeview::CVRecord< Kind >::Type, and llvm::codeview::TypeRecordMapping::visitTypeEnd().
Referenced by llvm::codeview::AppendingTypeTableBuilder::insertRecord(), llvm::codeview::MergingTypeTableBuilder::insertRecord(), and llvm::codeview::GlobalTypeTableBuilder::insertRecord().
void ContinuationRecordBuilder::writeMemberType | ( | RecordType & | Record | ) |
Definition at line 81 of file ContinuationRecordBuilder.cpp.
References addPadding(), assert(), llvm::SmallVectorTemplateCommon< T, typename >::back(), llvm::BinaryStreamWriter::bytesRemaining(), llvm::cantFail(), ContinuationLength, llvm::Data, llvm::AppendingBinaryByteStream::data(), llvm::MutableArrayRef< T >::data(), llvm::codeview::TypeIndex::getIndex(), llvm::BinaryStreamWriter::getLength(), llvm::BinaryStreamWriter::getOffset(), getTypeLeafKind(), llvm::Optional< T >::hasValue(), llvm::AppendingBinaryByteStream::insert(), llvm::codeview::CVMemberRecord::Kind, llvm::codeview::MaxRecordLength, MaxSegmentLength, llvm::cl::Prefix, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::codeview::CVRecord< Kind >::RecordData, llvm::codeview::RecordPrefix::RecordKind, llvm::codeview::RecordPrefix::RecordLen, llvm::BinaryStreamWriter::setOffset(), llvm::ArrayRef< T >::size(), llvm::MutableArrayRef< T >::slice(), llvm::MutableArrayRef< T >::take_back(), llvm::codeview::CVRecord< Kind >::Type, llvm::codeview::TypeRecordMapping::visitMemberBegin(), llvm::codeview::TypeRecordMapping::visitMemberEnd(), and llvm::BinaryStreamWriter::writeEnum().
Referenced by getCommonClassOptions(), shouldAlwaysEmitCompleteClassType(), and llvm::CodeViewYAML::detail::MemberRecordImpl< T >::writeTo().