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

Go to the source code of this file.

Classes

struct  clang::doc::has_description< typename, typename >
struct  clang::doc::has_description< T, std::void_t< decltype(std::declval< T >().Description)> >
struct  clang::doc::has_children< T, typename >
struct  clang::doc::has_children< T, std::void_t< decltype(std::declval< T >().Children)> >
struct  clang::doc::is_valid_child< TargetChild, typename >
struct  clang::doc::is_valid_child< TargetChild, std::void_t< decltype(getList(std::declval< ScopeChildren & >(), std::declval< TargetChild * >()))> >

Namespaces

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

Typedefs

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

Functions

static llvm::ExitOnError clang::doc::ExitOnErr ("clang-doc error: ")
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, llvm::StringRef &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, OwningVec< 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, llvm::SmallVectorImpl< StringRef > &AttrKeys, llvm::SmallVectorImpl< StringRef > &AttrValues, llvm::SmallVectorImpl< StringRef > &Args)
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)
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<typename T, typename TTypeInfo>
static llvm::Error clang::doc::addTypeInfo (T I, TTypeInfo &&TI)
template<>
llvm::Error clang::doc::addTypeInfo (FunctionInfo *I, TypeInfo &&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<>
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)
static auto & clang::doc::getList (ScopeChildren &C, FunctionInfo *)
static auto & clang::doc::getList (ScopeChildren &C, EnumInfo *)
static auto & clang::doc::getList (ScopeChildren &C, TypedefInfo *)
static auto & clang::doc::getList (ScopeChildren &C, ConceptInfo *)
static auto & clang::doc::getList (ScopeChildren &C, VarInfo *)
template<typename Target, typename Child>
static void clang::doc::addChild (Target I, Child &&R)
template<typename T>
static void clang::doc::addTemplateParam (T 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<>
void clang::doc::addTemplate (TypedefInfo *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)