[libTooling] Generalize string explanation as templated metadata
authorEric Li <li.zhe.hua@gmail.com>
Mon, 21 Mar 2022 18:19:17 +0000 (18:19 +0000)
committerYitzhak Mandelbaum <yitzhakm@google.com>
Mon, 21 Mar 2022 18:45:39 +0000 (18:45 +0000)
commit18440547d3520b78c9ab929685309419fc1fbe95
treef557d5e5cd65d9c7ce21381333b74edea603f63c
parent0f0520003af4e949d780996948d14c2d0b77a022
[libTooling] Generalize string explanation as templated metadata

Change RewriteRule from holding an `Explanation` to being able to generate
arbitrary metadata. Where TransformerClangTidyCheck was interested in a string
description for the diagnostic, other tools may be interested in richer metadata
at a higher level of abstraction than at the edit level (which is currently
available as ASTEdit::Metadata).

Reviewed By: ymandel

Differential Revision: https://reviews.llvm.org/D120360
clang-tools-extra/clang-tidy/abseil/CleanupCtadCheck.cpp
clang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp
clang-tools-extra/clang-tidy/bugprone/StringviewNullptrCheck.cpp
clang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp
clang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.h
clang-tools-extra/unittests/clang-tidy/TransformerClangTidyCheckTest.cpp
clang/include/clang/Tooling/Transformer/RewriteRule.h
clang/include/clang/Tooling/Transformer/Transformer.h
clang/lib/Tooling/Transformer/RewriteRule.cpp
clang/lib/Tooling/Transformer/Transformer.cpp
clang/unittests/Tooling/TransformerTest.cpp