llvm-capstone/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
CommentToXML.cpp
FileIndexRecord.cpp
FileIndexRecord.h
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
IndexingAction.cpp
IndexingContext.cpp [Index] [clangd] Support for concept declarations and requires expressions 2022-04-26 13:50:01 +00:00
IndexingContext.h
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
USRGeneration.cpp [Index] [clangd] Support for concept declarations and requires expressions 2022-04-26 13:50:01 +00:00