[clang-tools-extra] r265680 - [clang-tidy] Remove unnecessary getName() on Decls and Types feeding into a DiagnosticBuilder
Alexander Kornienko via cfe-commits
cfe-commits at lists.llvm.org
Thu Apr 7 08:16:28 PDT 2016
Thanks!
On Thu, Apr 7, 2016 at 4:55 PM, Benjamin Kramer via cfe-commits <
cfe-commits at lists.llvm.org> wrote:
> Author: d0k
> Date: Thu Apr 7 09:55:25 2016
> New Revision: 265680
>
> URL: http://llvm.org/viewvc/llvm-project?rev=265680&view=rev
> Log:
> [clang-tidy] Remove unnecessary getName() on Decls and Types feeding into
> a DiagnosticBuilder
>
> Going through a string removes some of the smarts of the diagnosic printer
> and makes the code more complicated. This change has some cosmetic impact
> on the output but that's mostly minor.
>
> Modified:
> clang-tools-extra/trunk/clang-tidy/google/NonConstReferences.cpp
> clang-tools-extra/trunk/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
>
> clang-tools-extra/trunk/clang-tidy/misc/ForwardDeclarationNamespaceCheck.cpp
>
> clang-tools-extra/trunk/clang-tidy/misc/MacroRepeatedSideEffectsCheck.cpp
> clang-tools-extra/trunk/clang-tidy/misc/NonCopyableObjects.cpp
> clang-tools-extra/trunk/clang-tidy/misc/UnusedAliasDeclsCheck.cpp
> clang-tools-extra/trunk/clang-tidy/misc/UnusedParametersCheck.cpp
>
> clang-tools-extra/trunk/clang-tidy/performance/FasterStringFindCheck.cpp
>
> clang-tools-extra/trunk/clang-tidy/performance/ImplicitCastInLoopCheck.cpp
> clang-tools-extra/trunk/clang-tidy/readability/FunctionSizeCheck.cpp
> clang-tools-extra/trunk/test/clang-tidy/misc-definitions-in-headers.hpp
>
> clang-tools-extra/trunk/test/clang-tidy/performance-faster-string-find.cpp
>
> Modified: clang-tools-extra/trunk/clang-tidy/google/NonConstReferences.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/google/NonConstReferences.cpp?rev=265680&r1=265679&r2=265680&view=diff
>
> ==============================================================================
> --- clang-tools-extra/trunk/clang-tidy/google/NonConstReferences.cpp
> (original)
> +++ clang-tools-extra/trunk/clang-tidy/google/NonConstReferences.cpp Thu
> Apr 7 09:55:25 2016
> @@ -115,8 +115,8 @@ void NonConstReferences::check(const Mat
> << Parameter->getFunctionScopeIndex();
> } else {
> diag(Parameter->getLocation(),
> - "non-const reference parameter '%0', make it const or use a
> pointer")
> - << Parameter->getName();
> + "non-const reference parameter %0, make it const or use a
> pointer")
> + << Parameter;
> }
> }
>
>
> Modified:
> clang-tools-extra/trunk/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/misc/DefinitionsInHeadersCheck.cpp?rev=265680&r1=265679&r2=265680&view=diff
>
> ==============================================================================
> --- clang-tools-extra/trunk/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
> (original)
> +++ clang-tools-extra/trunk/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
> Thu Apr 7 09:55:25 2016
> @@ -118,11 +118,10 @@ void DefinitionsInHeadersCheck::check(co
> }
>
> diag(FD->getLocation(),
> - "function '%0' defined in a header file; "
> + "function %0 defined in a header file; "
> "function definitions in header files can lead to ODR
> violations")
> - << FD->getNameInfo().getName().getAsString()
> - << FixItHint::CreateInsertion(FD->getSourceRange().getBegin(),
> - "inline ");
> + << FD <<
> FixItHint::CreateInsertion(FD->getSourceRange().getBegin(),
> + "inline ");
> } else if (const auto *VD = dyn_cast<VarDecl>(ND)) {
> // Static data members of a class template are allowed.
> if (VD->getDeclContext()->isDependentContext() &&
> VD->isStaticDataMember())
> @@ -134,9 +133,9 @@ void DefinitionsInHeadersCheck::check(co
> return;
>
> diag(VD->getLocation(),
> - "variable '%0' defined in a header file; "
> + "variable %0 defined in a header file; "
> "variable definitions in header files can lead to ODR
> violations")
> - << VD->getName();
> + << VD;
> }
> }
>
>
> Modified:
> clang-tools-extra/trunk/clang-tidy/misc/ForwardDeclarationNamespaceCheck.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/misc/ForwardDeclarationNamespaceCheck.cpp?rev=265680&r1=265679&r2=265680&view=diff
>
> ==============================================================================
> ---
> clang-tools-extra/trunk/clang-tidy/misc/ForwardDeclarationNamespaceCheck.cpp
> (original)
> +++
> clang-tools-extra/trunk/clang-tidy/misc/ForwardDeclarationNamespaceCheck.cpp
> Thu Apr 7 09:55:25 2016
> @@ -139,12 +139,12 @@ void ForwardDeclarationNamespaceCheck::o
> if (!CurDecl->hasDefinition() &&
> !haveSameNamespaceOrTranslationUnit(CurDecl, Decl)) {
> diag(CurDecl->getLocation(),
> - "declaration '%0' is never referenced, but a declaration
> with "
> + "declaration %0 is never referenced, but a declaration
> with "
> "the same name found in another namespace '%1'")
> - << CurDecl->getName() << getNameOfNamespace(Decl);
> - diag(Decl->getLocation(), "a declaration of '%0' is found here",
> + << CurDecl << getNameOfNamespace(Decl);
> + diag(Decl->getLocation(), "a declaration of %0 is found here",
> DiagnosticIDs::Note)
> - << Decl->getName();
> + << Decl;
> break; // FIXME: We only generate one warning for each
> declaration.
> }
> }
> @@ -158,12 +158,12 @@ void ForwardDeclarationNamespaceCheck::o
> const auto &Definitions = DeclNameToDefinitions[DeclName];
> for (const auto *Def : Definitions) {
> diag(CurDecl->getLocation(),
> - "no definition found for '%0', but a definition with "
> - "the same name '%1' found in another namespace '%2'")
> - << CurDecl->getName() << Def->getName() <<
> getNameOfNamespace(Def);
> - diag(Def->getLocation(), "a definition of '%0' is found here",
> + "no definition found for %0, but a definition with "
> + "the same name %1 found in another namespace '%2'")
> + << CurDecl << Def << getNameOfNamespace(Def);
> + diag(Def->getLocation(), "a definition of %0 is found here",
> DiagnosticIDs::Note)
> - << Def->getName();
> + << Def;
> }
> }
> }
>
> Modified:
> clang-tools-extra/trunk/clang-tidy/misc/MacroRepeatedSideEffectsCheck.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/misc/MacroRepeatedSideEffectsCheck.cpp?rev=265680&r1=265679&r2=265680&view=diff
>
> ==============================================================================
> ---
> clang-tools-extra/trunk/clang-tidy/misc/MacroRepeatedSideEffectsCheck.cpp
> (original)
> +++
> clang-tools-extra/trunk/clang-tidy/misc/MacroRepeatedSideEffectsCheck.cpp
> Thu Apr 7 09:55:25 2016
> @@ -65,9 +65,9 @@ void MacroRepeatedPPCallbacks::MacroExpa
> if (hasSideEffects(ResultArgToks) &&
> countArgumentExpansions(MI, Arg) >= 2) {
> Check.diag(ResultArgToks->getLocation(),
> - "side effects in the %ordinal0 macro argument '%1' are "
> + "side effects in the %ordinal0 macro argument %1 are "
> "repeated in macro expansion")
> - << (ArgNo + 1) << Arg->getName();
> + << (ArgNo + 1) << Arg;
> Check.diag(MI->getDefinitionLoc(), "macro %0 defined here",
> DiagnosticIDs::Note)
> << MacroNameTok.getIdentifierInfo();
>
> Modified: clang-tools-extra/trunk/clang-tidy/misc/NonCopyableObjects.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/misc/NonCopyableObjects.cpp?rev=265680&r1=265679&r2=265680&view=diff
>
> ==============================================================================
> --- clang-tools-extra/trunk/clang-tidy/misc/NonCopyableObjects.cpp
> (original)
> +++ clang-tools-extra/trunk/clang-tidy/misc/NonCopyableObjects.cpp Thu
> Apr 7 09:55:25 2016
> @@ -81,14 +81,14 @@ void NonCopyableObjectsCheck::check(cons
> const auto *E = Result.Nodes.getNodeAs<Expr>("expr");
>
> if (D && BD)
> - diag(D->getLocation(), "'%0' declared as type '%1', which is unsafe
> to copy"
> - "; did you mean '%1 *'?")
> - << D->getName() << BD->getName();
> + diag(D->getLocation(), "%0 declared as type '%1', which is unsafe to
> copy"
> + "; did you mean '%1 *'?")
> + << D << BD->getName();
> else if (E)
> diag(E->getExprLoc(),
> - "expression has opaque data structure type '%0'; type should
> only be "
> + "expression has opaque data structure type %0; type should only
> be "
> "used as a pointer and not dereferenced")
> - << BD->getName();
> + << BD;
> }
>
> } // namespace tidy
>
> Modified: clang-tools-extra/trunk/clang-tidy/misc/UnusedAliasDeclsCheck.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/misc/UnusedAliasDeclsCheck.cpp?rev=265680&r1=265679&r2=265680&view=diff
>
> ==============================================================================
> --- clang-tools-extra/trunk/clang-tidy/misc/UnusedAliasDeclsCheck.cpp
> (original)
> +++ clang-tools-extra/trunk/clang-tidy/misc/UnusedAliasDeclsCheck.cpp Thu
> Apr 7 09:55:25 2016
> @@ -53,9 +53,8 @@ void UnusedAliasDeclsCheck::onEndOfTrans
> for (const auto &FoundDecl : FoundDecls) {
> if (!FoundDecl.second.isValid())
> continue;
> - diag(FoundDecl.first->getLocation(), "namespace alias decl '%0' is
> unused")
> - << FoundDecl.first->getName()
> - << FixItHint::CreateRemoval(FoundDecl.second);
> + diag(FoundDecl.first->getLocation(), "namespace alias decl %0 is
> unused")
> + << FoundDecl.first << FixItHint::CreateRemoval(FoundDecl.second);
> }
> }
>
>
> Modified: clang-tools-extra/trunk/clang-tidy/misc/UnusedParametersCheck.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/misc/UnusedParametersCheck.cpp?rev=265680&r1=265679&r2=265680&view=diff
>
> ==============================================================================
> --- clang-tools-extra/trunk/clang-tidy/misc/UnusedParametersCheck.cpp
> (original)
> +++ clang-tools-extra/trunk/clang-tidy/misc/UnusedParametersCheck.cpp Thu
> Apr 7 09:55:25 2016
> @@ -67,8 +67,7 @@ void UnusedParametersCheck::warnOnUnused
> const MatchFinder::MatchResult &Result, const FunctionDecl *Function,
> unsigned ParamIndex) {
> const auto *Param = Function->getParamDecl(ParamIndex);
> - auto MyDiag = diag(Param->getLocation(), "parameter '%0' is unused")
> - << Param->getName();
> + auto MyDiag = diag(Param->getLocation(), "parameter %0 is unused") <<
> Param;
>
> auto DeclRefExpr =
> declRefExpr(to(equalsNode(Function)),
>
> Modified:
> clang-tools-extra/trunk/clang-tidy/performance/FasterStringFindCheck.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/performance/FasterStringFindCheck.cpp?rev=265680&r1=265679&r2=265680&view=diff
>
> ==============================================================================
> ---
> clang-tools-extra/trunk/clang-tidy/performance/FasterStringFindCheck.cpp
> (original)
> +++
> clang-tools-extra/trunk/clang-tidy/performance/FasterStringFindCheck.cpp
> Thu Apr 7 09:55:25 2016
> @@ -116,11 +116,10 @@ void FasterStringFindCheck::check(const
> diag(Literal->getLocStart(), "%0 called with a string literal
> consisting of "
> "a single character; consider using the
> more "
> "effective overload accepting a character")
> - << FindFunc->getName()
> - << FixItHint::CreateReplacement(
> - CharSourceRange::getTokenRange(Literal->getLocStart(),
> - Literal->getLocEnd()),
> - *Replacement);
> + << FindFunc << FixItHint::CreateReplacement(
> +
> CharSourceRange::getTokenRange(Literal->getLocStart(),
> +
> Literal->getLocEnd()),
> + *Replacement);
> }
>
> } // namespace performance
>
> Modified:
> clang-tools-extra/trunk/clang-tidy/performance/ImplicitCastInLoopCheck.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/performance/ImplicitCastInLoopCheck.cpp?rev=265680&r1=265679&r2=265680&view=diff
>
> ==============================================================================
> ---
> clang-tools-extra/trunk/clang-tidy/performance/ImplicitCastInLoopCheck.cpp
> (original)
> +++
> clang-tools-extra/trunk/clang-tidy/performance/ImplicitCastInLoopCheck.cpp
> Thu Apr 7 09:55:25 2016
> @@ -85,16 +85,12 @@ void ImplicitCastInLoopCheck::ReportAndF
> QualType ConstType = OperatorCall->getType().withConst();
> QualType ConstRefType = Context->getLValueReferenceType(ConstType);
> const char Message[] =
> - "the type of the loop variable '%0' is different from the one
> returned "
> + "the type of the loop variable %0 is different from the one
> returned "
> "by the iterator and generates an implicit cast; you can either "
> - "change the type to the correct one ('%1' but 'const auto&' is
> always a "
> + "change the type to the correct one (%1 but 'const auto&' is always
> a "
> "valid option) or remove the reference to make it explicit that you
> are "
> "creating a new value";
> - PrintingPolicy Policy(Context->getLangOpts());
> - Policy.SuppressTagKeyword = true;
> -
> - diag(VD->getLocStart(), Message) << VD->getName()
> - << ConstRefType.getAsString(Policy);
> + diag(VD->getLocStart(), Message) << VD << ConstRefType;
> }
>
> } // namespace performance
>
> Modified:
> clang-tools-extra/trunk/clang-tidy/readability/FunctionSizeCheck.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/readability/FunctionSizeCheck.cpp?rev=265680&r1=265679&r2=265680&view=diff
>
> ==============================================================================
> --- clang-tools-extra/trunk/clang-tidy/readability/FunctionSizeCheck.cpp
> (original)
> +++ clang-tools-extra/trunk/clang-tidy/readability/FunctionSizeCheck.cpp
> Thu Apr 7 09:55:25 2016
> @@ -74,8 +74,8 @@ void FunctionSizeCheck::onEndOfTranslati
> if (FI.Lines > LineThreshold || FI.Statements > StatementThreshold ||
> FI.Branches > BranchThreshold) {
> diag(P.first->getLocation(),
> - "function '%0' exceeds recommended size/complexity thresholds")
> - << P.first->getNameAsString();
> + "function %0 exceeds recommended size/complexity thresholds")
> + << P.first;
> }
>
> if (FI.Lines > LineThreshold) {
>
> Modified:
> clang-tools-extra/trunk/test/clang-tidy/misc-definitions-in-headers.hpp
> URL:
> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-tidy/misc-definitions-in-headers.hpp?rev=265680&r1=265679&r2=265680&view=diff
>
> ==============================================================================
> ---
> clang-tools-extra/trunk/test/clang-tidy/misc-definitions-in-headers.hpp
> (original)
> +++
> clang-tools-extra/trunk/test/clang-tidy/misc-definitions-in-headers.hpp Thu
> Apr 7 09:55:25 2016
> @@ -28,7 +28,7 @@ void CA::f2() { }
>
> template <>
> int CA::f3() {
> -// CHECK-MESSAGES: :[[@LINE-1]]:9: warning: function 'f3' defined in a
> header file;
> +// CHECK-MESSAGES: :[[@LINE-1]]:9: warning: function 'f3<int>' defined in
> a header file;
> int a = 1;
> return a;
> }
> @@ -90,7 +90,7 @@ T f3() {
> }
>
> template <>
> -// CHECK-MESSAGES: :[[@LINE+1]]:5: warning: function 'f3' defined in a
> header file;
> +// CHECK-MESSAGES: :[[@LINE+1]]:5: warning: function 'f3<int>' defined in
> a header file;
> int f3() {
> int a = 1;
> return a;
>
> Modified:
> clang-tools-extra/trunk/test/clang-tidy/performance-faster-string-find.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-tidy/performance-faster-string-find.cpp?rev=265680&r1=265679&r2=265680&view=diff
>
> ==============================================================================
> ---
> clang-tools-extra/trunk/test/clang-tidy/performance-faster-string-find.cpp
> (original)
> +++
> clang-tools-extra/trunk/test/clang-tidy/performance-faster-string-find.cpp
> Thu Apr 7 09:55:25 2016
> @@ -33,12 +33,12 @@ void StringFind() {
> std::string Str;
>
> Str.find("a");
> - // CHECK-MESSAGES: [[@LINE-1]]:12: warning: find called with a string
> literal consisting of a single character; consider using the more effective
> overload accepting a character [performance-faster-string-find]
> + // CHECK-MESSAGES: [[@LINE-1]]:12: warning: 'find' called with a string
> literal consisting of a single character; consider using the more effective
> overload accepting a character [performance-faster-string-find]
> // CHECK-FIXES: Str.find('a');
>
> // Works with the pos argument.
> Str.find("a", 1);
> - // CHECK-MESSAGES: [[@LINE-1]]:12: warning: find called with a string
> literal
> + // CHECK-MESSAGES: [[@LINE-1]]:12: warning: 'find' called with a string
> literal
> // CHECK-FIXES: Str.find('a', 1);
>
> // Doens't work with strings smaller or larger than 1 char.
> @@ -50,35 +50,35 @@ void StringFind() {
>
> // Other methods that can also be replaced
> Str.rfind("a");
> - // CHECK-MESSAGES: [[@LINE-1]]:13: warning: rfind called with a string
> literal
> + // CHECK-MESSAGES: [[@LINE-1]]:13: warning: 'rfind' called with a
> string literal
> // CHECK-FIXES: Str.rfind('a');
> Str.find_first_of("a");
> - // CHECK-MESSAGES: [[@LINE-1]]:21: warning: find_first_of called with a
> string
> + // CHECK-MESSAGES: [[@LINE-1]]:21: warning: 'find_first_of' called with
> a string
> // CHECK-FIXES: Str.find_first_of('a');
> Str.find_first_not_of("a");
> - // CHECK-MESSAGES: [[@LINE-1]]:25: warning: find_first_not_of called
> with a
> + // CHECK-MESSAGES: [[@LINE-1]]:25: warning: 'find_first_not_of' called
> with a
> // CHECK-FIXES: Str.find_first_not_of('a');
> Str.find_last_of("a");
> - // CHECK-MESSAGES: [[@LINE-1]]:20: warning: find_last_of called with a
> string
> + // CHECK-MESSAGES: [[@LINE-1]]:20: warning: 'find_last_of' called with
> a string
> // CHECK-FIXES: Str.find_last_of('a');
> Str.find_last_not_of("a");
> - // CHECK-MESSAGES: [[@LINE-1]]:24: warning: find_last_not_of called
> with a
> + // CHECK-MESSAGES: [[@LINE-1]]:24: warning: 'find_last_not_of' called
> with a
> // CHECK-FIXES: Str.find_last_not_of('a');
>
> // std::wstring should work.
> std::wstring WStr;
> WStr.find(L"n");
> - // CHECK-MESSAGES: [[@LINE-1]]:13: warning: find called with a string
> literal
> + // CHECK-MESSAGES: [[@LINE-1]]:13: warning: 'find' called with a string
> literal
> // CHECK-FIXES: Str.find(L'n');
> // Even with unicode that fits in one wide char.
> WStr.find(L"\x3A9");
> - // CHECK-MESSAGES: [[@LINE-1]]:13: warning: find called with a string
> literal
> + // CHECK-MESSAGES: [[@LINE-1]]:13: warning: 'find' called with a string
> literal
> // CHECK-FIXES: Str.find(L'\x3A9');
>
> // Also with other types, but only if it was specified in the options.
> llvm::StringRef sr;
> sr.find("x");
> - // CHECK-MESSAGES: [[@LINE-1]]:11: warning: find called with a string
> literal
> + // CHECK-MESSAGES: [[@LINE-1]]:11: warning: 'find' called with a string
> literal
> // CHECK-FIXES: sr.find('x');
> NotStringRef nsr;
> nsr.find("x");
> @@ -92,7 +92,7 @@ int FindTemplateDependant(T value) {
> template <typename T>
> int FindTemplateNotDependant(T pos) {
> return std::string().find("A", pos);
> - // CHECK-MESSAGES: [[@LINE-1]]:29: warning: find called with a string
> literal
> + // CHECK-MESSAGES: [[@LINE-1]]:29: warning: 'find' called with a string
> literal
> // CHECK-FIXES: return std::string().find('A', pos);
> }
>
> @@ -105,6 +105,6 @@ int FindStr() {
>
> int Macros() {
> return STR_MACRO(std::string()) + POS_MACRO(1);
> - // CHECK-MESSAGES: [[@LINE-1]]:10: warning: find called with a string
> literal
> - // CHECK-MESSAGES: [[@LINE-2]]:37: warning: find called with a string
> literal
> + // CHECK-MESSAGES: [[@LINE-1]]:10: warning: 'find' called with a string
> literal
> + // CHECK-MESSAGES: [[@LINE-2]]:37: warning: 'find' called with a string
> literal
> }
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160407/b2e605c9/attachment-0001.html>
More information about the cfe-commits
mailing list