clang-tools  7.0.0
Classes | Functions
clang::doc::serialize Namespace Reference

Classes

class  ClangDocCommentVisitor
 

Functions

SymbolID hashUSR (llvm::StringRef USR)
 
template<typename T >
static std::string serialize (T &I)
 
static void parseFullComment (const FullComment *C, CommentInfo &CI)
 
static SymbolID getUSRForDecl (const Decl *D)
 
static RecordDecl * getDeclForType (const QualType &T)
 
static bool isPublic (const clang::AccessSpecifier AS, const clang::Linkage Link)
 
static void parseFields (RecordInfo &I, const RecordDecl *D, bool PublicOnly)
 
static void parseEnumerators (EnumInfo &I, const EnumDecl *D)
 
static void parseParameters (FunctionInfo &I, const FunctionDecl *D)
 
static void parseBases (RecordInfo &I, const CXXRecordDecl *D)
 
template<typename T >
static void populateParentNamespaces (llvm::SmallVector< Reference, 4 > &Namespaces, const T *D)
 
template<typename T >
static void populateInfo (Info &I, const T *D, const FullComment *C)
 
template<typename T >
static void populateSymbolInfo (SymbolInfo &I, const T *D, const FullComment *C, int LineNumber, StringRef Filename)
 
static void populateFunctionInfo (FunctionInfo &I, const FunctionDecl *D, const FullComment *FC, int LineNumber, StringRef Filename)
 
std::string emitInfo (const NamespaceDecl *D, const FullComment *FC, int LineNumber, llvm::StringRef File, bool PublicOnly)
 
std::string emitInfo (const RecordDecl *D, const FullComment *FC, int LineNumber, llvm::StringRef File, bool PublicOnly)
 
std::string emitInfo (const FunctionDecl *D, const FullComment *FC, int LineNumber, llvm::StringRef File, bool PublicOnly)
 
std::string emitInfo (const CXXMethodDecl *D, const FullComment *FC, int LineNumber, llvm::StringRef File, bool PublicOnly)
 
std::string emitInfo (const EnumDecl *D, const FullComment *FC, int LineNumber, llvm::StringRef File, bool PublicOnly)
 
std::string emitInfo (const NamespaceDecl *D, const FullComment *FC, int LineNumber, StringRef File, bool PublicOnly)
 
std::string emitInfo (const RecordDecl *D, const FullComment *FC, int LineNumber, StringRef File, bool PublicOnly)
 
std::string emitInfo (const EnumDecl *D, const FullComment *FC, int LineNumber, StringRef File, bool PublicOnly)
 
std::string emitInfo (const FunctionDecl *D, const FullComment *FC, int LineNumber, StringRef File, bool PublicOnly)
 
std::string emitInfo (const CXXMethodDecl *D, const FullComment *FC, int LineNumber, StringRef File, bool PublicOnly)
 

Function Documentation

◆ emitInfo() [1/10]

std::string clang::doc::serialize::emitInfo ( const NamespaceDecl *  D,
const FullComment *  FC,
int  LineNumber,
StringRef  File,
bool  PublicOnly 
)

◆ emitInfo() [2/10]

std::string clang::doc::serialize::emitInfo ( const RecordDecl *  D,
const FullComment *  FC,
int  LineNumber,
StringRef  File,
bool  PublicOnly 
)

◆ emitInfo() [3/10]

std::string clang::doc::serialize::emitInfo ( const EnumDecl *  D,
const FullComment *  FC,
int  LineNumber,
StringRef  File,
bool  PublicOnly 
)

◆ emitInfo() [4/10]

std::string clang::doc::serialize::emitInfo ( const FunctionDecl *  D,
const FullComment *  FC,
int  LineNumber,
StringRef  File,
bool  PublicOnly 
)

◆ emitInfo() [5/10]

std::string clang::doc::serialize::emitInfo ( const CXXMethodDecl *  D,
const FullComment *  FC,
int  LineNumber,
StringRef  File,
bool  PublicOnly 
)

