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; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits