[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:
parent
b4b6b74079
commit
febfd3453e
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue