15#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_DOC_SERIALIZE_H
16#define LLVM_CLANG_TOOLS_EXTRA_CLANG_DOC_SERIALIZE_H
19#include "clang/AST/AST.h"
20#include "clang/AST/CommentVisitor.h"
24using namespace clang::comments;
39std::pair<std::unique_ptr<Info>, std::unique_ptr<Info>>
40emitInfo(
const NamespaceDecl *D,
const FullComment *FC, Location Loc,
43std::pair<std::unique_ptr<Info>, std::unique_ptr<Info>>
44emitInfo(
const RecordDecl *D,
const FullComment *FC, Location Loc,
47std::pair<std::unique_ptr<Info>, std::unique_ptr<Info>>
48emitInfo(
const EnumDecl *D,
const FullComment *FC, Location Loc,
51std::pair<std::unique_ptr<Info>, std::unique_ptr<Info>>
52emitInfo(
const FunctionDecl *D,
const FullComment *FC, Location Loc,
55std::pair<std::unique_ptr<Info>, std::unique_ptr<Info>>
56emitInfo(
const VarDecl *D,
const FullComment *FC,
int LineNumber,
57 StringRef File,
bool IsFileInRootDir,
bool PublicOnly);
59std::pair<std::unique_ptr<Info>, std::unique_ptr<Info>>
63std::pair<std::unique_ptr<Info>, std::unique_ptr<Info>>
67std::pair<std::unique_ptr<Info>, std::unique_ptr<Info>>
71std::pair<std::unique_ptr<Info>, std::unique_ptr<Info>>
75std::pair<std::unique_ptr<Info>, std::unique_ptr<Info>>
86std::string
serialize(std::unique_ptr<Info> &I);
static llvm::cl::opt< bool > PublicOnly("public", llvm::cl::desc("Document only public declarations."), llvm::cl::init(false), llvm::cl::cat(ClangDocCategory))
std::pair< std::unique_ptr< Info >, std::unique_ptr< Info > > emitInfo(const NamespaceDecl *D, const FullComment *FC, Location Loc, bool PublicOnly)
static std::string serialize(T &I)
SymbolID hashUSR(llvm::StringRef USR)
std::array< uint8_t, 20 > SymbolID
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//