ilya-biryukov added a comment.

In https://reviews.llvm.org/D50847#1202658, @ioeric wrote:

> > Dynamic index misses important information from the body of the file, e.g. 
> > locations of definitions
> >  XRefs cannot be collected at all, since we can only obtain full 
> > information for the current file (preamble is parsed with skipped function 
> > bodies, therefore not reliable).
>
> These seem to be known limitations of the dynamic index. The dynamic index, 
> in general, only handles things that are in headers; information in the main 
> file can usually be obtained from Sema/AST (outside of the index). For 
> example, definition/xrefs locations can be merged from index and the AST.


We still want this information in the index. One can obtain this information 
for the **current** file. However, we still need to keep this info in the index 
for definitions in the other open files.

>> This patch only adds the new callback, actually updating the index will be 
>> added in a follow-up patch.
> 
> How do we plan to merge symbols from the preamble callback and the main file 
> callback? The current FileIndex only allows swapping all symbols.

There are multiple ways to do that, lowest overhead is having two separate 
slabs: one for preamble symbols, another for symbols in the main file. They 
will be merged on-the-go when requested.


Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D50847



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

Reply via email to