clang-tools  9.0.0
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
clang::doc Namespace Reference

Namespaces

 serialize
 

Classes

struct  BitCodeConstants
 
struct  BlockIdToIndexFunctor
 
class  ClangDocBitcodeReader
 
class  ClangDocBitcodeWriter
 
struct  ClangDocContext
 
struct  CommentInfo
 
struct  EnumInfo
 
struct  FieldTypeInfo
 
struct  FunctionInfo
 
class  Generator
 
class  HTMLGenerator
 Generator for HTML documentation. More...
 
struct  Info
 A base struct for Infos. More...
 
struct  Location
 
class  MapASTVisitor
 
class  MapperActionFactory
 
class  MDGenerator
 Generator for Markdown documentation. More...
 
struct  MemberTypeInfo
 
struct  NamespaceInfo
 
struct  RecordIdDsc
 
struct  RecordIdToIndexFunctor
 
struct  RecordInfo
 
struct  Reference
 
struct  SymbolInfo
 
struct  TypeInfo
 
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_TYPE_BLOCK_ID,
  BI_FIELD_TYPE_BLOCK_ID, BI_MEMBER_TYPE_BLOCK_ID, BI_RECORD_BLOCK_ID, BI_FUNCTION_BLOCK_ID,
  BI_COMMENT_BLOCK_ID, BI_REFERENCE_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, COMMENT_KIND,
  COMMENT_TEXT, COMMENT_NAME, COMMENT_DIRECTION, COMMENT_PARAMNAME,
  COMMENT_CLOSENAME, COMMENT_SELFCLOSING, COMMENT_EXPLICIT, COMMENT_ATTRKEY,
  COMMENT_ATTRVAL, COMMENT_ARG, FIELD_TYPE_NAME, MEMBER_TYPE_NAME,
  MEMBER_TYPE_ACCESS, NAMESPACE_USR, NAMESPACE_NAME, NAMESPACE_PATH,
  ENUM_USR, ENUM_NAME, ENUM_DEFLOCATION, ENUM_LOCATION,
  ENUM_MEMBER, ENUM_SCOPED, RECORD_USR, RECORD_NAME,
  RECORD_PATH, RECORD_DEFLOCATION, RECORD_LOCATION, RECORD_TAG_TYPE,
  RECORD_IS_TYPE_DEF, REFERENCE_USR, REFERENCE_NAME, REFERENCE_TYPE,
  REFERENCE_PATH, REFERENCE_FIELD, RI_LAST, RI_FIRST = VERSION
}
 
enum  FieldId {
  FieldId::F_default, FieldId::F_namespace, FieldId::F_parent, FieldId::F_vparent,
  FieldId::F_type, FieldId::F_child_namespace, FieldId::F_child_record
}
 
enum  InfoType {
  InfoType::IT_default, InfoType::IT_namespace, InfoType::IT_record, InfoType::IT_function,
  InfoType::IT_enum
}
 

Functions

llvm::Error decodeRecord (Record R, llvm::SmallVectorImpl< char > &Field, llvm::StringRef Blob)
 
llvm::Error decodeRecord (Record R, SymbolID &Field, llvm::StringRef Blob)
 
llvm::Error decodeRecord (Record R, bool &Field, llvm::StringRef Blob)
 
llvm::Error decodeRecord (Record R, int &Field, llvm::StringRef Blob)
 
llvm::Error decodeRecord (Record R, AccessSpecifier &Field, llvm::StringRef Blob)
 
llvm::Error decodeRecord (Record R, TagTypeKind &Field, llvm::StringRef Blob)
 
llvm::Error decodeRecord (Record R, llvm::Optional< Location > &Field, llvm::StringRef Blob)
 
llvm::Error decodeRecord (Record R, InfoType &Field, llvm::StringRef Blob)
 
llvm::Error decodeRecord (Record R, FieldId &Field, llvm::StringRef Blob)
 
llvm::Error decodeRecord (Record R, llvm::SmallVectorImpl< llvm::SmallString< 16 >> &Field, llvm::StringRef Blob)
 
llvm::Error decodeRecord (Record R, llvm::SmallVectorImpl< Location > &Field, llvm::StringRef Blob)
 
llvm::Error parseRecord (Record R, unsigned ID, llvm::StringRef Blob, const unsigned VersionNo)
 
llvm::Error parseRecord (Record R, unsigned ID, llvm::StringRef Blob, NamespaceInfo *I)
 
llvm::Error parseRecord (Record R, unsigned ID, llvm::StringRef Blob, RecordInfo *I)
 
llvm::Error parseRecord (Record R, unsigned ID, llvm::StringRef Blob, EnumInfo *I)
 
llvm::Error parseRecord (Record R, unsigned ID, llvm::StringRef Blob, FunctionInfo *I)
 
llvm::Error parseRecord (Record R, unsigned ID, llvm::StringRef Blob, TypeInfo *I)
 
llvm::Error parseRecord (Record R, unsigned ID, llvm::StringRef Blob, FieldTypeInfo *I)
 
llvm::Error parseRecord (Record R, unsigned ID, llvm::StringRef Blob, MemberTypeInfo *I)
 
llvm::Error parseRecord (Record R, unsigned ID, llvm::StringRef Blob, CommentInfo *I)
 
llvm::Error parseRecord (Record R, unsigned ID, llvm::StringRef Blob, Reference *I, FieldId &F)
 
template<typename T >
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 (EnumInfo *I)
 
template<>
llvm::Expected< CommentInfo * > getCommentInfo (CommentInfo *I)
 
template<>
llvm::Expected< CommentInfo * > getCommentInfo (std::unique_ptr< CommentInfo > &I)
 
template<typename T , typename TTypeInfo >
llvm::Error addTypeInfo (T I, TTypeInfo &&TI)
 
template<>
llvm::Error addTypeInfo (RecordInfo *I, MemberTypeInfo &&T)
 
template<>
llvm::Error addTypeInfo (FunctionInfo *I, TypeInfo &&T)
 
template<>
llvm::Error addTypeInfo (FunctionInfo *I, FieldTypeInfo &&T)
 
