clang-tools 22.0.0git
BitcodeReader.cpp File Reference
#include "BitcodeReader.h"
#include "llvm/ADT/IndexedMap.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/TimeProfiler.h"
#include "llvm/Support/raw_ostream.h"
#include <optional>

Go to the source code of this file.

Namespaces

namespace  clang
 ===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
namespace  clang::doc

Typedefs

using clang::doc::Record = llvm::SmallVector<uint64_t, 1024>

Functions

static llvm::Error clang::doc::decodeRecord (const Record &R, llvm::SmallVectorImpl< char > &Field, llvm::StringRef Blob)
static llvm::Error clang::doc::decodeRecord (const Record &R, SymbolID &Field, llvm::StringRef Blob)
static llvm::Error clang::doc::decodeRecord (const Record &R, bool &Field, llvm::StringRef Blob)
static llvm::Error clang::doc::decodeRecord (const Record &R, AccessSpecifier &Field, llvm::StringRef Blob)
static llvm::Error clang::doc::decodeRecord (const Record &R, TagTypeKind &Field, llvm::StringRef Blob)
static llvm::Error clang::doc::decodeRecord (const Record &R, std::optional< Location > &Field, llvm::StringRef Blob)
static llvm::Error clang::doc::decodeRecord (const Record &R, InfoType &Field, llvm::StringRef Blob)
static llvm::Error clang::doc::decodeRecord (const Record &R, FieldId &Field, llvm::StringRef Blob)
static llvm::Error clang::doc::decodeRecord (const Record &R, llvm::SmallVectorImpl< llvm::SmallString< 16 > > &Field, llvm::StringRef Blob)
static llvm::Error clang::doc::decodeRecord (const Record &R, llvm::SmallVectorImpl< Location > &Field, llvm::StringRef Blob)
static llvm::Error clang::doc::parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, const unsigned VersionNo)
static llvm::Error clang::doc::parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, NamespaceInfo *I)
static llvm::Error clang::doc::parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, RecordInfo *I)
static llvm::Error clang::doc::parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, BaseRecordInfo *I)
static llvm::Error clang::doc::parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, EnumInfo *I)
static llvm::Error clang::doc::parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, TypedefInfo *I)
static llvm::Error clang::doc::parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, EnumValueInfo *I)
static llvm::Error clang::doc::parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, FunctionInfo *I)
static llvm::Error clang::doc::parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, TypeInfo *I)
static llvm::Error clang::doc::parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, FieldTypeInfo *I)
static llvm::Error clang::doc::parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, MemberTypeInfo *I)
static llvm::Error clang::doc::parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, CommentInfo *I)
static llvm::Error clang::doc::parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, Reference *I, FieldId &F)
static llvm::Error clang::doc::parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, TemplateInfo *I)
static llvm::Error clang::doc::parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, TemplateSpecializationInfo *I)
static llvm::Error clang::doc::parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, TemplateParamInfo *I)
static llvm::Error clang::doc::parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, ConceptInfo *I)
static llvm::Error clang::doc::parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, ConstraintInfo *I)
static llvm::Error clang::doc::parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, VarInfo *I)
static llvm::Error clang::doc::parseRecord (const Record &R, unsigned ID, StringRef Blob, FriendInfo *F)
template<typename T>
static llvm::Expected< CommentInfo * > clang::doc::getCommentInfo (T I)
template<>
llvm::Expected< CommentInfo * > clang::doc::getCommentInfo (FunctionInfo *I)
template<>
llvm::Expected< CommentInfo * > clang::doc::getCommentInfo (NamespaceInfo *I)
template<>
llvm::Expected< CommentInfo * > clang::doc::getCommentInfo (RecordInfo *I)
template<>
llvm::Expected< CommentInfo * > clang::doc::getCommentInfo (MemberTypeInfo *I)
template<>
llvm::Expected< CommentInfo * > clang::doc::getCommentInfo (EnumInfo *I)
template<>
llvm::Expected< CommentInfo * > clang::doc::getCommentInfo (TypedefInfo *I)
template<>
llvm::Expected< CommentInfo * > clang::doc::getCommentInfo (EnumValueInfo *I)
template<>
llvm::Expected< CommentInfo * > clang::doc::getCommentInfo (CommentInfo *I)
template<>
llvm::Expected< CommentInfo * > clang::doc::getCommentInfo (ConceptInfo *I)
template<>
Expected< CommentInfo * > clang::doc::getCommentInfo (VarInfo *I)
template<typename T, typename TTypeInfo>
static llvm::Error clang::doc::addTypeInfo (T I, TTypeInfo &&TI)
template<>
llvm::Error clang::doc::addTypeInfo (RecordInfo *I, MemberTypeInfo &&T)
template<>
llvm::Error clang::doc::addTypeInfo (BaseRecordInfo *I, MemberTypeInfo &&T)
template<>
llvm::Error clang::doc::addTypeInfo (FunctionInfo *I, TypeInfo &&T)
template<>
llvm::Error clang::doc::addTypeInfo (FunctionInfo *I, FieldTypeInfo &&T)
template<>
llvm::Error clang::doc::addTypeInfo (FriendInfo *I, FieldTypeInfo &&T)
template<>
llvm::Error clang::doc::addTypeInfo (FriendInfo *I, TypeInfo &&T)
template<>
llvm::Error clang::doc::addTypeInfo (EnumInfo *I, TypeInfo &&T)
template<>
llvm::Error clang::doc::addTypeInfo (TypedefInfo *I, TypeInfo &&T)
template<>
llvm::Error clang::doc::addTypeInfo (VarInfo *I, TypeInfo &&T)
template<typename T>
static llvm::Error clang::doc::addReference (T I, Reference &&R, FieldId F)
template<>
llvm::Error clang::doc::addReference (VarInfo *I, Reference &&R, FieldId F)
template<>
llvm::Error clang::doc::addReference (TypeInfo *I, Reference &&R, FieldId F)
template<>
llvm::Error clang::doc::addReference (FieldTypeInfo *I, Reference &&R, FieldId F)
template<>
llvm::Error clang::doc::addReference (MemberTypeInfo *I, Reference &&R, FieldId F)
template<>
llvm::Error clang::doc::addReference (EnumInfo *I, Reference &&R, FieldId F)
template<>
llvm::Error clang::doc::addReference (TypedefInfo *I, Reference &&R, FieldId F)
template<>
llvm::Error clang::doc::addReference (NamespaceInfo *I, Reference &&R, FieldId F)
template<>
llvm::Error clang::doc::addReference (FunctionInfo *I, Reference &&R, FieldId F)
template<>
llvm::Error clang::doc::addReference (RecordInfo *I, Reference &&R, FieldId F)
template<>
llvm::Error clang::doc::addReference (ConstraintInfo *I, Reference &&R, FieldId F)
template<>
llvm::Error clang::doc::addReference (FriendInfo *Friend, Reference &&R, FieldId F)
template<typename T, typename ChildInfoType>
static void clang::doc::addChild (T I, ChildInfoType &&R)
template<>
void clang::doc::addChild (NamespaceInfo *I, FunctionInfo &&R)
template<>
void clang::doc::addChild (NamespaceInfo *I, EnumInfo &&R)
template<>
void clang::doc::addChild (NamespaceInfo *I, TypedefInfo &&R)
template<>
void clang::doc::addChild (NamespaceInfo *I, ConceptInfo &&R)
template<>
void clang::doc::addChild (NamespaceInfo *I, VarInfo &&R)
template<>
void clang::doc::addChild (RecordInfo *I, FunctionInfo &&R)
template<>
void clang::doc::addChild (RecordInfo *I, EnumInfo &&R)
template<>
void clang::doc::addChild (RecordInfo *I, TypedefInfo &&R)
template<>
void clang::doc::addChild (RecordInfo *I, FriendInfo &&R)
template<>
void clang::doc::addChild (EnumInfo *I, EnumValueInfo &&R)
template<>
void clang::doc::addChild (RecordInfo *I, BaseRecordInfo &&R)
template<>
void clang::doc::addChild (BaseRecordInfo *I, FunctionInfo &&R)
template<typename T>
static void clang::doc::addTemplateParam (T I, TemplateParamInfo &&P)
template<>
void clang::doc::addTemplateParam (TemplateInfo *I, TemplateParamInfo &&P)
template<>
void clang::doc::addTemplateParam (TemplateSpecializationInfo *I, TemplateParamInfo &&P)
template<typename T>
static void clang::doc::addTemplate (T I, TemplateInfo &&P)
template<>
void clang::doc::addTemplate (RecordInfo *I, TemplateInfo &&P)
template<>
void clang::doc::addTemplate (FunctionInfo *I, TemplateInfo &&P)
template<>
void clang::doc::addTemplate (ConceptInfo *I, TemplateInfo &&P)
template<>
void clang::doc::addTemplate (FriendInfo *I, TemplateInfo &&P)
template<typename T>
static void clang::doc::addTemplateSpecialization (T I, TemplateSpecializationInfo &&TSI)
template<>
void clang::doc::addTemplateSpecialization (TemplateInfo *I, TemplateSpecializationInfo &&TSI)
template<typename T>
static void clang::doc::addConstraint (T I, ConstraintInfo &&C)
template<>
void clang::doc::addConstraint (TemplateInfo *I, ConstraintInfo &&C)