[PATCH] D71596: [clangd] Improve documentation for auto and implicit specs
Ilya Biryukov via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Dec 17 09:35:14 PST 2019
ilya-biryukov added inline comments.
================
Comment at: clang-tools-extra/clangd/Hover.cpp:188
+// returns D.
+const NamedDecl *getExplicitSpec(const NamedDecl *D) {
+ if (auto *CTSD = llvm::dyn_cast<ClassTemplateSpecializationDecl>(D)) {
----------------
kadircet wrote:
> ilya-biryukov wrote:
> > What's the purpose of this function?
> > I don't think its description has semantic meaning in C++, "implicit instantiations" do not have an "explicit specialization"...
> >
> > It seems to be doing something to change a decl into something that could be used to query the index. If that's the case, we could probably have a name that's closer to the described goal.
> yeah naming is hard :/
>
> it is not just something that can be used to query index, but also for AST, as the decl of instantiation doesn't contain comments attached to specialization.
> this is basically returning the explicit specialization used to instantiate `D`.
>
> any suggestions for the name ?
I would go with the following (a different comment is welcome, just quickly came up with something):
```
/// Returns a decl that should be used to produce hover, i.e. the one
/// we should query for documentation comment and use in index queries.
Decl *getDeclForHoverInfo(Decl *D)
```
The name is not smart and one would definitely need to read the comment to understand why we need it in the first place, but at least it would make sure we avoid confusion.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D71596/new/
https://reviews.llvm.org/D71596
More information about the cfe-commits
mailing list