template<typename T >
llvm::Error addReference (T 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 (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<typename T , typename ChildInfoType >
void addChild (T I, ChildInfoType &&R)
 
template<>
void addChild (NamespaceInfo *I, FunctionInfo &&R)
 
template<>
void addChild (NamespaceInfo *I, EnumInfo &&R)
 
template<>
void addChild (RecordInfo *I, FunctionInfo &&R)
 
template<>
void addChild (RecordInfo *I, EnumInfo &&R)
 
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)
 
std::unique_ptr< tooling::FrontendActionFactory > newMapperActionFactory (ClangDocContext CDCtx)
 
llvm::Expected< std::unique_ptr< Generator > > findGeneratorByName (llvm::StringRef Format)
 
std::string getAccess (AccessSpecifier AS)
 
std::string getTagType (TagTypeKind AS)
 
template<typename Derived , typename Base , typename = std::enable_if<std::is_base_of<Derived, Base>::value>>
static void AppendVector (std::vector< Derived > &&New, std::vector< Base > &Original)
 
static SmallString< 128 > computeRelativePath (StringRef FilePath, StringRef Directory)
 
static std::unique_ptr< TagNode > genLink (const Twine &Text, const Twine &Link)
 
static std::unique_ptr< HTMLNode > genTypeReference (const Reference &Type, StringRef CurrentDirectory)
 
static std::vector< std::unique_ptr< HTMLNode > > genReferenceList (const llvm::SmallVectorImpl< Reference > &Refs, const StringRef &CurrentDirectory)
 
static std::vector< std::unique_ptr< TagNode > > genHTML (const EnumInfo &I)
 
static std::vector< std::unique_ptr< TagNode > > genHTML (const FunctionInfo &I, StringRef ParentInfoDir)
 
static std::vector< std::unique_ptr< TagNode > > genEnumsBlock (const std::vector< EnumInfo > &Enums)
 
static std::unique_ptr< TagNode > genEnumMembersBlock (const llvm::SmallVector< SmallString< 16 >, 4 > &Members)
 
static std::vector< std::unique_ptr< TagNode > > genFunctionsBlock (const std::vector< FunctionInfo > &Functions, StringRef ParentInfoDir)
 
static std::vector< std::unique_ptr< TagNode > > genRecordMembersBlock (const llvm::SmallVector< MemberTypeInfo, 4 > &Members, StringRef ParentInfoDir)
 
static std::vector< std::unique_ptr< TagNode > > genReferencesBlock (const std::vector< Reference > &References, llvm::StringRef Title)
 
static std::unique_ptr< TagNode > writeFileDefinition (const Location &L)
 
static std::unique_ptr< HTMLNode > genHTML (const CommentInfo &I)
 
static std::unique_ptr< TagNode > genHTML (const std::vector< CommentInfo > &C)
 
static std::vector< std::unique_ptr< TagNode > > genHTML (const NamespaceInfo &I, std::string &InfoTitle)
 
static std::vector< std::unique_ptr< TagNode > > genHTML (const RecordInfo &I, std::string &InfoTitle)
 
static GeneratorRegistry::Add< HTMLGeneratorHTML (HTMLGenerator::Format, "Generator for HTML output.")
 
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 writeFileDefinition (const Location &L, raw_ostream &OS)
 
static void writeDescription (const CommentInfo &I, raw_ostream &OS)
 
static void genMarkdown (const EnumInfo &I, llvm::raw_ostream &OS)
 
static void genMarkdown (const FunctionInfo &I, llvm::raw_ostream &OS)
 
static void genMarkdown (const NamespaceInfo &I, llvm::raw_ostream &OS)
 
static void genMarkdown (const RecordInfo &I, llvm::raw_ostream &OS)
 
static GeneratorRegistry::Add< MDGeneratorMD (MDGenerator::Format, "Generator for MD output.")
 
llvm::Expected< std::unique_ptr< Info > > mergeInfos (std::vector< std::unique_ptr< Info >> &Values)
 
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 = 2
 
static constexpr unsigned BlockIdCount = BI_LAST - BI_FIRST
 
static constexpr unsigned RecordIdCount = RI_LAST - RI_FIRST
 
volatile int YAMLGeneratorAnchorSource = 0
 
volatile int MDGeneratorAnchorSource = 0
 
volatile int HTMLGeneratorAnchorSource = 0
 
static int LLVM_ATTRIBUTE_UNUSED YAMLGeneratorAnchorDest
 
static int LLVM_ATTRIBUTE_UNUSED MDGeneratorAnchorDest
 
static int LLVM_ATTRIBUTE_UNUSED HTMLGeneratorAnchorDest
 

Typedef Documentation

◆ AbbrevDsc

using clang::doc::AbbrevDsc = typedef 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 32 of file Generators.h.

◆ Record

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

Definition at line 18 of file BitcodeReader.cpp.

◆ SymbolID

using clang::doc::SymbolID = typedef 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_TYPE_BLOCK_ID 
BI_FIELD_TYPE_BLOCK_ID 
BI_MEMBER_TYPE_BLOCK_ID 
BI_RECORD_BLOCK_ID 
BI_FUNCTION_BLOCK_ID 
BI_COMMENT_BLOCK_ID 
BI_REFERENCE_BLOCK_ID 
BI_LAST 
BI_FIRST 

Definition at line 53 of file BitcodeWriter.h.

◆ FieldId

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

Definition at line 121 of file BitcodeWriter.h.

◆ InfoType

enum clang::doc::InfoType
strong
Enumerator
IT_default 
IT_namespace 
IT_record 
IT_function 
IT_enum 

Definition at line 36 of file Representation.h.

◆ RecordId

Enumerator
VERSION 
FUNCTION_USR 
FUNCTION_NAME 
FUNCTION_DEFLOCATION 
FUNCTION_LOCATION 
FUNCTION_ACCESS 
FUNCTION_IS_METHOD 
COMMENT_KIND 
COMMENT_TEXT 
COMMENT_NAME 
COMMENT_DIRECTION 
COMMENT_PARAMNAME 
COMMENT_CLOSENAME 
COMMENT_SELFCLOSING 
COMMENT_EXPLICIT 
COMMENT_ATTRKEY 
COMMENT_ATTRVAL 
COMMENT_ARG 
FIELD_TYPE_NAME 
MEMBER_TYPE_NAME 
MEMBER_TYPE_ACCESS 
NAMESPACE_USR 
NAMESPACE_NAME 
NAMESPACE_PATH 
ENUM_USR 
ENUM_NAME 
ENUM_DEFLOCATION 
ENUM_LOCATION 
ENUM_MEMBER 
ENUM_SCOPED 
RECORD_USR 
RECORD_NAME 
RECORD_PATH 
RECORD_DEFLOCATION 
RECORD_LOCATION 
RECORD_TAG_TYPE 
RECORD_IS_TYPE_DEF 
REFERENCE_USR 
REFERENCE_NAME 
REFERENCE_TYPE 
REFERENCE_PATH 
REFERENCE_FIELD 
RI_LAST 
RI_FIRST 

Definition at line 70 of file BitcodeWriter.h.

Function Documentation

◆ AbbrevGen()

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

Definition at line 33 of file BitcodeWriter.cpp.

Referenced by BoolAbbrev(), IntAbbrev(), LocationAbbrev(), StringAbbrev(), and SymbolIDAbbrev().

◆ addChild() [1/5]

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

Definition at line 474 of file BitcodeReader.cpp.

◆ addChild() [2/5]

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

Definition at line 479 of file BitcodeReader.cpp.

References clang::doc::NamespaceInfo::ChildFunctions.

◆ addChild() [3/5]

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

Definition at line 483 of file BitcodeReader.cpp.

References clang::doc::NamespaceInfo::ChildEnums.

◆ addChild() [4/5]

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

Definition at line 487 of file BitcodeReader.cpp.

References clang::doc::RecordInfo::ChildFunctions.

◆ addChild() [5/5]

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

Definition at line 491 of file BitcodeReader.cpp.

References clang::doc::RecordInfo::ChildEnums.

◆ addReference() [1/8]

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

Definition at line 361 of file BitcodeReader.cpp.

◆ addReference() [2/8]

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

Definition at line 367 of file BitcodeReader.cpp.

◆ addReference() [3/8]

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

Definition at line 380 of file BitcodeReader.cpp.

◆ addReference() [4/8]

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

Definition at line 393 of file BitcodeReader.cpp.

◆ addReference() [5/8]

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

Definition at line 405 of file BitcodeReader.cpp.

◆ addReference() [6/8]

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

Definition at line 418 of file BitcodeReader.cpp.

◆ addReference() [7/8]

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

Definition at line 437 of file BitcodeReader.cpp.

◆ addReference() [8/8]

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

Definition at line 452 of file BitcodeReader.cpp.

◆ addTypeInfo() [1/4]

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

Definition at line 340 of file BitcodeReader.cpp.

◆ addTypeInfo() [2/4]

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

Definition at line 346 of file BitcodeReader.cpp.

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

◆ addTypeInfo() [3/4]

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

Definition at line 351 of file BitcodeReader.cpp.

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

◆ addTypeInfo() [4/4]

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

Definition at line 356 of file BitcodeReader.cpp.

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

◆ AppendVector()

template<typename Derived , typename Base , typename = std::enable_if<std::is_base_of<Derived, Base>::value>>
static void clang::doc::AppendVector ( std::vector< Derived > &&  New,
std::vector< Base > &  Original 
)
static

Definition at line 214 of file HTMLGenerator.cpp.

◆ BoolAbbrev()

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

Definition at line 39 of file BitcodeWriter.cpp.

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

◆ computeRelativePath()

static SmallString<128> clang::doc::computeRelativePath ( StringRef  FilePath,
StringRef  Directory 
)
static

Definition at line 221 of file HTMLGenerator.cpp.

References Directory, Path, and Result.

Referenced by genTypeReference().

◆ decodeRecord() [1/11]

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

Definition at line 20 of file BitcodeReader.cpp.

◆ decodeRecord() [2/11]

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

Definition at line 26 of file BitcodeReader.cpp.

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

◆ decodeRecord() [3/11]

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

Definition at line 38 of file BitcodeReader.cpp.

◆ decodeRecord() [4/11]

llvm::Error clang::doc::decodeRecord ( Record  R,
int &  Field,
llvm::StringRef  Blob 
)

Definition at line 43 of file BitcodeReader.cpp.

◆ decodeRecord() [5/11]

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

Definition at line 51 of file BitcodeReader.cpp.

◆ decodeRecord() [6/11]

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

Definition at line 66 of file BitcodeReader.cpp.

◆ decodeRecord() [7/11]

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

Definition at line 81 of file BitcodeReader.cpp.

◆ decodeRecord() [8/11]

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

Definition at line 90 of file BitcodeReader.cpp.

References IT_default, IT_enum, IT_function, IT_namespace, and IT_record.

◆ decodeRecord() [9/11]

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

Definition at line 104 of file BitcodeReader.cpp.

◆ decodeRecord() [10/11]

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

Definition at line 120 of file BitcodeReader.cpp.

◆ decodeRecord() [11/11]

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

Definition at line 127 of file BitcodeReader.cpp.

◆ findGeneratorByName()

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

Definition at line 17 of file Generators.cpp.

Referenced by main().

◆ genEmphasis()

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

Definition at line 27 of file MDGenerator.cpp.

◆ genEnumMembersBlock()

static std::unique_ptr<TagNode> clang::doc::genEnumMembersBlock ( const llvm::SmallVector< SmallString< 16 >, 4 > &  Members)
static

Definition at line 293 of file HTMLGenerator.cpp.

◆ genEnumsBlock()

static std::vector<std::unique_ptr<TagNode> > clang::doc::genEnumsBlock ( const std::vector< EnumInfo > &  Enums)
static

Definition at line 277 of file HTMLGenerator.cpp.

◆ genFunctionsBlock()

static std::vector<std::unique_ptr<TagNode> > clang::doc::genFunctionsBlock ( const std::vector< FunctionInfo > &  Functions,
StringRef  ParentInfoDir 
)
static

Definition at line 304 of file HTMLGenerator.cpp.

◆ genHTML() [1/6]

static std::vector< std::unique_ptr< TagNode > > clang::doc::genHTML ( const EnumInfo I)
static

Definition at line 401 of file HTMLGenerator.cpp.

◆ genHTML() [2/6]

static std::vector< std::unique_ptr< TagNode > > clang::doc::genHTML ( const FunctionInfo I,
StringRef  ParentInfoDir 
)
static

Definition at line 426 of file HTMLGenerator.cpp.

◆ genHTML() [3/6]

static std::unique_ptr<HTMLNode> clang::doc::genHTML ( const CommentInfo I)
static

Definition at line 365 of file HTMLGenerator.cpp.

References clang::doc::CommentInfo::Kind.

◆ genHTML() [4/6]

static std::unique_ptr<TagNode> clang::doc::genHTML ( const std::vector< CommentInfo > &  C)
static

Definition at line 392 of file HTMLGenerator.cpp.

◆ genHTML() [5/6]

static std::vector<std::unique_ptr<TagNode> > clang::doc::genHTML ( const NamespaceInfo I,
std::string &  InfoTitle 
)
static

Definition at line 466 of file HTMLGenerator.cpp.

◆ genHTML() [6/6]

static std::vector<std::unique_ptr<TagNode> > clang::doc::genHTML ( const RecordInfo I,
std::string &  InfoTitle 
)
static

Definition at line 497 of file HTMLGenerator.cpp.

◆ genItalic()

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

Definition at line 23 of file MDGenerator.cpp.

◆ genLink()

static std::unique_ptr<TagNode> clang::doc::genLink ( const Twine &  Text,
const Twine &  Link 
)
static

Definition at line 244 of file HTMLGenerator.cpp.

Referenced by genTypeReference().

◆ genMarkdown() [1/4]

static void clang::doc::genMarkdown ( const EnumInfo I,
llvm::raw_ostream &  OS 
)
static

Definition at line 107 of file MDGenerator.cpp.

◆ genMarkdown() [2/4]

static void clang::doc::genMarkdown ( const FunctionInfo I,
llvm::raw_ostream &  OS 
)
static

Definition at line 127 of file MDGenerator.cpp.

◆ genMarkdown() [3/4]

static void clang::doc::genMarkdown ( const NamespaceInfo I,
llvm::raw_ostream &  OS 
)
static

Definition at line 154 of file MDGenerator.cpp.

◆ genMarkdown() [4/4]

static void clang::doc::genMarkdown ( const RecordInfo I,
llvm::raw_ostream &  OS 
)
static

Definition at line 193 of file MDGenerator.cpp.

◆ genRecordMembersBlock()

static std::vector<std::unique_ptr<TagNode> > clang::doc::genRecordMembersBlock ( const llvm::SmallVector< MemberTypeInfo, 4 > &  Members,
StringRef  ParentInfoDir 
)
static

Definition at line 321 of file HTMLGenerator.cpp.

◆ genReferenceList() [1/2]

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

Definition at line 32 of file MDGenerator.cpp.

◆ genReferenceList() [2/2]

static std::vector<std::unique_ptr<HTMLNode> > clang::doc::genReferenceList ( const llvm::SmallVectorImpl< Reference > &  Refs,
const StringRef &  CurrentDirectory 
)
static

Definition at line 261 of file HTMLGenerator.cpp.

◆ genReferencesBlock()

static std::vector<std::unique_ptr<TagNode> > clang::doc::genReferencesBlock ( const std::vector< Reference > &  References,
llvm::StringRef  Title 
)
static

Definition at line 344 of file HTMLGenerator.cpp.

◆ genTypeReference()

static std::unique_ptr<HTMLNode> clang::doc::genTypeReference ( const Reference Type,
StringRef  CurrentDirectory 
)
static

◆ getAccess()

std::string clang::doc::getAccess ( AccessSpecifier  AS)

Definition at line 30 of file Generators.cpp.

◆ getCommentInfo() [1/7]

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

Definition at line 303 of file BitcodeReader.cpp.

Referenced by getCommentInfo().

◆ getCommentInfo() [2/7]

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

Definition at line 309 of file BitcodeReader.cpp.

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

◆ getCommentInfo() [3/7]

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

Definition at line 314 of file BitcodeReader.cpp.

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

◆ getCommentInfo() [4/7]

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

Definition at line 319 of file BitcodeReader.cpp.

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

◆ getCommentInfo() [5/7]

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

Definition at line 324 of file BitcodeReader.cpp.

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

◆ getCommentInfo() [6/7]

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

Definition at line 329 of file BitcodeReader.cpp.

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

◆ getCommentInfo() [7/7]

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

Definition at line 335 of file BitcodeReader.cpp.

References getCommentInfo().

◆ getTagType()

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

◆ HTML()

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

◆ IntAbbrev()

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

Definition at line 46 of file BitcodeWriter.cpp.

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

◆ LocationAbbrev()

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

◆ MD()

static 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)

