[PATCH] D44305: [clangd] Add an interface that finds symbol by SymbolID in SymbolIndex.
Eric Liu via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Mar 14 02:48:41 PDT 2018
ioeric added inline comments.
Comment at: clangd/index/Merge.cpp:69
+ B.insert(mergeSymbol(*Sym, S, &Scratch));
> This could also just be callback(mergeSymbol(...)), if we keep track of the IDs we've emitted.
> This way the slab would only have symbols from the dynamic index.
> This could be just:
> - before the static lookup, make a copy `RemainingIDs = Req.IDs`
> - in the static callback, remove the id from RemainingIDs
> - after the static lookup, loop through RemainingIDs, look up symbol in dynamic slab, emit
> This avoids:
> - copying the static index results (which tend to be more numerous)
> - build() on the slab builder, which isn't cheap
Good idea. Thanks!
rCTE Clang Tools Extra
More information about the cfe-commits