llvm-project/clang-tools-extra/unittests/clang-tidy
Haojian Wu f2879d8a48 [clang-tidy] Add fix descriptions to clang-tidy checks.
Summary:
Motivation/Context: in the code review system integrating with clang-tidy,
clang-tidy doesn't provide a human-readable description of the fix. Usually
developers have to preview a code diff (before vs after apply the fix) to
understand what the fix does before applying a fix.

This patch proposes that each clang-tidy check provides a short and
actional fix description that can be shown in the UI, so that users can know
what the fix does without previewing diff.

This patch extends clang-tidy framework to support fix descriptions (will add implementations for
existing checks in the future). Fix descriptions and fixes are emitted via diagnostic::Note (rather than
attaching the main warning diagnostic).

Before this patch:

```
void MyCheck::check(...) {
   ...
   diag(loc, "my check warning") <<  FixtItHint::CreateReplacement(...);
}
```

After:

```
void MyCheck::check(...) {
   ...
   diag(loc, "my check warning"); // Emit a check warning
   diag(loc, "fix description", DiagnosticIDs::Note) << FixtItHint::CreateReplacement(...); // Emit a diagnostic note and a fix
}
```

Reviewers: sammccall, alexfh

Reviewed By: alexfh

Subscribers: MyDeveloperDay, Eugene.Zelenko, aaron.ballman, JonasToth, xazax.hun, jdoerfert, cfe-commits

Tags: #clang-tools-extra, #clang

Differential Revision: https://reviews.llvm.org/D59932

llvm-svn: 358576
2019-04-17 12:53:59 +00:00
..
CMakeLists.txt gn build: Add build files for most clang-tools-extra unit tests 2019-03-31 16:49:54 +00:00
ClangTidyDiagnosticConsumerTest.cpp [clang-tidy] Ignore newlines in checks list 2017-08-09 16:00:31 +00:00
ClangTidyOptionsTest.cpp Partially revert r331456: [clang-tidy] Remove AnalyzeTemporaryDtors option. 2018-05-08 23:15:58 +00:00
ClangTidyTest.h [clang-tidy] Add fix descriptions to clang-tidy checks. 2019-04-17 12:53:59 +00:00
GoogleModuleTest.cpp
IncludeInserterTest.cpp [clang-tidy] Move all checks to the new registerPPCallbacks API 2019-03-22 18:58:12 +00:00
LLVMModuleTest.cpp [clang-tidy] Reword the "code outside header guard" warning. 2017-02-21 11:25:45 +00:00
NamespaceAliaserTest.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ObjCModuleTest.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
OverlappingReplacementsTest.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ReadabilityModuleTest.cpp [clang-tidy] Add a test. 2017-08-10 12:38:46 +00:00
UsingInserterTest.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00