#include "CodeCompletionStrings.h"
#include "clang-c/Index.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/RawCommentList.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Sema/CodeCompleteConsumer.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/JSON.h"
#include <limits>
#include <utility>
namespace clang {
namespace clangd {
namespace {
bool isInformativeQualifierChunk(CodeCompletionString::Chunk const &Chunk) { … }
void appendEscapeSnippet(const llvm::StringRef Text, std::string *Out) { … }
void appendOptionalChunk(const CodeCompletionString &CCS, std::string *Out) { … }
bool looksLikeDocComment(llvm::StringRef CommentText) { … }
bool shouldPatchPlaceholder0(CodeCompletionResult::ResultKind ResultKind,
CXCursorKind CursorKind) { … }
}
std::string getDocComment(const ASTContext &Ctx,
const CodeCompletionResult &Result,
bool CommentsFromHeaders) { … }
std::string getDeclComment(const ASTContext &Ctx, const NamedDecl &Decl) { … }
void getSignature(const CodeCompletionString &CCS, std::string *Signature,
std::string *Snippet,
CodeCompletionResult::ResultKind ResultKind,
CXCursorKind CursorKind, bool IncludeFunctionArguments,
std::string *RequiredQualifiers) { … }
std::string formatDocumentation(const CodeCompletionString &CCS,
llvm::StringRef DocComment) { … }
std::string getReturnType(const CodeCompletionString &CCS) { … }
}
}