[PATCH] D59083: [clangd] Store explicit template specializations in index for code navigation purposes

2019-03-14 Thread Kadir Cetinkaya via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL356125: [clangd] Store explicit template specializations in index for code navigation… (authored by kadircet, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits.

[PATCH] D59083: [clangd] Store explicit template specializations in index for code navigation purposes

2019-03-13 Thread Kadir Cetinkaya via Phabricator via cfe-commits
kadircet added a comment. In D59083#1426105 , @ilya-biryukov wrote: > To split this into multiple independent changes, we could start with storing > the symbols for template specializations, but only showing the primary > template in the results of

[PATCH] D59083: [clangd] Store explicit template specializations in index for code navigation purposes

2019-03-13 Thread Kadir Cetinkaya via Phabricator via cfe-commits
kadircet updated this revision to Diff 190382. kadircet marked an inline comment as done. kadircet added a comment. - Agree on ilya-biryukov@'s suggestion, changing fuzzyfind to skip template (partial) specializations for now. Repository: rCTE Clang Tools Extra CHANGES SINCE LAST ACTION

[PATCH] D59083: [clangd] Store explicit template specializations in index for code navigation purposes

2019-03-12 Thread Ilya Biryukov via Phabricator via cfe-commits
ilya-biryukov added a comment. To split this into multiple independent changes, we could start with storing the symbols for template specializations, but only showing the primary template in the results of workspaceSymbols. This would enable other features (xrefs, etc), and we could re-add

[PATCH] D59083: [clangd] Store explicit template specializations in index for code navigation purposes

2019-03-11 Thread Nathan Ridge via Phabricator via cfe-commits
nridge added a comment. One of the use cases I imagined for this (unrelated to D58880 ) is that if the user searches for `vector` (using `workspace/symbols`), they get a separate search result for the `vector` primary template, and a separate one for `vector`.

[PATCH] D59083: [clangd] Store explicit template specializations in index for code navigation purposes

2019-03-11 Thread Kadir Cetinkaya via Phabricator via cfe-commits
kadircet added a comment. In D59083#1424509 , @nridge wrote: > Is any representation of the template arguments stored in the index? No we only have, class name if you want to do a "name based" search/lookup. But symbol IDs for template specializations

[PATCH] D59083: [clangd] Store explicit template specializations in index for code navigation purposes

2019-03-11 Thread Nathan Ridge via Phabricator via cfe-commits
nridge added a comment. Is any representation of the template arguments stored in the index? Repository: rCTE Clang Tools Extra CHANGES SINCE LAST ACTION https://reviews.llvm.org/D59083/new/ https://reviews.llvm.org/D59083 ___ cfe-commits

[PATCH] D59083: [clangd] Store explicit template specializations in index for code navigation purposes

2019-03-08 Thread Dmitri Gribenko via Phabricator via cfe-commits
gribozavr accepted this revision. gribozavr added inline comments. Comment at: clangd/CodeComplete.cpp:1613 }; + // We only complete symbol's name, which is same as the class template in the + // case of template specializations. which is the same as the

[PATCH] D59083: [clangd] Store explicit template specializations in index for code navigation purposes

2019-03-08 Thread Kadir Cetinkaya via Phabricator via cfe-commits
kadircet updated this revision to Diff 189817. kadircet marked 3 inline comments as done. kadircet added a comment. - Address comments Repository: rCTE Clang Tools Extra CHANGES SINCE LAST ACTION https://reviews.llvm.org/D59083/new/ https://reviews.llvm.org/D59083 Files:

[PATCH] D59083: [clangd] Store explicit template specializations in index for code navigation purposes

2019-03-07 Thread Eric Liu via Phabricator via cfe-commits
ioeric added a comment. > We need that information for providing better code navigation support, like > find references, children/base classes etc. It's not trivial how they make code navigation better. Can you explain and provide examples in the summary? Thanks! Comment

[PATCH] D59083: [clangd] Store explicit template specializations in index for code navigation purposes

2019-03-07 Thread Dmitri Gribenko via Phabricator via cfe-commits
gribozavr accepted this revision. gribozavr added inline comments. This revision is now accepted and ready to land. Comment at: clangd/CodeComplete.cpp:1513 +template bool explicitTemplateSpecialization(const NamedDecl ) { + if (const auto *TD = dyn_cast())

[PATCH] D59083: [clangd] Store explicit template specializations in index for code navigation purposes

2019-03-07 Thread Kadir Cetinkaya via Phabricator via cfe-commits
kadircet created this revision. kadircet added reviewers: hokein, gribozavr. Herald added subscribers: cfe-commits, jdoerfert, arphaman, jkorous, MaskRay, ioeric, ilya-biryukov. Herald added a project: clang. This introduces ~4k new symbols, and ~10k refs for LLVM. We need that information for