clang-tools 22.0.0git
clang::doc Namespace Reference

Namespaces

namespace  serialize

Classes

struct  BaseRecordInfo
struct  BitCodeConstants
struct  BlockIdToIndexFunctor
class  ClangDocBitcodeReader
class  ClangDocBitcodeWriter
struct  ClangDocContext
struct  CommentInfo
struct  ConceptInfo
struct  ConstraintInfo
struct  EnumInfo
struct  EnumValueInfo
struct  FieldTypeInfo
struct  FriendInfo
struct  FunctionInfo
class  Generator
class  HTMLGenerator
struct  Index
struct  Info
 A base struct for Infos. More...
class  JSONGenerator
struct  Location
class  MapASTVisitor
class  MapperActionFactory
class  MDGenerator
 Generator for Markdown documentation. More...
struct  MemberTypeInfo
struct  MustacheGenerator
class  MustacheTemplateFile
struct  NamespaceInfo
struct  RecordIdDsc
struct  RecordIdToIndexFunctor
struct  RecordInfo
struct  Reference
struct  ScopeChildren
struct  SymbolInfo
struct  TemplateInfo
struct  TemplateParamInfo
struct  TemplateSpecializationInfo
struct  TypedefInfo
struct  TypeInfo
struct  VarInfo
class  YAMLGenerator
 Generator for YAML documentation. More...

Typedefs

using Record = llvm::SmallVector<uint64_t, 1024>
using AbbrevDsc = void (*)(std::shared_ptr<llvm::BitCodeAbbrev> &Abbrev)
typedef llvm::Registry< GeneratorGeneratorRegistry
using SymbolID = std::array<uint8_t, 20>

Enumerations

enum  BlockId {
  BI_VERSION_BLOCK_ID = llvm::bitc::FIRST_APPLICATION_BLOCKID , BI_NAMESPACE_BLOCK_ID , BI_ENUM_BLOCK_ID , BI_ENUM_VALUE_BLOCK_ID ,
  BI_TYPE_BLOCK_ID , BI_FIELD_TYPE_BLOCK_ID , BI_MEMBER_TYPE_BLOCK_ID , BI_RECORD_BLOCK_ID ,
  BI_BASE_RECORD_BLOCK_ID , BI_FUNCTION_BLOCK_ID , BI_COMMENT_BLOCK_ID , BI_REFERENCE_BLOCK_ID ,
  BI_TEMPLATE_BLOCK_ID , BI_TEMPLATE_SPECIALIZATION_BLOCK_ID , BI_TEMPLATE_PARAM_BLOCK_ID , BI_CONSTRAINT_BLOCK_ID ,
  BI_TYPEDEF_BLOCK_ID , BI_CONCEPT_BLOCK_ID , BI_VAR_BLOCK_ID , BI_FRIEND_BLOCK_ID ,
  BI_LAST , BI_FIRST = BI_VERSION_BLOCK_ID
}
enum  RecordId {
  VERSION = 1 , FUNCTION_USR , FUNCTION_NAME , FUNCTION_DEFLOCATION ,
  FUNCTION_LOCATION , FUNCTION_ACCESS , FUNCTION_IS_METHOD , FUNCTION_IS_STATIC ,
  COMMENT_KIND , COMMENT_TEXT , COMMENT_NAME , COMMENT_DIRECTION ,
  COMMENT_PARAMNAME , COMMENT_CLOSENAME , COMMENT_SELFCLOSING , COMMENT_EXPLICIT ,
  COMMENT_ATTRKEY , COMMENT_ATTRVAL , COMMENT_ARG , TYPE_IS_BUILTIN ,
  TYPE_IS_TEMPLATE , FIELD_TYPE_NAME , FIELD_DEFAULT_VALUE , FIELD_TYPE_IS_BUILTIN ,
  FIELD_TYPE_IS_TEMPLATE , MEMBER_TYPE_NAME , MEMBER_TYPE_ACCESS , MEMBER_TYPE_IS_STATIC ,
  MEMBER_TYPE_IS_BUILTIN , MEMBER_TYPE_IS_TEMPLATE , NAMESPACE_USR , NAMESPACE_NAME ,
  NAMESPACE_PATH , ENUM_USR , ENUM_NAME , ENUM_DEFLOCATION ,
  ENUM_LOCATION , ENUM_SCOPED , ENUM_VALUE_NAME , ENUM_VALUE_VALUE ,
  ENUM_VALUE_EXPR , RECORD_USR , RECORD_NAME , RECORD_PATH ,
  RECORD_DEFLOCATION , RECORD_LOCATION , RECORD_TAG_TYPE , RECORD_IS_TYPE_DEF ,
  RECORD_MANGLED_NAME , BASE_RECORD_USR , BASE_RECORD_NAME , BASE_RECORD_PATH ,
  BASE_RECORD_TAG_TYPE , BASE_RECORD_IS_VIRTUAL , BASE_RECORD_ACCESS , BASE_RECORD_IS_PARENT ,
  REFERENCE_USR , REFERENCE_NAME , REFERENCE_QUAL_NAME , REFERENCE_TYPE ,
  REFERENCE_PATH , REFERENCE_FIELD , REFERENCE_FILE , TEMPLATE_PARAM_CONTENTS ,
  TEMPLATE_SPECIALIZATION_OF , TYPEDEF_USR , TYPEDEF_NAME , TYPEDEF_DEFLOCATION ,
  TYPEDEF_IS_USING , CONCEPT_USR , CONCEPT_NAME , CONCEPT_IS_TYPE ,
  CONCEPT_CONSTRAINT_EXPRESSION , CONSTRAINT_EXPRESSION , VAR_USR , VAR_NAME ,
  VAR_DEFLOCATION , VAR_IS_STATIC , FRIEND_IS_CLASS , RI_LAST ,
  RI_FIRST = VERSION
}
enum class  FieldId {
  F_default , F_namespace , F_parent , F_vparent ,
  F_type , F_child_namespace , F_child_record , F_concept ,
  F_friend
}
enum class  InfoType {
  IT_default , IT_namespace , IT_record , IT_function ,
  IT_enum , IT_typedef , IT_concept , IT_variable ,
  IT_friend
}
enum class  CommentKind {
  CK_FullComment , CK_ParagraphComment , CK_TextComment , CK_InlineCommandComment ,
  CK_HTMLStartTagComment , CK_HTMLEndTagComment , CK_BlockCommandComment , CK_ParamCommandComment ,
  CK_TParamCommandComment , CK_VerbatimBlockComment , CK_VerbatimBlockLineComment , CK_VerbatimLineComment ,
  CK_Unknown
}

Functions

static llvm::ExitOnError ExitOnErr ("clang-doc error: ")
static llvm::Error decodeRecord (const Record &R, llvm::SmallVectorImpl< char > &Field, llvm::StringRef Blob)
static llvm::Error decodeRecord (const Record &R, SymbolID &Field, llvm::StringRef Blob)
static llvm::Error decodeRecord (const Record &R, bool &Field, llvm::StringRef Blob)
static llvm::Error decodeRecord (const Record &R, AccessSpecifier &Field, llvm::StringRef Blob)
static llvm::Error decodeRecord (const Record &R, TagTypeKind &Field, llvm::StringRef Blob)
static llvm::Error decodeRecord (const Record &R, std::optional< Location > &Field, llvm::StringRef Blob)
static llvm::Error decodeRecord (const Record &R, InfoType &Field, llvm::StringRef Blob)
static llvm::Error decodeRecord (const Record &R, FieldId &Field, llvm::StringRef Blob)
static llvm::Error decodeRecord (const Record &R, llvm::SmallVectorImpl< llvm::SmallString< 16 > > &Field, llvm::StringRef Blob)
static llvm::Error decodeRecord (const Record &R, llvm::SmallVectorImpl< Location > &Field, llvm::StringRef Blob)
static llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, const unsigned VersionNo)
static llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, NamespaceInfo *I)
static llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, RecordInfo *I)
static llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, BaseRecordInfo *I)
static llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, EnumInfo *I)
static llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, TypedefInfo *I)
static llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, EnumValueInfo *I)
static llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, FunctionInfo *I)
static llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, TypeInfo *I)
static llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, FieldTypeInfo *I)
static llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, MemberTypeInfo *I)
static llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, CommentInfo *I)
static llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, Reference *I, FieldId &F)
static llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, TemplateInfo *I)
static llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, TemplateSpecializationInfo *I)
static llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, TemplateParamInfo *I)
static llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, ConceptInfo *I)
static llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, ConstraintInfo *I)
static llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob, VarInfo *I)
static llvm::Error parseRecord (const Record &R, unsigned ID, StringRef Blob, FriendInfo *F)
template<typename T>
static llvm::Expected< CommentInfo * > getCommentInfo (T I)
template<>
llvm::Expected< CommentInfo * > getCommentInfo (FunctionInfo *I)
template<>
llvm::Expected< CommentInfo * > getCommentInfo (NamespaceInfo *I)
template<>
llvm::Expected< CommentInfo * > getCommentInfo (RecordInfo *I)
template<>
llvm::Expected< CommentInfo * > getCommentInfo (MemberTypeInfo *I)
template<>
llvm::Expected< CommentInfo * > getCommentInfo (EnumInfo *I)
template<>
llvm::Expected< CommentInfo * > getCommentInfo (TypedefInfo *I)
template<>
llvm::Expected< CommentInfo * > getCommentInfo (EnumValueInfo *I)
template<>
llvm::Expected< CommentInfo * > getCommentInfo (CommentInfo *I)
template<>
llvm::Expected< CommentInfo * > getCommentInfo (ConceptInfo *I)
template<>
Expected< CommentInfo * > getCommentInfo (VarInfo *I)
template<typename T, typename TTypeInfo>
static llvm::Error addTypeInfo (T I, TTypeInfo &&TI)
template<>
llvm::Error addTypeInfo (RecordInfo *I, MemberTypeInfo &&T)
template<>
llvm::Error addTypeInfo (BaseRecordInfo *I, MemberTypeInfo &&T)
template<>
llvm::Error addTypeInfo (FunctionInfo *I, TypeInfo &&T)
template<>
llvm::Error addTypeInfo (FunctionInfo *I, FieldTypeInfo &&T)
template<>
llvm::Error addTypeInfo (FriendInfo *I, FieldTypeInfo &&T)
template<>
llvm::Error addTypeInfo (FriendInfo *I, TypeInfo &&T)
template<>
llvm::Error addTypeInfo (EnumInfo *I, TypeInfo &&T)
template<>
llvm::Error addTypeInfo (TypedefInfo *I, TypeInfo &&T)
template<>
llvm::Error addTypeInfo (VarInfo *I, TypeInfo &&T)
template<typename T>
static llvm::Error addReference (T I, Reference &&R, FieldId F)
template<>
llvm::Error addReference (VarInfo *I, Reference &&R, FieldId F)
template<>
llvm::Error addReference (TypeInfo *I, Reference &&R, FieldId F)
template<>
llvm::Error addReference (FieldTypeInfo *I, Reference &&R, FieldId F)
template<>
llvm::Error addReference (MemberTypeInfo *I, Reference &&R, FieldId F)
template<>
llvm::Error addReference (EnumInfo *I, Reference &&R, FieldId F)
template<>
llvm::Error addReference (TypedefInfo *I, Reference &&R, FieldId F)
template<>
llvm::Error addReference (NamespaceInfo *I, Reference &&R, FieldId F)
template<>
llvm::Error addReference (FunctionInfo *I, Reference &&R, FieldId F)
template<>
llvm::Error addReference (RecordInfo *I, Reference &&R, FieldId F)
template<>
llvm::Error addReference (ConstraintInfo *I, Reference &&R, FieldId F)
template<>
llvm::Error addReference (FriendInfo *Friend, Reference &&R, FieldId F)
template<typename T, typename ChildInfoType>
static void addChild (T I, ChildInfoType &&R)
template<>
void addChild (NamespaceInfo *I, FunctionInfo &&R)
template<>
void addChild (NamespaceInfo *I, EnumInfo &&R)
template<>
void addChild (NamespaceInfo *I, TypedefInfo &&R)
template<>
void addChild (NamespaceInfo *I, ConceptInfo &&R)
template<>
void addChild (NamespaceInfo *I, VarInfo &&R)
template<>
void addChild (RecordInfo *I, FunctionInfo &&R)
template<>
void addChild (RecordInfo *I, EnumInfo &&R)
template<>
void addChild (RecordInfo *I, TypedefInfo &&R)
template<>
void addChild (RecordInfo *I, FriendInfo &&R)
template<>
void addChild (EnumInfo *I, EnumValueInfo &&R)
template<>
void addChild (RecordInfo *I, BaseRecordInfo &&R)
template<>
void addChild (BaseRecordInfo *I, FunctionInfo &&R)
template<typename T>
static void addTemplateParam (T I, TemplateParamInfo &&P)
template<>
void addTemplateParam (TemplateInfo *I, TemplateParamInfo &&P)
template<>
void addTemplateParam (TemplateSpecializationInfo *I, TemplateParamInfo &&P)
template<typename T>
static void addTemplate (T I, TemplateInfo &&P)
template<>
void addTemplate (RecordInfo *I, TemplateInfo &&P)
template<>
void addTemplate (FunctionInfo *I, TemplateInfo &&P)
template<>
void addTemplate (ConceptInfo *I, TemplateInfo &&P)
template<>
void addTemplate (FriendInfo *I, TemplateInfo &&P)
template<typename T>
static void addTemplateSpecialization (T I, TemplateSpecializationInfo &&TSI)
template<>
void addTemplateSpecialization (TemplateInfo *I, TemplateSpecializationInfo &&TSI)
template<typename T>
static void addConstraint (T I, ConstraintInfo &&C)
template<>
void addConstraint (TemplateInfo *I, ConstraintInfo &&C)
static void generateAbbrev (std::shared_ptr< llvm::BitCodeAbbrev > &Abbrev, const std::initializer_list< llvm::BitCodeAbbrevOp > Ops)
static void genBoolAbbrev (std::shared_ptr< llvm::BitCodeAbbrev > &Abbrev)
static void genIntAbbrev (std::shared_ptr< llvm::BitCodeAbbrev > &Abbrev)
static void genSymbolIdAbbrev (std::shared_ptr< llvm::BitCodeAbbrev > &Abbrev)
static void genStringAbbrev (std::shared_ptr< llvm::BitCodeAbbrev > &Abbrev)
static void genLocationAbbrev (std::shared_ptr< llvm::BitCodeAbbrev > &Abbrev)
std::unique_ptr< tooling::FrontendActionFactory > newMapperActionFactory (ClangDocContext CDCtx)
llvm::Expected< std::unique_ptr< Generator > > findGeneratorByName (llvm::StringRef Format)
std::string getTagType (TagTypeKind AS)
Error createFileOpenError (StringRef FileName, std::error_code EC)
static GeneratorRegistry::Add< HTMLGeneratorHTML (HTMLGenerator::Format, "Generator for mustache HTML output.")
static void serializeInfo (const ConstraintInfo &I, Object &Obj)
static void serializeInfo (const RecordInfo &I, Object &Obj, const std::optional< StringRef > &RepositoryUrl)
static void serializeReference (const Reference &Ref, Object &ReferenceObj)
template<typename Container, typename SerializationFunc>
static void serializeArray (const Container &Records, Object &Obj, const std::string &Key, SerializationFunc SerializeInfo)
static std::string infoTypeToString (InfoType IT)
static json::Object serializeLocation (const Location &Loc, const std::optional< StringRef > RepositoryUrl)
static void insertComment (Object &Description, json::Value &Comment, StringRef Key)
 Insert comments into a key in the Description object.
