llvm-project/clang/lib/Index
Ilya Biryukov 2b833d4086 [AST] Improve traversal of concepts and concept requirements
- Do not traverse concept decl inside `AutoType`. We only traverse
  declaration and definitions, not references to a declaration.
- Do not visit implicit AST node the relevant traversal mode.
- Add traversal extension points for concept requirements.
- Renamed `TraverseConceptReference` to mark as helper to share
  the code. Having an extension point there seems confusing given that
  there are many concept refences in the AST that do not call the
  helper. Those are `AutoType`, `AutoTypeLoc` and constraint requirements.

Only clangd code requires an update.

There are no use-cases for concept requirement traversals yet, but
I added them in the earlier version of the patch and decided to keep
them for completeness.

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D124532
2022-04-28 09:33:26 +00:00
..
CMakeLists.txt Index: Remove unused internal header SimpleFormatContext.h, NFC 2020-12-04 15:10:27 -08:00
CommentToXML.cpp
FileIndexRecord.cpp [llvm][clang][NFC] updates inline licence info 2021-08-11 02:48:53 +00:00
FileIndexRecord.h [index] Fix performance regression with indexing macros 2021-06-16 10:16:26 -07:00
IndexBody.cpp [AST] Improve traversal of concepts and concept requirements 2022-04-28 09:33:26 +00:00
IndexDecl.cpp [Index] [clangd] Support for concept declarations and requires expressions 2022-04-26 13:50:01 +00:00
IndexSymbol.cpp [Index] [clangd] Support for concept declarations and requires expressions 2022-04-26 13:50:01 +00:00
IndexTypeSourceInfo.cpp [Index] [clangd] Support for concept declarations and requires expressions 2022-04-26 13:50:01 +00:00
IndexingAction.cpp Speculatively fix this harder and with improved spelling capabilities. 2021-05-27 09:54:09 -04:00
IndexingContext.cpp [Index] [clangd] Support for concept declarations and requires expressions 2022-04-26 13:50:01 +00:00
IndexingContext.h [index] Improve macro indexing support 2021-04-06 09:12:14 -07:00
USRGeneration.cpp [Index] [clangd] Support for concept declarations and requires expressions 2022-04-26 13:50:01 +00:00