Definition at line 95 of file Representation.cpp.

References IT_enum, IT_function, IT_namespace, and IT_record.

◆ newMapperActionFactory()

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

Definition at line 56 of file ClangDoc.cpp.

◆ parseRecord() [1/10]

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

Definition at line 136 of file BitcodeReader.cpp.

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

◆ parseRecord() [2/10]

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

Definition at line 144 of file BitcodeReader.cpp.

◆ parseRecord() [3/10]

llvm::Error clang::doc::parseRecord ( Record  R,
unsigned  ID,
llvm::StringRef  Blob,
RecordInfo I 
)

Definition at line 159 of file BitcodeReader.cpp.

◆ parseRecord() [4/10]

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

Definition at line 182 of file BitcodeReader.cpp.

◆ parseRecord() [5/10]

llvm::Error clang::doc::parseRecord ( Record  R,
unsigned  ID,
llvm::StringRef  Blob,
FunctionInfo I 
)

Definition at line 203 of file BitcodeReader.cpp.

◆ parseRecord() [6/10]

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

Definition at line 224 of file BitcodeReader.cpp.

◆ parseRecord() [7/10]

llvm::Error clang::doc::parseRecord ( Record  R,
unsigned  ID,
llvm::StringRef  Blob,
FieldTypeInfo I 
)

Definition at line 229 of file BitcodeReader.cpp.

◆ parseRecord() [8/10]

llvm::Error clang::doc::parseRecord ( Record  R,
unsigned  ID,
llvm::StringRef  Blob,
MemberTypeInfo I 
)

Definition at line 240 of file BitcodeReader.cpp.

◆ parseRecord() [9/10]

llvm::Error clang::doc::parseRecord ( Record  R,
unsigned  ID,
llvm::StringRef  Blob,
CommentInfo I 
)

Definition at line 253 of file BitcodeReader.cpp.

◆ parseRecord() [10/10]

llvm::Error clang::doc::parseRecord ( Record  R,
unsigned  ID,
llvm::StringRef  Blob,
Reference I,
FieldId F 
)

Definition at line 284 of file BitcodeReader.cpp.

◆ StringAbbrev()

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

◆ SymbolIDAbbrev()

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

◆ writeDescription()

static void clang::doc::writeDescription ( const CommentInfo I,
raw_ostream &  OS 
)
static

Definition at line 59 of file MDGenerator.cpp.

◆ writeFileDefinition() [1/2]

static void clang::doc::writeFileDefinition ( const Location L,
raw_ostream &  OS 
)
static

Definition at line 53 of file MDGenerator.cpp.

◆ writeFileDefinition() [2/2]

static std::unique_ptr<TagNode> clang::doc::writeFileDefinition ( const Location L)
static

◆ writeHeader()

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

Definition at line 49 of file MDGenerator.cpp.

◆ writeLine()

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

Definition at line 43 of file MDGenerator.cpp.

◆ writeNewLine()

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

Definition at line 47 of file MDGenerator.cpp.

◆ YAML()

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

Variable Documentation

◆ BlockIdCount

constexpr unsigned clang::doc::BlockIdCount = BI_LAST - BI_FIRST
static

Definition at line 117 of file BitcodeWriter.h.

◆ BlockIdNameMap

const llvm::IndexedMap<llvm::StringRef, BlockIdToIndexFunctor> clang::doc::BlockIdNameMap
static
Initial value:
= []() {
llvm::IndexedMap<llvm::StringRef, BlockIdToIndexFunctor> BlockIdNameMap;
BlockIdNameMap.resize(BlockIdCount);
static const std::vector<std::pair<BlockId, const char *const>> Inits = {
{BI_VERSION_BLOCK_ID, "VersionBlock"},
{BI_NAMESPACE_BLOCK_ID, "NamespaceBlock"},
{BI_ENUM_BLOCK_ID, "EnumBlock"},
{BI_TYPE_BLOCK_ID, "TypeBlock"},
{BI_FIELD_TYPE_BLOCK_ID, "FieldTypeBlock"},
{BI_MEMBER_TYPE_BLOCK_ID, "MemberTypeBlock"},
{BI_RECORD_BLOCK_ID, "RecordBlock"},
{BI_FUNCTION_BLOCK_ID, "FunctionBlock"},
{BI_COMMENT_BLOCK_ID, "CommentBlock"},
{BI_REFERENCE_BLOCK_ID, "ReferenceBlock"}};
assert(Inits.size() == BlockIdCount);
for (const auto &Init : Inits)
BlockIdNameMap[Init.first] = Init.second;
assert(BlockIdNameMap.size() == BlockIdCount);
}()
static constexpr unsigned BlockIdCount
static const llvm::IndexedMap< llvm::StringRef, BlockIdToIndexFunctor > BlockIdNameMap

Definition at line 102 of file BitcodeWriter.cpp.

◆ EmptySID

const SymbolID clang::doc::EmptySID = SymbolID()
static

Definition at line 17 of file BitcodeWriter.cpp.

◆ HTMLGeneratorAnchorDest

int LLVM_ATTRIBUTE_UNUSED clang::doc::HTMLGeneratorAnchorDest
static
Initial value:

Definition at line 69 of file Generators.cpp.

◆ HTMLGeneratorAnchorSource

volatile int clang::doc::HTMLGeneratorAnchorSource = 0

Definition at line 609 of file HTMLGenerator.cpp.

Referenced by getTagType().

◆ MDGeneratorAnchorDest

int LLVM_ATTRIBUTE_UNUSED clang::doc::MDGeneratorAnchorDest
static
Initial value:

Definition at line 67 of file Generators.cpp.

◆ MDGeneratorAnchorSource

volatile int clang::doc::MDGeneratorAnchorSource = 0

Definition at line 284 of file MDGenerator.cpp.

Referenced by getTagType().

◆ RecordIdCount

constexpr unsigned clang::doc::RecordIdCount = RI_LAST - RI_FIRST
static

Definition at line 118 of file BitcodeWriter.h.

◆ RecordIdNameMap

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

Definition at line 127 of file BitcodeWriter.cpp.

◆ RecordsByBlock

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

Definition at line 186 of file BitcodeWriter.cpp.

◆ VersionNumber

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

Definition at line 33 of file BitcodeWriter.h.

◆ YAMLGeneratorAnchorDest

int LLVM_ATTRIBUTE_UNUSED clang::doc::YAMLGeneratorAnchorDest
static
Initial value:

Definition at line 65 of file Generators.cpp.

◆ YAMLGeneratorAnchorSource

volatile int clang::doc::YAMLGeneratorAnchorSource = 0

Definition at line 278 of file YAMLGenerator.cpp.

Referenced by getTagType().