static json::Value extractTextComments (Object *ParagraphComment)
 Takes the nested "Children" array from a comment Object.
static json::Value extractVerbatimComments (json::Array VerbatimLines)
static Object serializeComment (const CommentInfo &I, Object &Description)
static void serializeCommonAttributes (const Info &I, json::Object &Obj, const std::optional< StringRef > RepositoryUrl)
static void serializeCommonChildren (const ScopeChildren &Children, json::Object &Obj, const std::optional< StringRef > RepositoryUrl)
static void serializeInfo (const ArrayRef< TemplateParamInfo > &Params, Object &Obj)
static void serializeInfo (const TemplateInfo &Template, Object &Obj)
static void serializeInfo (const ConceptInfo &I, Object &Obj, const std::optional< StringRef > &RepositoryUrl)
static void serializeInfo (const TypeInfo &I, Object &Obj)
static void serializeInfo (const FieldTypeInfo &I, Object &Obj)
static void serializeInfo (const FunctionInfo &F, json::Object &Obj, const std::optional< StringRef > RepositoryURL)
static void serializeInfo (const EnumValueInfo &I, Object &Obj)
static void serializeInfo (const EnumInfo &I, json::Object &Obj, const std::optional< StringRef > &RepositoryUrl)
static void serializeInfo (const TypedefInfo &I, json::Object &Obj, const std::optional< StringRef > &RepositoryUrl)
static void serializeInfo (const BaseRecordInfo &I, Object &Obj, const std::optional< StringRef > &RepositoryUrl)
static void serializeInfo (const FriendInfo &I, Object &Obj)
static void insertArray (Object &Obj, json::Value &Array, StringRef Key)
static void serializeInfo (const RecordInfo &I, json::Object &Obj, const std::optional< StringRef > &RepositoryUrl)
static void serializeInfo (const VarInfo &I, json::Object &Obj, const std::optional< StringRef > RepositoryUrl)
static void serializeInfo (const NamespaceInfo &I, json::Object &Obj, const std::optional< StringRef > RepositoryUrl)
static SmallString< 16 > determineFileName (Info *I, SmallString< 128 > &Path)
static GeneratorRegistry::Add< JSONGeneratorJSON (JSONGenerator::Format, "Generator for JSON output.")
template<typename T>
static bool isTypedefAnonRecord (const T *D)
static std::string genItalic (const Twine &Text)
static std::string genEmphasis (const Twine &Text)
static std::string genReferenceList (const llvm::SmallVectorImpl< Reference > &Refs)
static void writeLine (const Twine &Text, raw_ostream &OS)
static void writeNewLine (raw_ostream &OS)
static void writeHeader (const Twine &Text, unsigned int Num, raw_ostream &OS)
static void writeSourceFileRef (const ClangDocContext &CDCtx, const Location &L, raw_ostream &OS)
static void maybeWriteSourceFileRef (llvm::raw_ostream &OS, const ClangDocContext &CDCtx, const std::optional< Location > &DefLoc)
static void writeDescription (const CommentInfo &I, raw_ostream &OS)
static void writeNameLink (const StringRef &CurrentPath, const Reference &R, llvm::raw_ostream &OS)
static void genMarkdown (const ClangDocContext &CDCtx, const EnumInfo &I, llvm::raw_ostream &OS)
static void genMarkdown (const ClangDocContext &CDCtx, const FunctionInfo &I, llvm::raw_ostream &OS)
static void genMarkdown (const ClangDocContext &CDCtx, const NamespaceInfo &I, llvm::raw_ostream &OS)
static void genMarkdown (const ClangDocContext &CDCtx, const RecordInfo &I, llvm::raw_ostream &OS)
static void genMarkdown (const ClangDocContext &CDCtx, const TypedefInfo &I, llvm::raw_ostream &OS)
static void serializeReference (llvm::raw_fd_ostream &OS, Index &I, int Level)
static llvm::Error serializeIndex (ClangDocContext &CDCtx)
static llvm::Error genIndex (ClangDocContext &CDCtx)
static GeneratorRegistry::Add< MDGeneratorMD (MDGenerator::Format, "Generator for MD output.")
CommentKind stringToCommentKind (llvm::StringRef KindStr)
llvm::StringRef commentKindToString (CommentKind Kind)
template<typename T>
static llvm::Expected< std::unique_ptr< Info > > reduce (std::vector< std::unique_ptr< Info > > &Values)
template<typename T>
static int getChildIndexIfExists (std::vector< T > &Children, T &ChildToMerge)
template<typename T>
static void reduceChildren (std::vector< T > &Children, std::vector< T > &&ChildrenToMerge)
llvm::Expected< std::unique_ptr< Info > > mergeInfos (std::vector< std::unique_ptr< Info > > &Values)
static llvm::SmallString< 64 > calculateRelativeFilePath (const InfoType &Type, const StringRef &Path, const StringRef &Name, const StringRef &CurrentPath)
llvm::Error copyFile (llvm::StringRef FilePath, llvm::StringRef OutDirectory)
llvm::SmallString< 128 > computeRelativePath (llvm::StringRef Destination, llvm::StringRef Origin)
static GeneratorRegistry::Add< YAMLGeneratorYAML (YAMLGenerator::Format, "Generator for YAML output.")

Variables

static const SymbolID EmptySID = SymbolID()
static const llvm::IndexedMap< llvm::StringRef, BlockIdToIndexFunctorBlockIdNameMap
static const llvm::IndexedMap< RecordIdDsc, RecordIdToIndexFunctorRecordIdNameMap
static const std::vector< std::pair< BlockId, std::vector< RecordId > > > RecordsByBlock
static const unsigned VersionNumber = 3
static constexpr unsigned BlockIdCount = BI_LAST - BI_FIRST
static constexpr unsigned RecordIdCount = RI_LAST - RI_FIRST
static int YAMLGeneratorAnchorDest = YAMLGeneratorAnchorSource
static int MDGeneratorAnchorDest = MDGeneratorAnchorSource
static int HTMLGeneratorAnchorDest = HTMLGeneratorAnchorSource
static int JSONGeneratorAnchorDest = JSONGeneratorAnchorSource
volatile int YAMLGeneratorAnchorSource = 0
volatile int MDGeneratorAnchorSource = 0
volatile int HTMLGeneratorAnchorSource = 0
volatile int JSONGeneratorAnchorSource = 0
static std::unique_ptr< MustacheTemplateFileNamespaceTemplate = nullptr
static std::unique_ptr< MustacheTemplateFileRecordTemplate = nullptr
static auto SerializeInfoLambda
static auto SerializeReferenceLambda
static llvm::StringSet USRVisited
static llvm::sys::SmartMutex< true > USRVisitedGuard
constexpr SymbolID GlobalNamespaceID

Typedef Documentation

◆ AbbrevDsc

using clang::doc::AbbrevDsc = void (*)(std::shared_ptr<llvm::BitCodeAbbrev> &Abbrev)

Definition at line 31 of file BitcodeWriter.cpp.

◆ GeneratorRegistry

typedef llvm::Registry<Generator> clang::doc::GeneratorRegistry

Definition at line 49 of file Generators.h.

◆ Record

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

Definition at line 21 of file BitcodeReader.cpp.

◆ SymbolID

using clang::doc::SymbolID = std::array<uint8_t, 20>

Definition at line 30 of file Representation.h.

Enumeration Type Documentation

◆ BlockId

