[all-commits] [llvm/llvm-project] 75e16f: [Index] [clangd] Support for concept declarations ...
Ilya Biryukov via All-commits
all-commits at lists.llvm.org
Tue Apr 26 06:50:21 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 75e16fd2c656fb7d27e6edc46dc1a63ff8323999
https://github.com/llvm/llvm-project/commit/75e16fd2c656fb7d27e6edc46dc1a63ff8323999
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2022-04-26 (Tue, 26 Apr 2022)
Changed paths:
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Quality.cpp
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
M clang-tools-extra/clangd/unittests/TestIndex.cpp
M clang-tools-extra/clangd/unittests/TestIndex.h
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/Index/IndexSymbol.h
M clang/lib/Index/IndexBody.cpp
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Index/IndexSymbol.cpp
M clang/lib/Index/IndexTypeSourceInfo.cpp
M clang/lib/Index/IndexingContext.cpp
M clang/lib/Index/USRGeneration.cpp
M clang/tools/libclang/CXIndexDataConsumer.cpp
Log Message:
-----------
[Index] [clangd] Support for concept declarations and requires expressions
Add support for concepts and requires expression in the clang index.
Genarate USRs for concepts.
Also change how `RecursiveASTVisitor` handles return type requirement in
requires expressions. The new code unpacks the synthetic template parameter
list used for storing the actual expression. This simplifies
implementation of the indexing. No code seems to depend on the original
traversal anyway and the synthesized template parameter list is easily
accessible from inside the requires expression if needed.
Add tests in the clangd codebase.
Fixes https://github.com/clangd/clangd/issues/1103.
Reviewed By: sammccall
Differential Revision: https://reviews.llvm.org/D124441
More information about the All-commits
mailing list