llvm-project/clang/unittests
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
..
AST [AST] Consider QualifiedTemplateName in TemplateName::getAsUsingDecl(). 2022-04-27 14:16:19 +02:00
ASTMatchers [Testing] Drop clangTesting from clang's public library interface 2022-04-20 13:28:44 +02:00
Analysis [clang][dataflow] Fix `Environment::join`'s handling of flow-condition merging. 2022-04-25 15:05:50 +00:00
Basic [clang] NFCI: Use FileEntryRef in FileManagerTest 2022-04-15 15:16:17 +02:00
CodeGen [clang-repl] Recommit "Land initial infrastructure for incremental parsing" 2021-05-13 06:30:29 +00:00
CrossTU [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file 2022-03-22 10:28:42 +08:00
DirectoryWatcher Revert "Re-Revert "DirectoryWatcher: add an implementation for Windows"" 2021-06-19 09:19:52 -07:00
Driver Blind stab in the dark to fix a bot failure 2022-04-15 20:12:59 -05:00
Format [clang-format] add a regression test for include sorting 2022-04-28 11:02:14 +02:00
Frontend [test][clang] Use -clear-ast-before-backend instead of -flegacy-pass-manager in CommandLineTest 2022-04-11 14:06:40 -07:00
Index [clang] Visit enum base specifiers in libIndex 2021-10-25 13:16:14 +02:00
Interpreter [clang-repl][NFC] Fix calling convention mismatch in test 2021-11-30 13:26:10 -08:00
Introspection [IntrospectionTest] Replace "return" with "GTEST_SKIP" 2022-02-04 12:35:44 -08:00
Lex [clang][lex] NFCI: Use FileEntryRef in PPCallbacks::InclusionDirective() 2022-04-14 10:46:12 +02:00
Rename Bump googletest to 1.10.0 2021-05-14 19:16:31 +02:00
Rewrite
Sema [Testing] Drop clangTesting from clang's public library interface 2022-04-20 13:28:44 +02:00
Serialization [Frontend] Only compile modules if not already finalized 2021-07-15 18:27:08 -07:00
StaticAnalyzer [Testing] Drop clangTesting from clang's public library interface 2022-04-20 13:28:44 +02:00
Tooling [AST] Improve traversal of concepts and concept requirements 2022-04-28 09:33:26 +00:00
libclang
CMakeLists.txt [clang-repl] Recommit "Land initial infrastructure for incremental parsing" 2021-05-13 06:30:29 +00:00