Enumerator
BI_VERSION_BLOCK_ID 
BI_NAMESPACE_BLOCK_ID 
BI_ENUM_BLOCK_ID 
BI_ENUM_VALUE_BLOCK_ID 
BI_TYPE_BLOCK_ID 
BI_FIELD_TYPE_BLOCK_ID 
BI_MEMBER_TYPE_BLOCK_ID 
BI_RECORD_BLOCK_ID 
BI_BASE_RECORD_BLOCK_ID 
BI_FUNCTION_BLOCK_ID 
BI_COMMENT_BLOCK_ID 
BI_REFERENCE_BLOCK_ID 
BI_TEMPLATE_BLOCK_ID 
BI_TEMPLATE_SPECIALIZATION_BLOCK_ID 
BI_TEMPLATE_PARAM_BLOCK_ID 
BI_CONSTRAINT_BLOCK_ID 
BI_TYPEDEF_BLOCK_ID 
BI_CONCEPT_BLOCK_ID 
BI_VAR_BLOCK_ID 
BI_FRIEND_BLOCK_ID 
BI_LAST 
BI_FIRST 

Definition at line 50 of file BitcodeWriter.h.

◆ CommentKind

enum class clang::doc::CommentKind
strong
Enumerator
CK_FullComment 
CK_ParagraphComment 
CK_TextComment 
CK_InlineCommandComment 
CK_HTMLStartTagComment 
CK_HTMLEndTagComment 
CK_BlockCommandComment 
CK_ParamCommandComment 
CK_TParamCommandComment 
CK_VerbatimBlockComment 
CK_VerbatimBlockLineComment 
CK_VerbatimLineComment 
CK_Unknown 

Definition at line 55 of file Representation.h.

◆ FieldId

enum class clang::doc::FieldId
strong
Enumerator
F_default 
F_namespace 
F_parent 
F_vparent 
F_type 
F_child_namespace 
F_child_record 
F_concept 
F_friend 

Definition at line 165 of file BitcodeWriter.h.

◆ InfoType

enum class clang::doc::InfoType
strong
Enumerator
IT_default 
IT_namespace 
IT_record 
IT_function 
IT_enum 
IT_typedef 
IT_concept 
IT_variable 
IT_friend 

Definition at line 43 of file Representation.h.

◆ RecordId

Enumerator
VERSION 
FUNCTION_USR 
FUNCTION_NAME 
FUNCTION_DEFLOCATION 
FUNCTION_LOCATION 
FUNCTION_ACCESS 
FUNCTION_IS_METHOD 
FUNCTION_IS_STATIC 
COMMENT_KIND 
COMMENT_TEXT 
COMMENT_NAME 
COMMENT_DIRECTION 
COMMENT_PARAMNAME 
COMMENT_CLOSENAME 
COMMENT_SELFCLOSING 
COMMENT_EXPLICIT 
COMMENT_ATTRKEY 
COMMENT_ATTRVAL 
COMMENT_ARG 
TYPE_IS_BUILTIN 
TYPE_IS_TEMPLATE 
FIELD_TYPE_NAME 
FIELD_DEFAULT_VALUE 
FIELD_TYPE_IS_BUILTIN 
FIELD_TYPE_IS_TEMPLATE 
MEMBER_TYPE_NAME 
MEMBER_TYPE_ACCESS 
MEMBER_TYPE_IS_STATIC 
MEMBER_TYPE_IS_BUILTIN 
MEMBER_TYPE_IS_TEMPLATE 
NAMESPACE_USR 
NAMESPACE_NAME 
NAMESPACE_PATH 
ENUM_USR 
ENUM_NAME 
ENUM_DEFLOCATION 
ENUM_LOCATION 
ENUM_SCOPED 
ENUM_VALUE_NAME 
ENUM_VALUE_VALUE 
ENUM_VALUE_EXPR 
RECORD_USR 
RECORD_NAME 
RECORD_PATH 
RECORD_DEFLOCATION 
RECORD_LOCATION 
RECORD_TAG_TYPE 
RECORD_IS_TYPE_DEF 
RECORD_MANGLED_NAME 
BASE_RECORD_USR 
BASE_RECORD_NAME 
BASE_RECORD_PATH 
BASE_RECORD_TAG_TYPE 
BASE_RECORD_IS_VIRTUAL 
BASE_RECORD_ACCESS 
BASE_RECORD_IS_PARENT 
REFERENCE_USR 
REFERENCE_NAME 
REFERENCE_QUAL_NAME 
REFERENCE_TYPE 
REFERENCE_PATH 
REFERENCE_FIELD 
REFERENCE_FILE 
TEMPLATE_PARAM_CONTENTS 
TEMPLATE_SPECIALIZATION_OF 
TYPEDEF_USR 
TYPEDEF_NAME 
TYPEDEF_DEFLOCATION 
TYPEDEF_IS_USING 
CONCEPT_USR 
CONCEPT_NAME 
CONCEPT_IS_TYPE 
CONCEPT_CONSTRAINT_EXPRESSION 
CONSTRAINT_EXPRESSION 
VAR_USR 
VAR_NAME 
VAR_DEFLOCATION 
VAR_IS_STATIC 
FRIEND_IS_CLASS 
RI_LAST 
RI_FIRST 

Definition at line 77 of file BitcodeWriter.h.

Function Documentation

◆ addChild() [1/13]

template<>
void clang::doc::addChild ( BaseRecordInfo * I,
FunctionInfo && R )

◆ addChild() [2/13]

template<>
void clang::doc::addChild ( EnumInfo * I,
EnumValueInfo && R )

Definition at line 758 of file BitcodeReader.cpp.

References clang::doc::EnumInfo::Members.

◆ addChild() [3/13]

template<>
void clang::doc::addChild ( NamespaceInfo * I,
ConceptInfo && R )

◆ addChild() [4/13]

template<>
void clang::doc::addChild ( NamespaceInfo * I,
EnumInfo && R )

◆ addChild() [5/13]

template<>
void clang::doc::addChild ( NamespaceInfo * I,
FunctionInfo && R )

◆ addChild() [6/13]

template<>
void clang::doc::addChild ( NamespaceInfo * I,
TypedefInfo && R )

◆ addChild() [7/13]

template<>
void clang::doc::addChild ( NamespaceInfo * I,
VarInfo && R )

◆ addChild() [8/13]

template<>
void clang::doc::addChild ( RecordInfo * I,
BaseRecordInfo && R )

Definition at line 761 of file BitcodeReader.cpp.

References clang::doc::RecordInfo::Bases.

◆ addChild() [9/13]

template<>
void clang::doc::addChild ( RecordInfo * I,
EnumInfo && R )

◆ addChild() [10/13]

template<>
void clang::doc::addChild ( RecordInfo * I,
FriendInfo && R )

Definition at line 753 of file BitcodeReader.cpp.

References clang::doc::RecordInfo::Friends.

◆ addChild() [11/13]

template<>
void clang::doc::addChild ( RecordInfo * I,
FunctionInfo && R )

◆ addChild() [12/13]

template<>
void clang::doc::addChild ( RecordInfo * I,
TypedefInfo && R )

◆ addChild() [13/13]

template<typename T, typename ChildInfoType>
void clang::doc::addChild ( T I,
ChildInfoType && R )
static

Definition at line 721 of file BitcodeReader.cpp.

References ExitOnErr.

◆ addConstraint() [1/2]

template<typename T>
void clang::doc::addConstraint ( T I,
ConstraintInfo && C )
static

Definition at line 815 of file BitcodeReader.cpp.

References ExitOnErr.

◆ addConstraint() [2/2]

template<>
void clang::doc::addConstraint ( TemplateInfo * I,
ConstraintInfo && C )

Definition at line 819 of file BitcodeReader.cpp.

References clang::doc::TemplateInfo::Constraints.

◆ addReference() [1/12]

template<>
llvm::Error clang::doc::addReference ( ConstraintInfo * I,
Reference && R,
FieldId F )

Definition at line 700 of file BitcodeReader.cpp.

References clang::doc::ConstraintInfo::ConceptRef, and F_concept.

◆ addReference() [2/12]

template<>
llvm::Error clang::doc::addReference ( EnumInfo * I,
Reference && R,
FieldId F )

Definition at line 624 of file BitcodeReader.cpp.

References F_namespace, and clang::doc::Info::Namespace.

◆ addReference() [3/12]

template<>
llvm::Error clang::doc::addReference ( FieldTypeInfo * I,
Reference && R,
FieldId F )

Definition at line 601 of file BitcodeReader.cpp.

References F_type, and clang::doc::TypeInfo::Type.

◆ addReference() [4/12]

template<>
llvm::Error clang::doc::addReference ( FriendInfo * Friend,
Reference && R,
FieldId F )

Definition at line 711 of file BitcodeReader.cpp.

References F_friend, and clang::doc::FriendInfo::Ref.

◆ addReference() [5/12]

template<>
llvm::Error clang::doc::addReference ( FunctionInfo * I,
Reference && R,
FieldId F )

◆ addReference() [6/12]

template<>
llvm::Error clang::doc::addReference ( MemberTypeInfo * I,
Reference && R,
FieldId F )

Definition at line 613 of file BitcodeReader.cpp.

References F_type, and clang::doc::TypeInfo::Type.

◆ addReference() [7/12]

◆ addReference() [8/12]

◆ addReference() [9/12]

template<typename T>
llvm::Error clang::doc::addReference ( T I,
Reference && R,
FieldId F )
static

Definition at line 573 of file BitcodeReader.cpp.

◆ addReference() [10/12]

template<>
llvm::Error clang::doc::addReference ( TypedefInfo * I,
Reference && R,
FieldId F )

Definition at line 635 of file BitcodeReader.cpp.

References F_namespace, and clang::doc::Info::Namespace.

◆ addReference() [11/12]

template<>
llvm::Error clang::doc::addReference ( TypeInfo * I,
Reference && R,
FieldId F )

Definition at line 589 of file BitcodeReader.cpp.

References F_type, and clang::doc::TypeInfo::Type.

◆ addReference() [12/12]

template<>
llvm::Error clang::doc::addReference ( VarInfo * I,
Reference && R,
FieldId F )

Definition at line 578 of file BitcodeReader.cpp.

References F_namespace, and clang::doc::Info::Namespace.

◆ addTemplate() [1/5]

template<>
void clang::doc::addTemplate ( ConceptInfo * I,
TemplateInfo && P )

Definition at line 795 of file BitcodeReader.cpp.

References clang::doc::ConceptInfo::Template.

◆ addTemplate() [2/5]

template<>
void clang::doc::addTemplate ( FriendInfo * I,
TemplateInfo && P )

Definition at line 798 of file BitcodeReader.cpp.

References clang::doc::FriendInfo::Template.

◆ addTemplate() [3/5]

template<>
void clang::doc::addTemplate ( FunctionInfo * I,
TemplateInfo && P )

Definition at line 792 of file BitcodeReader.cpp.

References clang::doc::FunctionInfo::Template.

◆ addTemplate() [4/5]

template<>
void clang::doc::addTemplate ( RecordInfo * I,
TemplateInfo && P )

Definition at line 789 of file BitcodeReader.cpp.

References clang::doc::RecordInfo::Template.

◆ addTemplate() [5/5]

template<typename T>
void clang::doc::addTemplate ( T I,
TemplateInfo && P )
static

Definition at line 785 of file BitcodeReader.cpp.

References ExitOnErr.

◆ addTemplateParam() [1/3]

template<typename T>
void clang::doc::addTemplateParam ( T I,
TemplateParamInfo && P )
static

Definition at line 771 of file BitcodeReader.cpp.

References ExitOnErr.

◆ addTemplateParam() [2/3]

template<>
void clang::doc::addTemplateParam ( TemplateInfo * I,
TemplateParamInfo && P )

Definition at line 776 of file BitcodeReader.cpp.

References clang::doc::TemplateInfo::Params.

◆ addTemplateParam() [3/3]

template<>
void clang::doc::addTemplateParam ( TemplateSpecializationInfo * I,
TemplateParamInfo && P )

Definition at line 780 of file BitcodeReader.cpp.

References clang::doc::TemplateSpecializationInfo::Params.

◆ addTemplateSpecialization() [1/2]

template<typename T>
void clang::doc::addTemplateSpecialization ( T I,
TemplateSpecializationInfo && TSI )
static

Definition at line 804 of file BitcodeReader.cpp.

References ExitOnErr.

◆ addTemplateSpecialization() [2/2]

template<>
void clang::doc::addTemplateSpecialization ( TemplateInfo * I,
TemplateSpecializationInfo && TSI )

Definition at line 810 of file BitcodeReader.cpp.

References clang::doc::TemplateInfo::Specialization.

◆ addTypeInfo() [1/10]

template<>
llvm::Error clang::doc::addTypeInfo ( BaseRecordInfo * I,
MemberTypeInfo && T )

Definition at line 530 of file BitcodeReader.cpp.

References clang::doc::RecordInfo::Members.

◆ addTypeInfo() [2/10]

template<>
llvm::Error clang::doc::addTypeInfo ( EnumInfo * I,
TypeInfo && T )

Definition at line 557 of file BitcodeReader.cpp.

References clang::doc::EnumInfo::BaseType.

◆ addTypeInfo() [3/10]

template<>
llvm::Error clang::doc::addTypeInfo ( FriendInfo * I,
FieldTypeInfo && T )

Definition at line 545 of file BitcodeReader.cpp.

References clang::doc::FriendInfo::Params.

◆ addTypeInfo() [4/10]

template<>
llvm::Error clang::doc::addTypeInfo ( FriendInfo * I,
TypeInfo && T )

Definition at line 552 of file BitcodeReader.cpp.

References clang::doc::FriendInfo::ReturnType.

◆ addTypeInfo() [5/10]

template<>
llvm::Error clang::doc::addTypeInfo ( FunctionInfo * I,
FieldTypeInfo && T )

Definition at line 540 of file BitcodeReader.cpp.

References clang::doc::FunctionInfo::Params.

◆ addTypeInfo() [6/10]

template<>
llvm::Error clang::doc::addTypeInfo ( FunctionInfo * I,
TypeInfo && T )

Definition at line 535 of file BitcodeReader.cpp.

References clang::doc::FunctionInfo::ReturnType.

◆ addTypeInfo() [7/10]

template<>
llvm::Error clang::doc::addTypeInfo ( RecordInfo * I,
MemberTypeInfo && T )

Definition at line 525 of file BitcodeReader.cpp.

References clang::doc::RecordInfo::Members.

◆ addTypeInfo() [8/10]

template<typename T, typename TTypeInfo>
llvm::Error clang::doc::addTypeInfo ( T I,
TTypeInfo && TI )
static

Definition at line 520 of file BitcodeReader.cpp.

◆ addTypeInfo() [9/10]

template<>
llvm::Error clang::doc::addTypeInfo ( TypedefInfo * I,
TypeInfo && T )

Definition at line 562 of file BitcodeReader.cpp.

References clang::doc::TypedefInfo::Underlying.

◆ addTypeInfo() [10/10]

template<>
llvm::Error clang::doc::addTypeInfo ( VarInfo * I,
TypeInfo && T )

Definition at line 567 of file BitcodeReader.cpp.

References clang::doc::VarInfo::Type.

◆ calculateRelativeFilePath()

llvm::SmallString< 64 > clang::doc::calculateRelativeFilePath ( const InfoType & Type,
const StringRef & Path,
const StringRef & Name,
const StringRef & CurrentPath )
static

◆ commentKindToString()

◆ computeRelativePath()

llvm::SmallString< 128 > clang::doc::computeRelativePath ( llvm::StringRef Destination,
llvm::StringRef Origin )

Definition at line 31 of file File.cpp.

Referenced by clang::doc::MustacheGenerator::getRelativePathToRoot().

◆ copyFile()

