llvm-project/clang-tools-extra
Kadir Cetinkaya 83411bf06f
[clangd] Support for standard type hierarchy
This is mostly a mechanical change to adapt standard type hierarchy
support proposed in LSP 3.17 on top of clangd's existing extension support.

This does mainly two things:
- Incorporate symbolids for all the parents inside resolution parameters, so
  that they can be retrieved from index later on. This is a new code path, as
  extension always resolved them eagerly.
- Propogate parent information when resolving children, so that at least one
  branch of parents is always preserved. This is to address a shortcoming in the
  extension.

This doesn't drop support for the extension, but it's deprecated from now on and
will be deleted in upcoming releases. Currently we use the same struct
internally but don't serialize extra fields.

Fixes https://github.com/clangd/clangd/issues/826.

Differential Revision: https://reviews.llvm.org/D131385
2022-08-17 09:29:15 +02:00
..
clang-apply-replacements Fix use-after-free in clang-apply-replacements 2022-08-02 13:34:20 -07:00
clang-change-namespace [clang] Implement ElaboratedType sugaring for types written bare 2022-07-27 11:10:54 +02:00
clang-doc Use llvm::all_of (NFC) 2022-08-14 16:25:36 -07:00
clang-include-fixer LLVM_FALLTHROUGH => [[fallthrough]]. NFC 2022-08-09 04:06:52 +00:00
clang-move Use llvm::none_of (NFC) 2022-08-14 16:25:39 -07:00
clang-query [clang-query] Add check to prevent setting srcloc when no introspection is available. 2021-04-28 11:21:35 +01:00
clang-reorder-fields Use llvm::sort instead of std::sort where possible 2022-07-23 15:19:05 +02:00
clang-tidy Use llvm::all_of (NFC) 2022-08-14 16:25:36 -07:00
clangd [clangd] Support for standard type hierarchy 2022-08-17 09:29:15 +02:00
docs [clang-tidy] Support C++14 in bugprone-signal-handler. 2022-08-12 09:45:53 +02:00
include-cleaner [include-cleaner] Fix build error in unit test 2022-06-09 03:38:13 -04:00
modularize Remove unneeded cl::ZeroOrMore for cl::opt/cl::list options 2022-06-05 00:31:44 -07:00
pp-trace [pp-trace] Print HashLoc in InclusionDirective callback 2022-06-03 19:29:59 +08:00
pseudo [pseudo] Style tweaks forgotten in D130337. NFC 2022-08-16 10:26:25 +02:00
test [clang-tidy] Support C++14 in bugprone-signal-handler. 2022-08-12 09:45:53 +02:00
tool-template
unittests [clang-doc] Always emit the TagType for RecordInfo 2022-08-12 18:39:20 +00:00
.gitignore
CMakeLists.txt Generalize "check-all" umbrella targets, use for check-clang-tools 2022-05-06 12:30:49 +02:00
CODE_OWNERS.TXT
LICENSE.TXT
README.txt [NFC] update clang-tools-extra README.txt 2022-06-10 16:59:57 +05:30

README.txt

//===----------------------------------------------------------------------===//
// Clang Tools repository
//===----------------------------------------------------------------------===//

Welcome to the repository of extra Clang Tools.  This repository holds tools
that are developed as part of the LLVM compiler infrastructure project and the
Clang frontend.  These tools are kept in a separate "extra" repository to
allow lighter weight checkouts of the core Clang codebase.

All discussion regarding Clang, Clang-based tools, and code in this repository
should be held using the standard Clang forum:
  https://discourse.llvm.org/c/clang

Code review for this tree should take place on the standard Clang patch and
commit lists:
  http://lists.llvm.org/mailman/listinfo/cfe-commits

If you find a bug in these tools, please file it in the LLVM bug tracker:
  https://github.com/llvm/llvm-project/issues/