◆ emitInfo() [6/10]

std::string clang::doc::serialize::emitInfo ( const NamespaceDecl *  D,
const FullComment *  FC,
int  LineNumber,
llvm::StringRef  File,
bool  PublicOnly 
)

Definition at line 309 of file Serialize.cpp.

References isPublic(), populateInfo(), and serialize().

◆ emitInfo() [7/10]

std::string clang::doc::serialize::emitInfo ( const RecordDecl *  D,
const FullComment *  FC,
int  LineNumber,
llvm::StringRef  File,
bool  PublicOnly 
)

◆ emitInfo() [8/10]

std::string clang::doc::serialize::emitInfo ( const FunctionDecl *  D,
const FullComment *  FC,
int  LineNumber,
llvm::StringRef  File,
bool  PublicOnly 
)

◆ emitInfo() [9/10]

std::string clang::doc::serialize::emitInfo ( const CXXMethodDecl *  D,
const FullComment *  FC,
int  LineNumber,
llvm::StringRef  File,
bool  PublicOnly 
)

◆ emitInfo() [10/10]

std::string clang::doc::serialize::emitInfo ( const EnumDecl *  D,
const FullComment *  FC,
int  LineNumber,
llvm::StringRef  File,
bool  PublicOnly 
)

◆ getDeclForType()

static RecordDecl* clang::doc::serialize::getDeclForType ( const QualType &  T)
static

Definition at line 167 of file Serialize.cpp.

Referenced by parseBases(), parseFields(), parseParameters(), and populateFunctionInfo().

◆ getUSRForDecl()

static SymbolID clang::doc::serialize::getUSRForDecl ( const Decl *  D)
static

◆ hashUSR()

SymbolID clang::doc::serialize::hashUSR ( llvm::StringRef  USR)

Definition at line 24 of file Serialize.cpp.

Referenced by getUSRForDecl().

◆ isPublic()

static bool clang::doc::serialize::isPublic ( const clang::AccessSpecifier  AS,
const clang::Linkage  Link 
)
static

Definition at line 174 of file Serialize.cpp.

Referenced by emitInfo(), and parseFields().

◆ parseBases()

static void clang::doc::serialize::parseBases ( RecordInfo I,
const CXXRecordDecl *  D 
)
static

◆ parseEnumerators()

static void clang::doc::serialize::parseEnumerators ( EnumInfo I,
const EnumDecl *  D 
)
static

Definition at line 208 of file Serialize.cpp.

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

Referenced by emitInfo().

◆ parseFields()

static void clang::doc::serialize::parseFields ( RecordInfo I,
const RecordDecl *  D,
bool  PublicOnly 
)
static

◆ parseFullComment()

static void clang::doc::serialize::parseFullComment ( const FullComment *  C,
CommentInfo CI 
)
static

◆ parseParameters()

static void clang::doc::serialize::parseParameters ( FunctionInfo I,
const FunctionDecl *  D 
)
static

◆ populateFunctionInfo()

static void clang::doc::serialize::populateFunctionInfo ( FunctionInfo I,
const FunctionDecl *  D,
const FullComment *  FC,
int  LineNumber,
StringRef  Filename 
)
static

◆ populateInfo()

template<typename T >
static void clang::doc::serialize::populateInfo ( Info I,
const T *  D,
const FullComment *  C 
)
static

◆ populateParentNamespaces()

template<typename T >
static void clang::doc::serialize::populateParentNamespaces ( llvm::SmallVector< Reference, 4 > &  Namespaces,
const T *  D 
)
static

◆ populateSymbolInfo()

template<typename T >
static void clang::doc::serialize::populateSymbolInfo ( SymbolInfo I,
const T *  D,
const FullComment *  C,
int  LineNumber,
StringRef  Filename 
)
static

◆ serialize()

template<typename T >
static std::string clang::doc::serialize::serialize ( T &  I)
static

Definition at line 147 of file Serialize.cpp.

References clang::doc::ClangDocBitcodeWriter::emitBlock().

Referenced by emitInfo().