llvm::Error clang::doc::copyFile ( llvm::StringRef FilePath,
llvm::StringRef OutDirectory )

Definition at line 15 of file File.cpp.

References OutDirectory().

Referenced by clang::doc::HTMLGenerator::createResources().

◆ createFileOpenError()

llvm::Error clang::doc::createFileOpenError ( StringRef FileName,
std::error_code EC )

◆ decodeRecord() [1/10]

llvm::Error clang::doc::decodeRecord ( const Record & R,
AccessSpecifier & Field,
llvm::StringRef Blob )
static

Definition at line 50 of file BitcodeReader.cpp.

◆ decodeRecord() [2/10]

llvm::Error clang::doc::decodeRecord ( const Record & R,
bool & Field,
llvm::StringRef Blob )
static

Definition at line 44 of file BitcodeReader.cpp.

◆ decodeRecord() [3/10]

llvm::Error clang::doc::decodeRecord ( const Record & R,
FieldId & Field,
llvm::StringRef Blob )
static

◆ decodeRecord() [4/10]

llvm::Error clang::doc::decodeRecord ( const Record & R,
InfoType & Field,
llvm::StringRef Blob )
static

◆ decodeRecord() [5/10]

◆ decodeRecord() [6/10]

llvm::Error clang::doc::decodeRecord ( const Record & R,
llvm::SmallVectorImpl< llvm::SmallString< 16 > > & Field,
llvm::StringRef Blob )
static

Definition at line 127 of file BitcodeReader.cpp.

◆ decodeRecord() [7/10]

llvm::Error clang::doc::decodeRecord ( const Record & R,
llvm::SmallVectorImpl< Location > & Field,
llvm::StringRef Blob )
static

Definition at line 134 of file BitcodeReader.cpp.

◆ decodeRecord() [8/10]

llvm::Error clang::doc::decodeRecord ( const Record & R,
std::optional< Location > & Field,
llvm::StringRef Blob )
static

Definition at line 78 of file BitcodeReader.cpp.

◆ decodeRecord() [9/10]

llvm::Error clang::doc::decodeRecord ( const Record & R,
SymbolID & Field,
llvm::StringRef Blob )
static

Definition at line 31 of file BitcodeReader.cpp.

References clang::doc::BitCodeConstants::USRHashSize.

◆ decodeRecord() [10/10]

llvm::Error clang::doc::decodeRecord ( const Record & R,
TagTypeKind & Field,
llvm::StringRef Blob )
static

Definition at line 63 of file BitcodeReader.cpp.

◆ determineFileName()

SmallString< 16 > clang::doc::determineFileName ( Info * I,
SmallString< 128 > & Path )
static

◆ ExitOnErr()

llvm::ExitOnError clang::doc::ExitOnErr ( "clang-doc error: " )
static

◆ extractTextComments()

json::Value clang::doc::extractTextComments ( Object * ParagraphComment)
static

Takes the nested "Children" array from a comment Object.

Returns
a json::Array of comments, possible json::Value::Kind::Null

Definition at line 119 of file JSONGenerator.cpp.

Referenced by serializeComment(), and serializeCommonAttributes().

◆ extractVerbatimComments()

json::Value clang::doc::extractVerbatimComments ( json::Array VerbatimLines)
static

Definition at line 140 of file JSONGenerator.cpp.

Referenced by serializeComment().

◆ findGeneratorByName()

llvm::Expected< std::unique_ptr< Generator > > clang::doc::findGeneratorByName ( llvm::StringRef Format)

Definition at line 23 of file Generators.cpp.

Referenced by clang::doc::MustacheGenerator::generateDocumentation().

◆ genBoolAbbrev()

void clang::doc::genBoolAbbrev ( std::shared_ptr< llvm::BitCodeAbbrev > & Abbrev)
static

Definition at line 40 of file BitcodeWriter.cpp.

References clang::doc::BitCodeConstants::BoolSize, and generateAbbrev().

◆ genEmphasis()

std::string clang::doc::genEmphasis ( const Twine & Text)
static

Definition at line 29 of file MDGenerator.cpp.

Referenced by writeDescription().

◆ generateAbbrev()

void clang::doc::generateAbbrev ( std::shared_ptr< llvm::BitCodeAbbrev > & Abbrev,
const std::initializer_list< llvm::BitCodeAbbrevOp > Ops )
static

◆ genIndex()

◆ genIntAbbrev()

void clang::doc::genIntAbbrev ( std::shared_ptr< llvm::BitCodeAbbrev > & Abbrev)
static

Definition at line 47 of file BitcodeWriter.cpp.

References generateAbbrev(), and clang::doc::BitCodeConstants::IntSize.

◆ genItalic()

std::string clang::doc::genItalic ( const Twine & Text)
static

Definition at line 25 of file MDGenerator.cpp.

Referenced by genMarkdown().

◆ genLocationAbbrev()

void clang::doc::genLocationAbbrev ( std::shared_ptr< llvm::BitCodeAbbrev > & Abbrev)
static

◆ genMarkdown() [1/5]

◆ genMarkdown() [2/5]

◆ genMarkdown() [3/5]

◆ genMarkdown() [4/5]

◆ genMarkdown() [5/5]

void clang::doc::genMarkdown ( const ClangDocContext & CDCtx,
const TypedefInfo & I,
llvm::raw_ostream & OS )
static

Definition at line 309 of file MDGenerator.cpp.

◆ genReferenceList()

std::string clang::doc::genReferenceList ( const llvm::SmallVectorImpl< Reference > & Refs)
static

Definition at line 34 of file MDGenerator.cpp.

Referenced by genMarkdown().

◆ genStringAbbrev()

void clang::doc::genStringAbbrev ( std::shared_ptr< llvm::BitCodeAbbrev > & Abbrev)
static

◆ genSymbolIdAbbrev()

void clang::doc::genSymbolIdAbbrev ( std::shared_ptr< llvm::BitCodeAbbrev > & Abbrev)
static

◆ getChildIndexIfExists()

template<typename T>
int clang::doc::getChildIndexIfExists ( std::vector< T > & Children,
T & ChildToMerge )
static

Definition at line 103 of file Representation.cpp.

Referenced by reduceChildren().

◆ getCommentInfo() [1/11]

template<>
llvm::Expected< CommentInfo * > clang::doc::getCommentInfo ( CommentInfo * I)

Definition at line 503 of file BitcodeReader.cpp.

References clang::doc::CommentInfo::Children.

◆ getCommentInfo() [2/11]

template<>
llvm::Expected< CommentInfo * > clang::doc::getCommentInfo ( ConceptInfo * I)

Definition at line 508 of file BitcodeReader.cpp.

References clang::doc::Info::Description.

◆ getCommentInfo() [3/11]

template<>
llvm::Expected< CommentInfo * > clang::doc::getCommentInfo ( EnumInfo * I)

Definition at line 491 of file BitcodeReader.cpp.

References clang::doc::Info::Description.

◆ getCommentInfo() [4/11]

template<>
llvm::Expected< CommentInfo * > clang::doc::getCommentInfo ( EnumValueInfo * I)

Definition at line 499 of file BitcodeReader.cpp.

References clang::doc::EnumValueInfo::Description.

◆ getCommentInfo() [5/11]

template<>
llvm::Expected< CommentInfo * > clang::doc::getCommentInfo ( FunctionInfo * I)

Definition at line 475 of file BitcodeReader.cpp.

References clang::doc::Info::Description.

◆ getCommentInfo() [6/11]

template<>
llvm::Expected< CommentInfo * > clang::doc::getCommentInfo ( MemberTypeInfo * I)

Definition at line 487 of file BitcodeReader.cpp.

References clang::doc::MemberTypeInfo::Description.

◆ getCommentInfo() [7/11]

template<>
llvm::Expected< CommentInfo * > clang::doc::getCommentInfo ( NamespaceInfo * I)

