clang-tools 20.0.0git
|
Classes | |
class | ClangDocCommentVisitor |
Functions | |
SymbolID | hashUSR (llvm::StringRef USR) |
template<typename T > | |
static void | populateParentNamespaces (llvm::SmallVector< Reference, 4 > &Namespaces, const T *D, bool &IsAnonymousNamespace) |
static void | populateMemberTypeInfo (MemberTypeInfo &I, const FieldDecl *D) |
llvm::SmallString< 128 > | getInfoRelativePath (const llvm::SmallVectorImpl< doc::Reference > &Namespaces) |
llvm::SmallString< 128 > | getInfoRelativePath (const Decl *D) |
std::string | getSourceCode (const Decl *D, const SourceRange &R) |
template<typename T > | |
static std::string | serialize (T &I) |
std::string | serialize (std::unique_ptr< Info > &I) |
static void | parseFullComment (const FullComment *C, CommentInfo &CI) |
static SymbolID | getUSRForDecl (const Decl *D) |
static TagDecl * | getTagDeclForType (const QualType &T) |
static RecordDecl * | getRecordDeclForType (const QualType &T) |
TypeInfo | getTypeInfoForType (const QualType &T) |
static bool | isPublic (const clang::AccessSpecifier AS, const clang::Linkage Link) |
static bool | shouldSerializeInfo (bool PublicOnly, bool IsInAnonymousNamespace, const NamedDecl *D) |
static void | InsertChild (ScopeChildren &Scope, const NamespaceInfo &Info) |
static void | InsertChild (ScopeChildren &Scope, const RecordInfo &Info) |
static void | InsertChild (ScopeChildren &Scope, EnumInfo Info) |
static void | InsertChild (ScopeChildren &Scope, FunctionInfo Info) |
static void | InsertChild (ScopeChildren &Scope, TypedefInfo Info) |
template<typename ChildType > | |
std::unique_ptr< Info > | MakeAndInsertIntoParent (ChildType Child) |
static AccessSpecifier | getFinalAccessSpecifier (AccessSpecifier FirstAS, AccessSpecifier SecondAS) |
static void | parseFields (RecordInfo &I, const RecordDecl *D, bool PublicOnly, AccessSpecifier Access=AccessSpecifier::AS_public) |
static void | parseEnumerators (EnumInfo &I, const EnumDecl *D) |
static void | parseParameters (FunctionInfo &I, const FunctionDecl *D) |
static void | parseBases (RecordInfo &I, const CXXRecordDecl *D) |
void | PopulateTemplateParameters (std::optional< TemplateInfo > &TemplateInfo, const clang::Decl *D) |
TemplateParamInfo | TemplateArgumentToInfo (const clang::Decl *D, const TemplateArgument &Arg) |
template<typename T > | |
static void | populateInfo (Info &I, const T *D, const FullComment *C, bool &IsInAnonymousNamespace) |
template<typename T > | |
static void | populateSymbolInfo (SymbolInfo &I, const T *D, const FullComment *C, int LineNumber, StringRef Filename, bool IsFileInRootDir, bool &IsInAnonymousNamespace) |
static void | populateFunctionInfo (FunctionInfo &I, const FunctionDecl *D, const FullComment *FC, int LineNumber, StringRef Filename, bool IsFileInRootDir, bool &IsInAnonymousNamespace) |
static void | parseBases (RecordInfo &I, const CXXRecordDecl *D, bool IsFileInRootDir, bool PublicOnly, bool IsParent, AccessSpecifier ParentAccess=AccessSpecifier::AS_public) |
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > | emitInfo (const NamespaceDecl *D, const FullComment *FC, int LineNumber, llvm::StringRef File, bool IsFileInRootDir, bool PublicOnly) |
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > | emitInfo (const RecordDecl *D, const FullComment *FC, int LineNumber, llvm::StringRef File, bool IsFileInRootDir, bool PublicOnly) |
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > | emitInfo (const FunctionDecl *D, const FullComment *FC, int LineNumber, llvm::StringRef File, bool IsFileInRootDir, bool PublicOnly) |
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > | emitInfo (const CXXMethodDecl *D, const FullComment *FC, int LineNumber, llvm::StringRef File, bool IsFileInRootDir, bool PublicOnly) |
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > | emitInfo (const TypedefDecl *D, const FullComment *FC, int LineNumber, StringRef File, bool IsFileInRootDir, bool PublicOnly) |
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > | emitInfo (const TypeAliasDecl *D, const FullComment *FC, int LineNumber, StringRef File, bool IsFileInRootDir, bool PublicOnly) |
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > | emitInfo (const EnumDecl *D, const FullComment *FC, int LineNumber, llvm::StringRef File, bool IsFileInRootDir, bool PublicOnly) |
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > | emitInfo (const NamespaceDecl *D, const FullComment *FC, int LineNumber, StringRef File, bool IsFileInRootDir, bool PublicOnly) |
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > | emitInfo (const RecordDecl *D, const FullComment *FC, int LineNumber, StringRef File, bool IsFileInRootDir, bool PublicOnly) |
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > | emitInfo (const EnumDecl *D, const FullComment *FC, int LineNumber, StringRef File, bool IsFileInRootDir, bool PublicOnly) |
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > | emitInfo (const FunctionDecl *D, const FullComment *FC, int LineNumber, StringRef File, bool IsFileInRootDir, bool PublicOnly) |
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > | emitInfo (const CXXMethodDecl *D, const FullComment *FC, int LineNumber, StringRef File, bool IsFileInRootDir, bool PublicOnly) |
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > clang::doc::serialize::emitInfo | ( | const CXXMethodDecl * | D, |
const FullComment * | FC, | ||
int | LineNumber, | ||
llvm::StringRef | File, | ||
bool | IsFileInRootDir, | ||
bool | PublicOnly | ||
) |
Definition at line 747 of file Serialize.cpp.
References clang::doc::FunctionInfo::Access, getUSRForDecl(), clang::doc::FunctionInfo::IsMethod, clang::doc::IT_record, clang::doc::FunctionInfo::Parent, Parent, populateFunctionInfo(), PublicOnly(), and shouldSerializeInfo().
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > clang::doc::serialize::emitInfo | ( | const CXXMethodDecl * | D, |
const FullComment * | FC, | ||
int | LineNumber, | ||
StringRef | File, | ||
bool | IsFileInRootDir, | ||
bool | PublicOnly | ||
) |
References serialize().
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > clang::doc::serialize::emitInfo | ( | const EnumDecl * | D, |
const FullComment * | FC, | ||
int | LineNumber, | ||
llvm::StringRef | File, | ||
bool | IsFileInRootDir, | ||
bool | PublicOnly | ||
) |
Definition at line 820 of file Serialize.cpp.
References Name, parseEnumerators(), populateSymbolInfo(), PublicOnly(), and shouldSerializeInfo().
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > clang::doc::serialize::emitInfo | ( | const EnumDecl * | D, |
const FullComment * | FC, | ||
int | LineNumber, | ||
StringRef | File, | ||
bool | IsFileInRootDir, | ||
bool | PublicOnly | ||
) |
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > clang::doc::serialize::emitInfo | ( | const FunctionDecl * | D, |
const FullComment * | FC, | ||
int | LineNumber, | ||
llvm::StringRef | File, | ||
bool | IsFileInRootDir, | ||
bool | PublicOnly | ||
) |
Definition at line 732 of file Serialize.cpp.
References clang::doc::FunctionInfo::Access, populateFunctionInfo(), PublicOnly(), and shouldSerializeInfo().
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > clang::doc::serialize::emitInfo | ( | const FunctionDecl * | D, |
const FullComment * | FC, | ||
int | LineNumber, | ||
StringRef | File, | ||
bool | IsFileInRootDir, | ||
bool | PublicOnly | ||
) |
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > clang::doc::serialize::emitInfo | ( | const NamespaceDecl * | D, |
const FullComment * | FC, | ||
int | LineNumber, | ||
llvm::StringRef | File, | ||
bool | IsFileInRootDir, | ||
bool | PublicOnly | ||
) |
Definition at line 642 of file Serialize.cpp.
References getInfoRelativePath(), populateInfo(), PublicOnly(), and shouldSerializeInfo().
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > clang::doc::serialize::emitInfo | ( | const NamespaceDecl * | D, |
const FullComment * | FC, | ||
int | LineNumber, | ||
StringRef | File, | ||
bool | IsFileInRootDir, | ||
bool | PublicOnly | ||
) |
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > clang::doc::serialize::emitInfo | ( | const RecordDecl * | D, |
const FullComment * | FC, | ||
int | LineNumber, | ||
llvm::StringRef | File, | ||
bool | IsFileInRootDir, | ||
bool | PublicOnly | ||
) |
Definition at line 663 of file Serialize.cpp.
References C, getInfoRelativePath(), getSourceCode(), getUSRForDecl(), Parent, parseBases(), parseFields(), populateSymbolInfo(), PopulateTemplateParameters(), PublicOnly(), shouldSerializeInfo(), and TemplateArgumentToInfo().
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > clang::doc::serialize::emitInfo | ( | const RecordDecl * | D, |
const FullComment * | FC, | ||
int | LineNumber, | ||
StringRef | File, | ||
bool | IsFileInRootDir, | ||
bool | PublicOnly | ||
) |
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > clang::doc::serialize::emitInfo | ( | const TypeAliasDecl * | D, |
const FullComment * | FC, | ||
int | LineNumber, | ||
StringRef | File, | ||
bool | IsFileInRootDir, | ||
bool | PublicOnly | ||
) |
Definition at line 802 of file Serialize.cpp.
References getTypeInfoForType(), populateInfo(), PublicOnly(), and shouldSerializeInfo().
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > clang::doc::serialize::emitInfo | ( | const TypedefDecl * | D, |
const FullComment * | FC, | ||
int | LineNumber, | ||
StringRef | File, | ||
bool | IsFileInRootDir, | ||
bool | PublicOnly | ||
) |
Definition at line 776 of file Serialize.cpp.
References getTypeInfoForType(), clang::doc::Info::Name, populateInfo(), PublicOnly(), and shouldSerializeInfo().
|
static |
Definition at line 360 of file Serialize.cpp.
Referenced by parseBases(), and parseFields().
llvm::SmallString< 128 > clang::doc::serialize::getInfoRelativePath | ( | const Decl * | D | ) |
Definition at line 56 of file Serialize.cpp.
References getInfoRelativePath(), and populateParentNamespaces().
llvm::SmallString< 128 > clang::doc::serialize::getInfoRelativePath | ( | const llvm::SmallVectorImpl< doc::Reference > & | Namespaces | ) |
Definition at line 49 of file Serialize.cpp.
Referenced by emitInfo(), getInfoRelativePath(), getTypeInfoForType(), InsertChild(), and parseBases().
|
static |
Definition at line 233 of file Serialize.cpp.
Referenced by parseBases().
std::string clang::doc::serialize::getSourceCode | ( | const Decl * | D, |
const SourceRange & | R | ||
) |
Definition at line 185 of file Serialize.cpp.
Referenced by emitInfo(), parseEnumerators(), parseParameters(), and PopulateTemplateParameters().
|
static |
Definition at line 227 of file Serialize.cpp.
Referenced by getTypeInfoForType().
TypeInfo clang::doc::serialize::getTypeInfoForType | ( | const QualType & | T | ) |
Definition at line 239 of file Serialize.cpp.
References getInfoRelativePath(), getTagDeclForType(), getUSRForDecl(), clang::doc::IT_default, clang::doc::IT_enum, and clang::doc::IT_record.
Referenced by emitInfo(), parseFields(), parseParameters(), and populateFunctionInfo().
Definition at line 220 of file Serialize.cpp.
References hashUSR(), and USR.
Referenced by emitInfo(), getTypeInfoForType(), parseBases(), populateFunctionInfo(), populateInfo(), and populateParentNamespaces().
SymbolID clang::doc::serialize::hashUSR | ( | llvm::StringRef | USR | ) |
|
static |
Definition at line 282 of file Serialize.cpp.
References getInfoRelativePath(), clang::doc::IT_namespace, clang::doc::Info::Name, clang::doc::Info::Namespace, clang::doc::ScopeChildren::Namespaces, and clang::doc::Info::USR.
Referenced by MakeAndInsertIntoParent().
|
static |
Definition at line 287 of file Serialize.cpp.
References getInfoRelativePath(), clang::doc::IT_record, clang::doc::Info::Name, clang::doc::Info::Namespace, clang::doc::ScopeChildren::Records, and clang::doc::Info::USR.
|
static |
Definition at line 292 of file Serialize.cpp.
References clang::doc::ScopeChildren::Enums.
|
static |
Definition at line 296 of file Serialize.cpp.
References clang::doc::ScopeChildren::Functions.
|
static |
Definition at line 300 of file Serialize.cpp.
References clang::doc::ScopeChildren::Typedefs.
|
static |
Definition at line 256 of file Serialize.cpp.
Referenced by shouldSerializeInfo().
std::unique_ptr< Info > clang::doc::serialize::MakeAndInsertIntoParent | ( | ChildType | Child | ) |
Definition at line 319 of file Serialize.cpp.
References InsertChild(), clang::doc::IT_namespace, and clang::doc::IT_record.
|
static |
Definition at line 424 of file Serialize.cpp.
References getInfoRelativePath(), getRecordDeclForType(), getUSRForDecl(), clang::doc::IT_record, clang::doc::RecordInfo::Parents, and clang::doc::RecordInfo::VirtualParents.
Referenced by emitInfo(), and parseBases().
|
static |
Definition at line 586 of file Serialize.cpp.
References clang::doc::FunctionInfo::Access, clang::doc::RecordInfo::Bases, Decl, getFinalAccessSpecifier(), getInfoRelativePath(), getUSRForDecl(), clang::doc::FunctionInfo::IsMethod, clang::doc::MD(), parseBases(), parseFields(), populateFunctionInfo(), and PublicOnly().
|
static |
Definition at line 392 of file Serialize.cpp.
References clang::doc::EnumValueInfo::Description, E, getSourceCode(), clang::doc::EnumInfo::Members, and parseFullComment().
Referenced by emitInfo().
|
static |
Definition at line 376 of file Serialize.cpp.
References getFinalAccessSpecifier(), getTypeInfoForType(), clang::doc::RecordInfo::Members, populateMemberTypeInfo(), PublicOnly(), and shouldSerializeInfo().
Referenced by emitInfo(), and parseBases().
|
static |
Definition at line 215 of file Serialize.cpp.
References C, CI, and clang::doc::serialize::ClangDocCommentVisitor::parseComment().
Referenced by parseEnumerators(), populateInfo(), and populateMemberTypeInfo().
|
static |
Definition at line 414 of file Serialize.cpp.
References clang::doc::FieldTypeInfo::DefaultValue, getSourceCode(), getTypeInfoForType(), and clang::doc::FunctionInfo::Params.
Referenced by populateFunctionInfo().
|
static |
Definition at line 538 of file Serialize.cpp.
References Filename, getTypeInfoForType(), getUSRForDecl(), parseParameters(), populateSymbolInfo(), PopulateTemplateParameters(), clang::doc::FunctionInfo::ReturnType, clang::doc::FunctionInfo::Template, and TemplateArgumentToInfo().
Referenced by emitInfo(), and parseBases().
|
static |
Definition at line 515 of file Serialize.cpp.
References C, clang::doc::Info::Description, getUSRForDecl(), clang::doc::Info::Name, clang::doc::Info::Namespace, parseFullComment(), populateParentNamespaces(), and clang::doc::Info::USR.
Referenced by emitInfo(), and populateSymbolInfo().
|
static |
Definition at line 568 of file Serialize.cpp.
References clang::doc::MemberTypeInfo::Description, and parseFullComment().
Referenced by parseFields().
|
static |
Definition at line 454 of file Serialize.cpp.
References getUSRForDecl(), clang::doc::IT_enum, clang::doc::IT_function, clang::doc::IT_namespace, and clang::doc::IT_record.
Referenced by getInfoRelativePath(), and populateInfo().
|
static |
Definition at line 527 of file Serialize.cpp.
References C, clang::doc::SymbolInfo::DefLoc, Filename, clang::doc::SymbolInfo::Loc, and populateInfo().
Referenced by emitInfo(), and populateFunctionInfo().
void clang::doc::serialize::PopulateTemplateParameters | ( | std::optional< TemplateInfo > & | TemplateInfo, |
const clang::Decl * | D | ||
) |
Definition at line 490 of file Serialize.cpp.
References getSourceCode(), and clang::doc::TemplateInfo::Params.
Referenced by emitInfo(), and populateFunctionInfo().
std::string clang::doc::serialize::serialize | ( | std::unique_ptr< Info > & | I | ) |
Definition at line 200 of file Serialize.cpp.
References clang::doc::IT_enum, clang::doc::IT_function, clang::doc::IT_namespace, clang::doc::IT_record, and serialize().
Referenced by emitInfo().
|
static |
Definition at line 192 of file Serialize.cpp.
References clang::doc::ClangDocBitcodeWriter::emitBlock(), and serialize().
Referenced by serialize().
|
static |
Definition at line 266 of file Serialize.cpp.
References isPublic(), and PublicOnly().
Referenced by emitInfo(), and parseFields().
TemplateParamInfo clang::doc::serialize::TemplateArgumentToInfo | ( | const clang::Decl * | D, |
const TemplateArgument & | Arg | ||
) |
Definition at line 504 of file Serialize.cpp.
Referenced by emitInfo(), and populateFunctionInfo().