#include "BitcodeWriter.h"
#include "llvm/ADT/IndexedMap.h"
#include <initializer_list>
namespace clang {
namespace doc {
static const SymbolID EmptySID = …;
struct BlockIdToIndexFunctor { … };
struct RecordIdToIndexFunctor { … };
AbbrevDsc;
static void AbbrevGen(std::shared_ptr<llvm::BitCodeAbbrev> &Abbrev,
const std::initializer_list<llvm::BitCodeAbbrevOp> Ops) { … }
static void BoolAbbrev(std::shared_ptr<llvm::BitCodeAbbrev> &Abbrev) { … }
static void IntAbbrev(std::shared_ptr<llvm::BitCodeAbbrev> &Abbrev) { … }
static void SymbolIDAbbrev(std::shared_ptr<llvm::BitCodeAbbrev> &Abbrev) { … }
static void StringAbbrev(std::shared_ptr<llvm::BitCodeAbbrev> &Abbrev) { … }
static void LocationAbbrev(std::shared_ptr<llvm::BitCodeAbbrev> &Abbrev) { … }
struct RecordIdDsc { … };
static const llvm::IndexedMap<llvm::StringRef, BlockIdToIndexFunctor>
BlockIdNameMap = …::IndexedMap<llvm::StringRef, BlockIdToIndexFunctor> BlockIdNameMap;
BlockIdNameMap.resize(BlockIdCount);
static const std::vector<std::pair<BlockId, const char *const>> Inits = …const auto &Init : Inits)
BlockIdNameMap[Init.first] = …;
static const llvm::IndexedMap<RecordIdDsc, RecordIdToIndexFunctor>
RecordIdNameMap = …::IndexedMap<RecordIdDsc, RecordIdToIndexFunctor> RecordIdNameMap;
RecordIdNameMap.resize(RecordIdCount);
static const std::vector<std::pair<RecordId, RecordIdDsc>> Inits = …const auto &Init : Inits) { … }
assert(RecordIdNameMap.size() == RecordIdCount);
return RecordIdNameMap;
}();
static const std::vector<std::pair<BlockId, std::vector<RecordId>>>
RecordsByBlock{ … };
constexpr unsigned char BitCodeConstants::Signature[];
void ClangDocBitcodeWriter::AbbreviationMap::add(RecordId RID,
unsigned AbbrevID) { … }
unsigned ClangDocBitcodeWriter::AbbreviationMap::get(RecordId RID) const { … }
void ClangDocBitcodeWriter::emitHeader() { … }
void ClangDocBitcodeWriter::emitVersionBlock() { … }
void ClangDocBitcodeWriter::emitBlockID(BlockId BID) { … }
void ClangDocBitcodeWriter::emitRecordID(RecordId ID) { … }
void ClangDocBitcodeWriter::emitAbbrev(RecordId ID, BlockId Block) { … }
void ClangDocBitcodeWriter::emitRecord(const SymbolID &Sym, RecordId ID) { … }
void ClangDocBitcodeWriter::emitRecord(llvm::StringRef Str, RecordId ID) { … }
void ClangDocBitcodeWriter::emitRecord(const Location &Loc, RecordId ID) { … }
void ClangDocBitcodeWriter::emitRecord(bool Val, RecordId ID) { … }
void ClangDocBitcodeWriter::emitRecord(int Val, RecordId ID) { … }
void ClangDocBitcodeWriter::emitRecord(unsigned Val, RecordId ID) { … }
void ClangDocBitcodeWriter::emitRecord(const TemplateInfo &Templ) { … }
bool ClangDocBitcodeWriter::prepRecordData(RecordId ID, bool ShouldEmit) { … }
void ClangDocBitcodeWriter::emitBlockInfoBlock() { … }
void ClangDocBitcodeWriter::emitBlockInfo(BlockId BID,
const std::vector<RecordId> &RIDs) { … }
void ClangDocBitcodeWriter::emitBlock(const Reference &R, FieldId Field) { … }
void ClangDocBitcodeWriter::emitBlock(const TypeInfo &T) { … }
void ClangDocBitcodeWriter::emitBlock(const TypedefInfo &T) { … }
void ClangDocBitcodeWriter::emitBlock(const FieldTypeInfo &T) { … }
void ClangDocBitcodeWriter::emitBlock(const MemberTypeInfo &T) { … }
void ClangDocBitcodeWriter::emitBlock(const CommentInfo &I) { … }
void ClangDocBitcodeWriter::emitBlock(const NamespaceInfo &I) { … }
void ClangDocBitcodeWriter::emitBlock(const EnumInfo &I) { … }
void ClangDocBitcodeWriter::emitBlock(const EnumValueInfo &I) { … }
void ClangDocBitcodeWriter::emitBlock(const RecordInfo &I) { … }
void ClangDocBitcodeWriter::emitBlock(const BaseRecordInfo &I) { … }
void ClangDocBitcodeWriter::emitBlock(const FunctionInfo &I) { … }
void ClangDocBitcodeWriter::emitBlock(const TemplateInfo &T) { … }
void ClangDocBitcodeWriter::emitBlock(const TemplateSpecializationInfo &T) { … }
void ClangDocBitcodeWriter::emitBlock(const TemplateParamInfo &T) { … }
bool ClangDocBitcodeWriter::dispatchInfoForWrite(Info *I) { … }
}
}