clang-tools 19.0.0git
Classes | Namespaces | Functions
Serialize.cpp File Reference
#include "Serialize.h"
#include "BitcodeWriter.h"
#include "clang/AST/Comment.h"
#include "clang/Index/USRGeneration.h"
#include "clang/Lex/Lexer.h"
#include "llvm/ADT/Hashing.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Support/SHA1.h"

Go to the source code of this file.

Classes

class  clang::doc::serialize::ClangDocCommentVisitor
 

Namespaces

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

Functions

SymbolID clang::doc::serialize::hashUSR (llvm::StringRef USR)
 
template<typename T >
static void clang::doc::serialize::populateParentNamespaces (llvm::SmallVector< Reference, 4 > &Namespaces, const T *D, bool &IsAnonymousNamespace)
 
static void clang::doc::serialize::populateMemberTypeInfo (MemberTypeInfo &I, const FieldDecl *D)
 
llvm::SmallString< 128 > clang::doc::serialize::getInfoRelativePath (const llvm::SmallVectorImpl< doc::Reference > &Namespaces)
 
llvm::SmallString< 128 > clang::doc::serialize::getInfoRelativePath (const Decl *D)
 
std::string clang::doc::serialize::getSourceCode (const Decl *D, const SourceRange &R)
 
template<typename T >
static std::string clang::doc::serialize::serialize (T &I)
 
std::string clang::doc::serialize::serialize (std::unique_ptr< Info > &I)
 
static void clang::doc::serialize::parseFullComment (const FullComment *C, CommentInfo &CI)
 
static SymbolID clang::doc::serialize::getUSRForDecl (const Decl *D)
 
static TagDecl * clang::doc::serialize::getTagDeclForType (const QualType &T)
 
static RecordDecl * clang::doc::serialize::getRecordDeclForType (const QualType &T)
 
TypeInfo clang::doc::serialize::getTypeInfoForType (const QualType &T)
 
static bool clang::doc::serialize::isPublic (const clang::AccessSpecifier AS, const clang::Linkage Link)
 
static bool clang::doc::serialize::shouldSerializeInfo (bool PublicOnly, bool IsInAnonymousNamespace, const NamedDecl *D)
 
static void clang::doc::serialize::InsertChild (ScopeChildren &Scope, const NamespaceInfo &Info)
 
static void clang::doc::serialize::InsertChild (ScopeChildren &Scope, const RecordInfo &Info)
 
static void clang::doc::serialize::InsertChild (ScopeChildren &Scope, EnumInfo Info)
 
static void clang::doc::serialize::InsertChild (ScopeChildren &Scope, FunctionInfo Info)
 
static void clang::doc::serialize::InsertChild (ScopeChildren &Scope, TypedefInfo Info)
 
template<typename ChildType >
std::unique_ptr< Infoclang::doc::serialize::MakeAndInsertIntoParent (ChildType Child)
 
static AccessSpecifier clang::doc::serialize::getFinalAccessSpecifier (AccessSpecifier FirstAS, AccessSpecifier SecondAS)
 
static void clang::doc::serialize::parseFields (RecordInfo &I, const RecordDecl *D, bool PublicOnly, AccessSpecifier Access=AccessSpecifier::AS_public)
 
static void clang::doc::serialize::parseEnumerators (EnumInfo &I, const EnumDecl *D)
 
static void clang::doc::serialize::parseParameters (FunctionInfo &I, const FunctionDecl *D)
 
static void clang::doc::serialize::parseBases (RecordInfo &I, const CXXRecordDecl *D)
 
void clang::doc::serialize::PopulateTemplateParameters (std::optional< TemplateInfo > &TemplateInfo, const clang::Decl *D)
 
TemplateParamInfo clang::doc::serialize::TemplateArgumentToInfo (const clang::Decl *D, const TemplateArgument &Arg)
 
template<typename T >
static void clang::doc::serialize::populateInfo (Info &I, const T *D, const FullComment *C, bool &IsInAnonymousNamespace)
 
template<typename T >
static void clang::doc::serialize::populateSymbolInfo (SymbolInfo &I, const T *D, const FullComment *C, int LineNumber, StringRef Filename, bool IsFileInRootDir, bool &IsInAnonymousNamespace)
 
static void clang::doc::serialize::populateFunctionInfo (FunctionInfo &I, const FunctionDecl *D, const FullComment *FC, int LineNumber, StringRef Filename, bool IsFileInRootDir, bool &IsInAnonymousNamespace)
 
static void clang::doc::serialize::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 > > clang::doc::serialize::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 > > clang::doc::serialize::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 > > clang::doc::serialize::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 > > clang::doc::serialize::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 > > clang::doc::serialize::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 > > clang::doc::serialize::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 > > clang::doc::serialize::emitInfo (const EnumDecl *D, const FullComment *FC, int LineNumber, llvm::StringRef File, bool IsFileInRootDir, bool PublicOnly)