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