forked from OSchip/llvm-project
f2879d8a48
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 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
DefinitionsInHeadersCheck.cpp | ||
DefinitionsInHeadersCheck.h | ||
MiscTidyModule.cpp | ||
MisplacedConstCheck.cpp | ||
MisplacedConstCheck.h | ||
NewDeleteOverloadsCheck.cpp | ||
NewDeleteOverloadsCheck.h | ||
NonCopyableObjects.cpp | ||
NonCopyableObjects.h | ||
NonPrivateMemberVariablesInClassesCheck.cpp | ||
NonPrivateMemberVariablesInClassesCheck.h | ||
RedundantExpressionCheck.cpp | ||
RedundantExpressionCheck.h | ||
StaticAssertCheck.cpp | ||
StaticAssertCheck.h | ||
ThrowByValueCatchByReferenceCheck.cpp | ||
ThrowByValueCatchByReferenceCheck.h | ||
UnconventionalAssignOperatorCheck.cpp | ||
UnconventionalAssignOperatorCheck.h | ||
UniqueptrResetReleaseCheck.cpp | ||
UniqueptrResetReleaseCheck.h | ||
UnusedAliasDeclsCheck.cpp | ||
UnusedAliasDeclsCheck.h | ||
UnusedParametersCheck.cpp | ||
UnusedParametersCheck.h | ||
UnusedUsingDeclsCheck.cpp | ||
UnusedUsingDeclsCheck.h |