Definition at line 479 of file BitcodeReader.cpp.

References clang::doc::Info::Description.

◆ getCommentInfo() [8/11]

template<>
llvm::Expected< CommentInfo * > clang::doc::getCommentInfo ( RecordInfo * I)

Definition at line 483 of file BitcodeReader.cpp.

References clang::doc::Info::Description.

◆ getCommentInfo() [9/11]

template<typename T>
llvm::Expected< CommentInfo * > clang::doc::getCommentInfo ( T I)
static

Definition at line 470 of file BitcodeReader.cpp.

◆ getCommentInfo() [10/11]

template<>
llvm::Expected< CommentInfo * > clang::doc::getCommentInfo ( TypedefInfo * I)

Definition at line 495 of file BitcodeReader.cpp.

References clang::doc::TypedefInfo::Description.

◆ getCommentInfo() [11/11]

template<>
Expected< CommentInfo * > clang::doc::getCommentInfo ( VarInfo * I)

Definition at line 512 of file BitcodeReader.cpp.

References clang::doc::Info::Description.

◆ getTagType()

std::string clang::doc::getTagType ( TagTypeKind AS)

Definition at line 35 of file Generators.cpp.

Referenced by genMarkdown(), and serializeInfo().

◆ HTML()

GeneratorRegistry::Add< HTMLGenerator > clang::doc::HTML ( HTMLGenerator::Format ,
"Generator for mustache HTML output."  )
static

◆ infoTypeToString()

std::string clang::doc::infoTypeToString ( InfoType IT)
static

◆ insertArray()

void clang::doc::insertArray ( Object & Obj,
json::Value & Array,
StringRef Key )
static

Definition at line 515 of file JSONGenerator.cpp.

Referenced by serializeInfo().

◆ insertComment()

void clang::doc::insertComment ( Object & Description,
json::Value & Comment,
StringRef Key )
static

Insert comments into a key in the Description object.

Parameters
CommentEither an Object or Array, depending on the comment type
KeyThe type (Brief, Code, etc.) of comment to be inserted

Definition at line 91 of file JSONGenerator.cpp.

Referenced by serializeComment(), and serializeCommonAttributes().

◆ isTypedefAnonRecord()

template<typename T>
bool clang::doc::isTypedefAnonRecord ( const T * D)
static

Definition at line 24 of file Mapper.cpp.

◆ JSON()

GeneratorRegistry::Add< JSONGenerator > clang::doc::JSON ( JSONGenerator::Format ,
"Generator for JSON output."  )
static

◆ maybeWriteSourceFileRef()

void clang::doc::maybeWriteSourceFileRef ( llvm::raw_ostream & OS,
const ClangDocContext & CDCtx,
const std::optional< Location > & DefLoc )
static

Definition at line 70 of file MDGenerator.cpp.

References writeSourceFileRef().

Referenced by genMarkdown(), genMarkdown(), and genMarkdown().

◆ MD()

GeneratorRegistry::Add< MDGenerator > clang::doc::MD ( MDGenerator::Format ,
"Generator for MD output."  )
static

◆ mergeInfos()

llvm::Expected< std::unique_ptr< Info > > clang::doc::mergeInfos ( std::vector< std::unique_ptr< Info > > & Values)

◆ newMapperActionFactory()

std::unique_ptr< tooling::FrontendActionFactory > clang::doc::newMapperActionFactory ( ClangDocContext CDCtx)

Definition at line 52 of file ClangDoc.cpp.

◆ parseRecord() [1/20]

◆ parseRecord() [2/20]

◆ parseRecord() [3/20]

llvm::Error clang::doc::parseRecord ( const Record & R,
unsigned ID,
llvm::StringRef Blob,
ConceptInfo * I )
static

◆ parseRecord() [4/20]

llvm::Error clang::doc::parseRecord ( const Record & R,
unsigned ID,
llvm::StringRef Blob,
const unsigned VersionNo )
static

Definition at line 145 of file BitcodeReader.cpp.

References VERSION.

Referenced by clang::doc::ClangDocBitcodeReader::readRecord().

◆ parseRecord() [5/20]

llvm::Error clang::doc::parseRecord ( const Record & R,
unsigned ID,
llvm::StringRef Blob,
ConstraintInfo * I )
static

◆ parseRecord() [6/20]

llvm::Error clang::doc::parseRecord ( const Record & R,
unsigned ID,
llvm::StringRef Blob,
EnumInfo * I )
static

◆ parseRecord() [7/20]

llvm::Error clang::doc::parseRecord ( const Record & R,
unsigned ID,
llvm::StringRef Blob,
EnumValueInfo * I )
static

◆ parseRecord() [8/20]

◆ parseRecord() [9/20]

◆ parseRecord() [10/20]

◆ parseRecord() [11/20]

llvm::Error clang::doc::parseRecord ( const Record & R,
unsigned ID,
llvm::StringRef Blob,
NamespaceInfo * I )
static

◆ parseRecord() [12/20]

◆ parseRecord() [13/20]

◆ parseRecord() [14/20]

llvm::Error clang::doc::parseRecord ( const Record & R,
unsigned ID,
llvm::StringRef Blob,
TemplateInfo * I )
static

Definition at line 397 of file BitcodeReader.cpp.

◆ parseRecord() [15/20]

llvm::Error clang::doc::parseRecord ( const Record & R,
unsigned ID,
llvm::StringRef Blob,
TemplateParamInfo * I )
static

◆ parseRecord() [16/20]

llvm::Error clang::doc::parseRecord ( const Record & R,
unsigned ID,
llvm::StringRef Blob,
TemplateSpecializationInfo * I )
static

◆ parseRecord() [17/20]

llvm::Error clang::doc::parseRecord ( const Record & R,
unsigned ID,
llvm::StringRef Blob,
TypedefInfo * I )
static

◆ parseRecord() [18/20]

llvm::Error clang::doc::parseRecord ( const Record & R,
unsigned ID,
llvm::StringRef Blob,
TypeInfo * I )
static

◆ parseRecord() [19/20]

llvm::Error clang::doc::parseRecord ( const Record & R,
unsigned ID,
llvm::StringRef Blob,
VarInfo * I )
static

◆ parseRecord() [20/20]

llvm::Error clang::doc::parseRecord ( const Record & R,
unsigned ID,
StringRef Blob,
FriendInfo * F )
static

◆ reduce()

template<typename T>
llvm::Expected< std::unique_ptr< Info > > clang::doc::reduce ( std::vector< std::unique_ptr< Info > > & Values)
static

Definition at line 89 of file Representation.cpp.

Referenced by mergeInfos().

◆ reduceChildren()

template<typename T>
void clang::doc::reduceChildren ( std::vector< T > & Children,
std::vector< T > && ChildrenToMerge )
static

◆ serializeArray()

template<typename Container, typename SerializationFunc>
void clang::doc::serializeArray ( const Container & Records,
Object & Obj,
const std::string & Key,
SerializationFunc SerializeInfo )
static

◆ serializeComment()

◆ serializeCommonAttributes()

◆ serializeCommonChildren()

void clang::doc::serializeCommonChildren ( const ScopeChildren & Children,
json::Object & Obj,
const std::optional< StringRef > RepositoryUrl )
static

◆ serializeIndex()

◆ serializeInfo() [1/16]

void clang::doc::serializeInfo ( const ArrayRef< TemplateParamInfo > & Params,
Object & Obj )
static

Definition at line 376 of file JSONGenerator.cpp.

◆ serializeInfo() [2/16]

void clang::doc::serializeInfo ( const BaseRecordInfo & I,
Object & Obj,
const std::optional< StringRef > & RepositoryUrl )
static

◆ serializeInfo() [3/16]

void clang::doc::serializeInfo ( const ConceptInfo & I,
Object & Obj,
const std::optional< StringRef > & RepositoryUrl )
static

◆ serializeInfo() [4/16]

