ilya-biryukov added inline comments.

================
Comment at: clangd/CodeComplete.cpp:270
+  /// namespace scopes which are visible to the qualified-id completion token.
+  std::vector<std::string> Scopes;
+};
----------------
sammccall wrote:
> ilya-biryukov wrote:
> > sammccall wrote:
> > > Just to check, if the user types:
> > > "vec" --> None
> > > "::vec" --> {""}
> > > "std::vec" --> {"std"}
> > > "using namespace std; vec" --> None
> > > "using namespace std; ::vec" --> {"", "std"}
> > > 
> > > is this right?
> > I think the idea was to have (I only highlight the differences):
> > "vec" --> {""}
> > "using namespace std; vec" --> {"", "std"}
> > 
> > @hokein , or am I getting it wrong?
> You're probably right, just want to be sure we're talking about the same 
> thing.
> 
> There's two layers here: the context detected from sema, and what we're going 
> to send the index. The layering is more relevant now that more of this moves 
> out of clangd.
> 
> for "vec", we should be sending {""} to the index for now, and later move 
> towards doing global completion.
> But if possible the detection code should report None, and the query-index 
> code should translate it - there's no reason the detection code needs to be 
> wrong just because clangd can't do qualifier insertion/smart ranking/etc.
> 
> That said, per our discussion this morning, the detected state shouldn't 
> really be Optional<vector<string>>, but rather struct { vector<string> 
> AccessibleScope, optional<string> UnresolvedQualifier } or something like 
> that...
- Totally agree, this patch only fills the `vector<string> AccessibleScope` 
field, and `optional<string> UnresolvedQualifier` could be added in the 
follow-up patch when it's actually handled.
- It still makes sense to have `optional<QueryScopes>` to distinguish cases 
when clang did not run the lookup during completion and the scopes were not set 
(i.e. completion inside macros, etc.)


Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D42073



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to