[PATCH] D99052: [clangd] Produce semantic token for name referring to UnresolvedUsingValueDecl
Sam McCall via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Apr 23 15:00:24 PDT 2021
sammccall accepted this revision.
sammccall added inline comments.
This revision is now accepted and ready to land.
Herald added a subscriber: cfe-commits.
================
Comment at: clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp:655
+ struct $Class_decl[[Derived]] : $Class[[Base]]<$TemplateParameter[[T]]> {
+ using $Class[[Base]]<$TemplateParameter[[T]]>::$Unknown_decl_dependentName[[member]];
+
----------------
nridge wrote:
> Not sure how I feel about this being a `_decl`.
>
> I know it is in the technical sense, but as a user I think of it more as a reference to `Base::member`.
Yeah, I agree, and the combination of `decl` and `dependentName` is pretty funny.
We have non-dependent equivalent cases (`using ::foo`, not the renaming versions) and they don't seem to be marked as decl. (I think what's happening is that `findExplicitReferences` yields the *UsingShadowDecl*s rather than the *UsingDecl*, as only the former are directly bound to a specific e.g. overload being referenced)
So with that as precedent, it seems like it would be legitimate to special-case UnresolvedUsingValueDecl when adding the decl modifier.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D99052/new/
https://reviews.llvm.org/D99052
More information about the cfe-commits
mailing list