◆ serializeInfo() [5/16]

void clang::doc::serializeInfo ( const EnumInfo & I,
json::Object & Obj,
const std::optional< StringRef > & RepositoryUrl )
static

◆ serializeInfo() [6/16]

void clang::doc::serializeInfo ( const EnumValueInfo & I,
Object & Obj )
static

◆ serializeInfo() [7/16]

void clang::doc::serializeInfo ( const FieldTypeInfo & I,
Object & Obj )
static

◆ serializeInfo() [8/16]

◆ serializeInfo() [9/16]

void clang::doc::serializeInfo ( const FunctionInfo & F,
json::Object & Obj,
const std::optional< StringRef > RepositoryURL )
static

◆ serializeInfo() [10/16]

◆ serializeInfo() [11/16]

◆ serializeInfo() [12/16]

void clang::doc::serializeInfo ( const RecordInfo & I,
Object & Obj,
const std::optional< StringRef > & RepositoryUrl )
static

References RepositoryUrl().

◆ serializeInfo() [13/16]

void clang::doc::serializeInfo ( const TemplateInfo & Template,
Object & Obj )
static

Definition at line 393 of file JSONGenerator.cpp.

References serializeArray(), serializeInfo(), and SerializeInfoLambda.

◆ serializeInfo() [14/16]

void clang::doc::serializeInfo ( const TypedefInfo & I,
json::Object & Obj,
const std::optional< StringRef > & RepositoryUrl )
static

◆ serializeInfo() [15/16]

◆ serializeInfo() [16/16]

void clang::doc::serializeInfo ( const VarInfo & I,
json::Object & Obj,
const std::optional< StringRef > RepositoryUrl )
static

◆ serializeLocation()

json::Object clang::doc::serializeLocation ( const Location & Loc,
const std::optional< StringRef > RepositoryUrl )
static

◆ serializeReference() [1/2]

void clang::doc::serializeReference ( const Reference & Ref,
Object & ReferenceObj )
static

◆ serializeReference() [2/2]

void clang::doc::serializeReference ( llvm::raw_fd_ostream & OS,
Index & I,
int Level )
static

Definition at line 314 of file MDGenerator.cpp.

References writeNameLink().

◆ stringToCommentKind()

◆ writeDescription()

◆ writeHeader()

void clang::doc::writeHeader ( const Twine & Text,
unsigned int Num,
raw_ostream & OS )
static

Definition at line 51 of file MDGenerator.cpp.

Referenced by genMarkdown(), genMarkdown(), and genMarkdown().

◆ writeLine()

void clang::doc::writeLine ( const Twine & Text,
raw_ostream & OS )
static

Definition at line 45 of file MDGenerator.cpp.

Referenced by genMarkdown(), genMarkdown(), genMarkdown(), and writeDescription().

◆ writeNameLink()

void clang::doc::writeNameLink ( const StringRef & CurrentPath,
const Reference & R,
llvm::raw_ostream & OS )
static

◆ writeNewLine()

void clang::doc::writeNewLine ( raw_ostream & OS)
static

Definition at line 49 of file MDGenerator.cpp.

Referenced by genMarkdown(), genMarkdown(), and writeDescription().

◆ writeSourceFileRef()

void clang::doc::writeSourceFileRef ( const ClangDocContext & CDCtx,
const Location & L,
raw_ostream & OS )
static

◆ YAML()

GeneratorRegistry::Add< YAMLGenerator > clang::doc::YAML ( YAMLGenerator::Format ,
"Generator for YAML output."  )
static

Variable Documentation

◆ BlockIdCount

unsigned clang::doc::BlockIdCount = BI_LAST - BI_FIRST
staticconstexpr

Definition at line 161 of file BitcodeWriter.h.

◆ BlockIdNameMap

const llvm::IndexedMap<llvm::StringRef, BlockIdToIndexFunctor> clang::doc::BlockIdNameMap
static

Definition at line 109 of file BitcodeWriter.cpp.

◆ EmptySID

◆ GlobalNamespaceID

SymbolID clang::doc::GlobalNamespaceID
constexpr
Initial value:
= {0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0}

Definition at line 32 of file Representation.h.

Referenced by serializeInfo().

◆ HTMLGeneratorAnchorDest

int clang::doc::HTMLGeneratorAnchorDest = HTMLGeneratorAnchorSource
static

Definition at line 245 of file Generators.cpp.

◆ HTMLGeneratorAnchorSource

volatile int clang::doc::HTMLGeneratorAnchorSource = 0

Definition at line 180 of file HTMLGenerator.cpp.

◆ JSONGeneratorAnchorDest

int clang::doc::JSONGeneratorAnchorDest = JSONGeneratorAnchorSource
static

Definition at line 246 of file Generators.cpp.

◆ JSONGeneratorAnchorSource

volatile int clang::doc::JSONGeneratorAnchorSource = 0

Definition at line 731 of file JSONGenerator.cpp.

◆ MDGeneratorAnchorDest

int clang::doc::MDGeneratorAnchorDest = MDGeneratorAnchorSource
static

Definition at line 244 of file Generators.cpp.

◆ MDGeneratorAnchorSource

volatile int clang::doc::MDGeneratorAnchorSource = 0

Definition at line 505 of file MDGenerator.cpp.

◆ NamespaceTemplate

std::unique_ptr<MustacheTemplateFile> clang::doc::NamespaceTemplate = nullptr
static

◆ RecordIdCount

unsigned clang::doc::RecordIdCount = RI_LAST - RI_FIRST
staticconstexpr

Definition at line 162 of file BitcodeWriter.h.

◆ RecordIdNameMap

const llvm::IndexedMap<RecordIdDsc, RecordIdToIndexFunctor> clang::doc::RecordIdNameMap
static

Definition at line 144 of file BitcodeWriter.cpp.

◆ RecordsByBlock

const std::vector<std::pair<BlockId, std::vector<RecordId> > > clang::doc::RecordsByBlock
static

Definition at line 243 of file BitcodeWriter.cpp.

◆ RecordTemplate

std::unique_ptr<MustacheTemplateFile> clang::doc::RecordTemplate = nullptr
static

◆ SerializeInfoLambda

auto clang::doc::SerializeInfoLambda
static
Initial value:
= [](const auto &Info, Object &Object) {
serializeInfo(Info, Object);
}
static void serializeInfo(const ConstraintInfo &I, Object &Obj)
A base struct for Infos.

Definition at line 40 of file JSONGenerator.cpp.

Referenced by serializeInfo(), serializeInfo(), serializeInfo(), serializeInfo(), and serializeInfo().

◆ SerializeReferenceLambda

auto clang::doc::SerializeReferenceLambda
static
Initial value:
= [](const auto &Ref, Object &Object) {
serializeReference(Ref, Object);
}
static void serializeReference(const Reference &Ref, Object &ReferenceObj)

Definition at line 43 of file JSONGenerator.cpp.

Referenced by serializeCommonChildren(), serializeInfo(), and serializeInfo().

◆ USRVisited

llvm::StringSet clang::doc::USRVisited
static

Definition at line 21 of file Mapper.cpp.

◆ USRVisitedGuard

llvm::sys::SmartMutex<true> clang::doc::USRVisitedGuard
static

Definition at line 22 of file Mapper.cpp.

◆ VersionNumber

const unsigned clang::doc::VersionNumber = 3
static

Definition at line 30 of file BitcodeWriter.h.

Referenced by clang::doc::ClangDocBitcodeReader::readBitcode().

◆ YAMLGeneratorAnchorDest

int clang::doc::YAMLGeneratorAnchorDest = YAMLGeneratorAnchorSource
static

Definition at line 243 of file Generators.cpp.

◆ YAMLGeneratorAnchorSource

volatile int clang::doc::YAMLGeneratorAnchorSource = 0

Definition at line 426 of file YAMLGenerator.cpp.