[PATCH] D53926: [clangd] Only add global scope to completion query scopes for TU context.

Eric Liu via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 5 07:55:35 PST 2018


ioeric abandoned this revision.
ioeric marked an inline comment as done.
ioeric added inline comments.


================
Comment at: clangd/CodeComplete.cpp:563
     for (auto *Context : CCContext.getVisitedContexts()) {
-      if (isa<TranslationUnitDecl>(Context))
+      if (isa<TranslationUnitDecl>(Context)) {
         Info.AccessibleScopes.push_back(""); // global namespace
----------------
ilya-biryukov wrote:
> ioeric wrote:
> > ilya-biryukov wrote:
> > > Anonymous namespace inside other namespaces will also produce duplicate scopes.
> > > Maybe simply remove the duplicates from the vector before we return it?
> > `printNamespaceScope()` will return "" for all anonymous namespaces, which should be covered as well.
> I don't think that's the case. 
> My understanding is that `printNamespaceScope("foo::<anonymous>::bar::<anonymous>")` will return `"foo::bar::"`.
Thanks for the catch! Switched to deduplicate scopes instead (D54105)


Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D53926





More information about the cfe-commits mailing list