[clang-tidy] Minor cleanups in readability-container-size-empty checker

* Removed an unused header
  * Simplified the custom ast_matchers

http://reviews.llvm.org/D7088

Patch by Gábor Horváth!

llvm-svn: 226810
This commit is contained in:
Alexander Kornienko 2015-01-22 12:27:09 +00:00
parent b4b6b74079
commit febfd3453e
1 changed files with 6 additions and 13 deletions

View File

@ -13,7 +13,6 @@
#include "clang/AST/ASTContext.h"
#include "clang/ASTMatchers/ASTMatchers.h"
#include "clang/ASTMatchers/ASTMatchersInternal.h"
#include "clang/Lex/Lexer.h"
using namespace clang::ast_matchers;
@ -46,12 +45,7 @@ bool isContainer(llvm::StringRef ClassName) {
namespace clang {
namespace ast_matchers {
AST_MATCHER_P(QualType, unqualifiedType, internal::Matcher<Type>,
InnerMatcher) {
return InnerMatcher.matches(*Node, Finder, Builder);
}
AST_MATCHER(Type, isBoolType) { return Node.isBooleanType(); }
AST_MATCHER(QualType, isBoolType) { return Node->isBooleanType(); }
AST_MATCHER(NamedDecl, stlContainer) {
return isContainer(Node.getQualifiedNameAsString());
@ -78,19 +72,18 @@ void ContainerSizeEmptyCheck::registerMatchers(MatchFinder *Finder) {
hasLHS(integerLiteral(equals(1)))))))
.bind("SizeBinaryOp")),
hasParent(implicitCastExpr(
hasImplicitDestinationType(unqualifiedType(isBoolType())),
hasImplicitDestinationType(isBoolType()),
anyOf(
hasParent(unaryOperator(hasOperatorName("!")).bind("NegOnSize")),
anything()))),
hasParent(
explicitCastExpr(hasDestinationType(unqualifiedType(isBoolType())))));
hasParent(explicitCastExpr(hasDestinationType(isBoolType()))));
Finder->addMatcher(
memberCallExpr(
on(expr(anyOf(hasType(namedDecl(stlContainer())),
hasType(qualType(pointsTo(namedDecl(stlContainer())))),
hasType(qualType(references(
namedDecl(stlContainer())))))).bind("STLObject")),
hasType(pointsTo(namedDecl(stlContainer()))),
hasType(references(namedDecl(stlContainer())))))
.bind("STLObject")),
callee(methodDecl(hasName("size"))), WrongUse).bind("SizeCallExpr"),
this);
}