[clang-tools-extra] r298316 - [clang-tidy] readability-container-size-empty fix for (*x).size()
Alexander Kornienko via cfe-commits
cfe-commits at lists.llvm.org
Mon Mar 20 15:15:28 PDT 2017
Author: alexfh
Date: Mon Mar 20 17:15:27 2017
New Revision: 298316
URL: http://llvm.org/viewvc/llvm-project?rev=298316&view=rev
Log:
[clang-tidy] readability-container-size-empty fix for (*x).size()
Modified:
clang-tools-extra/trunk/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
clang-tools-extra/trunk/test/clang-tidy/readability-container-size-empty.cpp
Modified: clang-tools-extra/trunk/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/readability/ContainerSizeEmptyCheck.cpp?rev=298316&r1=298315&r2=298316&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-tidy/readability/ContainerSizeEmptyCheck.cpp (original)
+++ clang-tools-extra/trunk/clang-tidy/readability/ContainerSizeEmptyCheck.cpp Mon Mar 20 17:15:27 2017
@@ -56,8 +56,7 @@ void ContainerSizeEmptyCheck::registerMa
Finder->addMatcher(
cxxMemberCallExpr(on(expr(anyOf(hasType(ValidContainer),
hasType(pointsTo(ValidContainer)),
- hasType(references(ValidContainer))))
- .bind("STLObject")),
+ hasType(references(ValidContainer))))),
callee(cxxMethodDecl(hasName("size"))), WrongUse,
unless(hasAncestor(cxxMethodDecl(
ofClass(equalsBoundNode("container"))))))
@@ -69,7 +68,7 @@ void ContainerSizeEmptyCheck::check(cons
const auto *MemberCall =
Result.Nodes.getNodeAs<CXXMemberCallExpr>("SizeCallExpr");
const auto *BinaryOp = Result.Nodes.getNodeAs<BinaryOperator>("SizeBinaryOp");
- const auto *E = Result.Nodes.getNodeAs<Expr>("STLObject");
+ const auto *E = MemberCall->getImplicitObjectArgument();
FixItHint Hint;
std::string ReplacementText =
Lexer::getSourceText(CharSourceRange::getTokenRange(E->getSourceRange()),
Modified: clang-tools-extra/trunk/test/clang-tidy/readability-container-size-empty.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-tidy/readability-container-size-empty.cpp?rev=298316&r1=298315&r2=298316&view=diff
==============================================================================
--- clang-tools-extra/trunk/test/clang-tidy/readability-container-size-empty.cpp (original)
+++ clang-tools-extra/trunk/test/clang-tidy/readability-container-size-empty.cpp Mon Mar 20 17:15:27 2017
@@ -168,6 +168,10 @@ int main() {
;
// CHECK-MESSAGES: :[[@LINE-2]]:7: warning: the 'empty' method should be used
// CHECK-FIXES: {{^ }}if (vect3->empty()){{$}}
+ if ((*vect3).size() == 0)
+ ;
+ // CHECK-MESSAGES: :[[@LINE-2]]:7: warning: the 'empty' method should be used
+ // CHECK-FIXES: {{^ }}if ((*vect3).empty()){{$}}
delete vect3;
More information about the cfe-commits
mailing list