[clang-tools-extra] 21b6da3 - [clangd] Don't show header for namespace decl in Hover
Haojian Wu via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 29 08:11:32 PDT 2023
Author: Haojian Wu
Date: 2023-06-29T17:11:19+02:00
New Revision: 21b6da35f1d5c8ee50c14fa4e498b6c46ac4bc0f
URL: https://github.com/llvm/llvm-project/commit/21b6da35f1d5c8ee50c14fa4e498b6c46ac4bc0f
DIFF: https://github.com/llvm/llvm-project/commit/21b6da35f1d5c8ee50c14fa4e498b6c46ac4bc0f.diff
LOG: [clangd] Don't show header for namespace decl in Hover
The header for namespace symbol is barely useful.
Differential Revision: https://reviews.llvm.org/D154068
Added:
Modified:
clang-tools-extra/clangd/Hover.cpp
clang-tools-extra/clangd/unittests/HoverTests.cpp
Removed:
################################################################################
diff --git a/clang-tools-extra/clangd/Hover.cpp b/clang-tools-extra/clangd/Hover.cpp
index 5184fcbe4b5813..fbd0be07961651 100644
--- a/clang-tools-extra/clangd/Hover.cpp
+++ b/clang-tools-extra/clangd/Hover.cpp
@@ -1374,7 +1374,10 @@ std::optional<HoverInfo> getHover(ParsedAST &AST, Position Pos,
if (!HI->Value)
HI->Value = printExprValue(N, AST.getASTContext()).PrintedValue;
maybeAddCalleeArgInfo(N, *HI, PP);
- maybeAddSymbolProviders(AST, *HI, include_cleaner::Symbol{*DeclToUse});
+
+ if (!isa<NamespaceDecl>(DeclToUse))
+ maybeAddSymbolProviders(AST, *HI,
+ include_cleaner::Symbol{*DeclToUse});
} else if (const Expr *E = N->ASTNode.get<Expr>()) {
HoverCountMetric.record(1, "expr");
HI = getHoverContents(N, E, AST, PP, Index);
diff --git a/clang-tools-extra/clangd/unittests/HoverTests.cpp b/clang-tools-extra/clangd/unittests/HoverTests.cpp
index 7002e27e9938ff..0f45e7851bc87e 100644
--- a/clang-tools-extra/clangd/unittests/HoverTests.cpp
+++ b/clang-tools-extra/clangd/unittests/HoverTests.cpp
@@ -3059,7 +3059,13 @@ TEST(Hover, Providers) {
}
ns::F^oo d;
)cpp",
- [](HoverInfo &HI) { HI.Provider = "\"foo.h\""; }}};
+ [](HoverInfo &HI) { HI.Provider = "\"foo.h\""; }},
+ {R"cpp(
+ namespace foo {};
+ using namespace fo^o;
+ )cpp",
+ [](HoverInfo &HI) { HI.Provider = ""; }},
+ };
for (const auto &Case : Cases) {
Annotations Code{Case.Code};
More information about the cfe-commits
mailing list