diff options
Diffstat (limited to 'clang-tools-extra/clangd/CodeCompletionStrings.cpp')
| -rw-r--r-- | clang-tools-extra/clangd/CodeCompletionStrings.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/clang-tools-extra/clangd/CodeCompletionStrings.cpp b/clang-tools-extra/clangd/CodeCompletionStrings.cpp index d6579640cb0f..9c4241b54057 100644 --- a/clang-tools-extra/clangd/CodeCompletionStrings.cpp +++ b/clang-tools-extra/clangd/CodeCompletionStrings.cpp @@ -112,7 +112,7 @@ std::string getDeclComment(const ASTContext &Ctx, const NamedDecl &Decl) { std::string Doc; if (Cfg.Documentation.CommentFormat == Config::CommentFormatPolicy::Doxygen && - isa<ParmVarDecl>(Decl)) { + isa<ParmVarDecl, TemplateTypeParmDecl>(Decl)) { // Parameters are documented in their declaration context (function or // template function). const NamedDecl *ND = dyn_cast<NamedDecl>(Decl.getDeclContext()); @@ -135,7 +135,11 @@ std::string getDeclComment(const ASTContext &Ctx, const NamedDecl &Decl) { std::string RawDoc; llvm::raw_string_ostream OS(RawDoc); - V.parameterDocToString(dyn_cast<ParmVarDecl>(&Decl)->getName(), OS); + if (auto *PVD = dyn_cast<ParmVarDecl>(&Decl)) + V.parameterDocToString(PVD->getName(), OS); + else + V.templateTypeParmDocToString( + cast<TemplateTypeParmDecl>(&Decl)->getName(), OS); Doc = StringRef(RawDoc).trim().str(); } else { |
