malaperle marked an inline comment as done.
malaperle added inline comments.


================
Comment at: clangd/index/Index.h:158
   unsigned References = 0;
-
+  /// Whether or not this is symbol is meant to be used for the global
+  /// completion.
----------------
sammccall wrote:
> ioeric wrote:
> > s/this is symbol/this symbol/?
> Sorry, I hadn't seen this patch until now.
> When it was part of the `workspace/symbol` patch, I was the other person 
> concerned this was too coupled to existing use cases and preferred something 
> more descriptive.
> 
> I dug up an analysis @hokein and I worked on. One concluseion we came to was 
> that we thought results needed by `completion` were a subset of what 
> `workspace/symbol` needs, so a boolean would work. It seemed a bit ad-hoc and 
> fragile though.
> 
> The cases we looked at were:
> 
> ||private|member|local|primary template|template specialization|nested in 
> template|
> | code complete |N|N|N|Y|N|N|
> | workspace/symbol |Y|Y|N|Y|Y|Y|
> | go to defn |Y|Y|?|?|?|?|
> (Y = index should return it, N = index should not return it, ? = don't care)
> 
> So the most relevant information seems to be:
>  - is this private (private member, internal linkage, no decl outside cpp 
> file, etc)
>  - is this nested in a class type (or template)
>  - is this a template specialization
> 
> I could live with bundling these into a single property (though they seem 
> like good ranking signals, and we'd lose them for that purpose), it will 
> certainly make a posting-list based index more efficient.
> 
> In that case I think we should have canonical documentation *somewhere* about 
> exactly what this subset is, and this field should reference that.
> e.g. `isIndexedForCodeCompletion()` in `CodeComplete.h` with docs and 
> `IsIndexedForCodeCompletion` here. (Please avoid "global" as it has too many 
> different meanings - here we mean "index-based").
OK, I added documentation on the SymbolCollector (which was outdated) about 
what kinds of symbols are collected, with a reference to shouldFilterDecl. The 
subset is documented on isIndexedForCodeCompletion(), also referenced from the 
Symbol field. Was that more or less what you meant?


Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D44954



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

Reply via email to