[clangd] Store explicit template specializations in index for code navigation purposes
authorKadir Cetinkaya <kadircet@google.com>
Thu, 14 Mar 2019 08:35:17 +0000 (08:35 +0000)
committerKadir Cetinkaya <kadircet@google.com>
Thu, 14 Mar 2019 08:35:17 +0000 (08:35 +0000)
commitd9c174648ed8219ad86a021bcccf149e860d3ef5
tree3c973ab0cfaad5aa8269429fbc1d763e93f4b48d
parentfec503acb667c80a0cbc8e998e2aa8bba99d8743
[clangd] Store explicit template specializations in index for code navigation purposes

Summary:
This introduces ~4k new symbols, and ~10k refs for LLVM. We need that
information for providing better code navigation support:
- When references for a class template is requested, we should return these specializations as well.
- When children of a specialization is requested, we should be able to query for those symbols(instead of just class template)

Number of symbols: 378574 -> 382784
Number of refs: 5098857 -> 5110689

Reviewers: hokein, gribozavr

Reviewed By: gribozavr

Subscribers: nridge, ilya-biryukov, ioeric, MaskRay, jkorous, arphaman, jdoerfert, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D59083

llvm-svn: 356125
clang-tools-extra/clangd/CodeComplete.cpp
clang-tools-extra/clangd/index/MemIndex.cpp
clang-tools-extra/clangd/index/SymbolCollector.cpp
clang-tools-extra/clangd/index/dex/Dex.cpp
clang-tools-extra/unittests/clangd/DexTests.cpp
clang-tools-extra/unittests/clangd/IndexTests.cpp
clang-tools-extra/unittests/clangd/SymbolCollectorTests.cpp