ioeric added inline comments.

================
Comment at: clangd/IncludeFixer.h:85
+  // name or incomplete type in one parse, especially when code is
+  // copy-and-pasted without #includes. As fixes are purely dependent on index
+  // requests and index results at this point, we can cache fixes by index
----------------
sammccall wrote:
> This seems pretty messy (the assumption that Fix depends only on the index 
> lookup).
> It saves some code now at the expense of being magic. If we want to e.g. 
> insert qualifiers too, I worry it's going to (stop us || return incorrect 
> cached results || lead to unneccesary cache misses) depending on what we do.
> 
> What would we need to store to calculate Fix?
> Maybe a struct ResolvedSymbol with {scope, name, inserted header}? (or even 
> the edit to insert the header)
> If it's not hugely complicated, that seems both cleaner and more extensible - 
> wdyt?
Yeah, surely this was too hacky ;)

Instead of a new struct, how about simply storing `SymbolSlab`s?  We are 
already building symbol slabs for fuzzy find results. And there are some 
helpers that take only `Symbol`. WDYT?


Repository:
  rCTE Clang Tools Extra

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D58239/new/

https://reviews.llvm.org/D58239



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

Reply via email to