[clang-tools-extra] 7759f70 - [clangd] Support typeHierarchy/resolve for children of parents as well
Nathan Ridge via cfe-commits
cfe-commits at lists.llvm.org
Mon Jun 15 09:01:40 PDT 2020
Author: Nathan Ridge
Date: 2020-06-15T11:59:23-04:00
New Revision: 7759f70fb0ee2cd6752d9188bd2578cc3d9a7a2e
URL: https://github.com/llvm/llvm-project/commit/7759f70fb0ee2cd6752d9188bd2578cc3d9a7a2e
DIFF: https://github.com/llvm/llvm-project/commit/7759f70fb0ee2cd6752d9188bd2578cc3d9a7a2e.diff
LOG: [clangd] Support typeHierarchy/resolve for children of parents as well
Summary:
The initial implementation of typeHierarchy/resolve only supported
cases where an initial request was made for children, and then
typeHierarchy/resolve was used to get additional levels of children.
However, a client may also want to make an initial request for
parents, and then show other children of those parents, so support
typeHierarchy/resolve for items returned in response to a request
for parents as well.
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D81845
Added:
Modified:
clang-tools-extra/clangd/XRefs.cpp
Removed:
################################################################################
diff --git a/clang-tools-extra/clangd/XRefs.cpp b/clang-tools-extra/clangd/XRefs.cpp
index df2c7a7c7228..6aa031541846 100644
--- a/clang-tools-extra/clangd/XRefs.cpp
+++ b/clang-tools-extra/clangd/XRefs.cpp
@@ -1225,6 +1225,14 @@ declToTypeHierarchyItem(ASTContext &Ctx, const NamedDecl &ND,
THI.uri = URIForFile::canonicalize(*FilePath, *TUPath);
+ // Compute the SymbolID and store it in the 'data' field.
+ // This allows typeHierarchy/resolve to be used to
+ // resolve children of items returned in a previous request
+ // for parents.
+ if (auto ID = getSymbolID(&ND)) {
+ THI.data = ID->str();
+ }
+
return THI;
}
More information about the cfe-commits
mailing list