llvm-project/clang-tools-extra/clangd/index
Ilya Biryukov 75e16fd2c6 [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
2022-04-26 13:50:01 +00:00
..
dex [clangd][NFC] Reduce memory usage while building dex 2022-04-22 17:44:47 +02:00
remote Add 'clangd' prefix to remote index proto targets 2022-01-29 02:20:52 +01:00
Background.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
Background.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
BackgroundIndexLoader.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
BackgroundIndexLoader.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
BackgroundIndexStorage.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
BackgroundQueue.cpp [clangd] Explicitly avoid background-indexing the same file twice. 2021-01-13 17:29:30 +01:00
BackgroundRebuild.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
BackgroundRebuild.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
CanonicalIncludes.cpp [clangd] Use stable keys for CanonicalIncludes mappings 2022-04-05 16:27:54 +02:00
CanonicalIncludes.h [clangd] Use stable keys for CanonicalIncludes mappings 2022-04-05 16:27:54 +02:00
FileIndex.cpp [clangd] Remove trivial uses of FileEntry::getName 2022-04-04 20:59:51 +02:00
FileIndex.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
Index.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
Index.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
IndexAction.cpp [clang][lex] NFCI: Use FileEntryRef in PPCallbacks::InclusionDirective() 2022-04-14 10:46:12 +02:00
IndexAction.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
MemIndex.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
MemIndex.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
Merge.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
Merge.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
ProjectAware.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
ProjectAware.h [clangd] cleanup of header guard names 2021-12-02 15:58:35 +00:00
Ref.cpp [clangd] Avoid wasteful data structures in RefSlab::Builder 2020-05-18 22:34:59 +02:00
Ref.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
Relation.cpp [clangd] Add OverridenBy Relation to index. 2020-11-18 06:59:49 +01:00
Relation.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
Serialization.cpp [Support] Change zlib::compress to return void 2022-03-14 11:38:04 -07:00
Serialization.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
Symbol.cpp [clangd] Drop TestTUs dependency on gtest 2021-06-07 13:25:22 +02:00
Symbol.h [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00
SymbolCollector.cpp [Index] [clangd] Support for concept declarations and requires expressions 2022-04-26 13:50:01 +00:00
SymbolCollector.h [clangd] Performance improvements and cleanup 2022-04-11 17:15:25 +02:00
SymbolID.cpp [clangd] Performance improvements and cleanup 2022-04-11 17:15:25 +02:00
SymbolID.h [clangd] Performance improvements and cleanup 2022-04-11 17:15:25 +02:00
SymbolLocation.cpp [clangd] Avoid wasteful data structures in RefSlab::Builder 2020-05-18 22:34:59 +02:00
SymbolLocation.h [clangd] cleanup of header guard names 2021-12-02 15:58:35 +00:00
SymbolOrigin.cpp [clangd] Extend SymbolOrigin, stop serializing it 2022-01-13 08:26:12 +01:00
SymbolOrigin.h [clangd] Extend SymbolOrigin, stop serializing it 2022-01-13 08:26:12 +01:00
YAMLSerialization.cpp [clangd] Clean up unused includes. NFCI 2022-02-26 12:00:16 +01:00