diff --git a/clang-tools-extra/clang-query/Query.h b/clang-tools-extra/clang-query/Query.h --- a/clang-tools-extra/clang-query/Query.h +++ b/clang-tools-extra/clang-query/Query.h @@ -120,7 +120,7 @@ static const QueryKind value = QK_SetOutputKind; }; -template <> struct SetQueryKind { +template <> struct SetQueryKind { static const QueryKind value = QK_SetTraversalKind; }; diff --git a/clang-tools-extra/clang-query/QueryParser.h b/clang-tools-extra/clang-query/QueryParser.h --- a/clang-tools-extra/clang-query/QueryParser.h +++ b/clang-tools-extra/clang-query/QueryParser.h @@ -43,8 +43,7 @@ template struct LexOrCompleteWord; QueryRef parseSetBool(bool QuerySession::*Var); - QueryRef - parseSetTraversalKind(ast_type_traits::TraversalKind QuerySession::*Var); + QueryRef parseSetTraversalKind(TraversalKind QuerySession::*Var); template QueryRef parseSetOutputKind(); QueryRef completeMatcherExpression(); diff --git a/clang-tools-extra/clang-query/QueryParser.cpp b/clang-tools-extra/clang-query/QueryParser.cpp --- a/clang-tools-extra/clang-query/QueryParser.cpp +++ b/clang-tools-extra/clang-query/QueryParser.cpp @@ -128,20 +128,17 @@ llvm_unreachable("Invalid output kind"); } -QueryRef QueryParser::parseSetTraversalKind( - ast_type_traits::TraversalKind QuerySession::*Var) { +QueryRef QueryParser::parseSetTraversalKind(TraversalKind QuerySession::*Var) { StringRef ValStr; unsigned Value = LexOrCompleteWord(this, ValStr) - .Case("AsIs", ast_type_traits::TK_AsIs) - .Case("IgnoreUnlessSpelledInSource", - ast_type_traits::TK_IgnoreUnlessSpelledInSource) + .Case("AsIs", TK_AsIs) + .Case("IgnoreUnlessSpelledInSource", TK_IgnoreUnlessSpelledInSource) .Default(~0u); if (Value == ~0u) { return new InvalidQuery("expected traversal kind, got '" + ValStr + "'"); } - return new SetQuery( - Var, static_cast(Value)); + return new SetQuery(Var, static_cast(Value)); } QueryRef QueryParser::endQuery(QueryRef Q) { diff --git a/clang-tools-extra/clang-query/QuerySession.h b/clang-tools-extra/clang-query/QuerySession.h --- a/clang-tools-extra/clang-query/QuerySession.h +++ b/clang-tools-extra/clang-query/QuerySession.h @@ -26,7 +26,7 @@ QuerySession(llvm::ArrayRef> ASTs) : ASTs(ASTs), PrintOutput(false), DiagOutput(true), DetailedASTOutput(false), BindRoot(true), PrintMatcher(false), - Terminate(false), TK(ast_type_traits::TK_AsIs) {} + Terminate(false), TK(TK_AsIs) {} llvm::ArrayRef> ASTs; @@ -38,7 +38,7 @@ bool PrintMatcher; bool Terminate; - ast_type_traits::TraversalKind TK; + TraversalKind TK; llvm::StringMap NamedValues; }; diff --git a/clang-tools-extra/clang-tidy/abseil/FasterStrsplitDelimiterCheck.cpp b/clang-tools-extra/clang-tidy/abseil/FasterStrsplitDelimiterCheck.cpp --- a/clang-tools-extra/clang-tidy/abseil/FasterStrsplitDelimiterCheck.cpp +++ b/clang-tools-extra/clang-tidy/abseil/FasterStrsplitDelimiterCheck.cpp @@ -79,7 +79,7 @@ // Find uses of absl::StrSplit(..., "x") and absl::StrSplit(..., // absl::ByAnyChar("x")) to transform them into absl::StrSplit(..., 'x'). Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, callExpr(callee(functionDecl(hasName("::absl::StrSplit"))), hasArgument(1, anyOf(ByAnyCharArg, SingleChar)), unless(isInTemplateInstantiation())) @@ -90,7 +90,7 @@ // absl::MaxSplits(absl::ByAnyChar("x"), N) to transform them into // absl::MaxSplits('x', N). Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, callExpr(callee(functionDecl(hasName("::absl::MaxSplits"))), hasArgument(0, anyOf(ByAnyCharArg, ignoringParenCasts(SingleChar))), diff --git a/clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp b/clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp --- a/clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp +++ b/clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp @@ -68,7 +68,7 @@ has(callExpr(callee(functionDecl(*Strcat))).bind("StrCat"))); if (const auto *SubStrcatCall = selectFirst( "StrCat", - match(stmt(traverse(ast_type_traits::TK_AsIs, + match(stmt(traverse(TK_AsIs, anyOf(cxxConstructExpr(IsAlphanum, hasArgument(0, IsStrcat)), IsStrcat))), diff --git a/clang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.cpp b/clang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.cpp --- a/clang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.cpp +++ b/clang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.cpp @@ -58,7 +58,7 @@ // StrCat on the RHS. The first argument of the StrCat call should be the same // as the LHS. Ignore calls from template instantiations. Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, cxxOperatorCallExpr( unless(isInTemplateInstantiation()), hasOverloadedOperatorName("="), diff --git a/clang-tools-extra/clang-tidy/abseil/UpgradeDurationConversionsCheck.cpp b/clang-tools-extra/clang-tidy/abseil/UpgradeDurationConversionsCheck.cpp --- a/clang-tools-extra/clang-tidy/abseil/UpgradeDurationConversionsCheck.cpp +++ b/clang-tools-extra/clang-tidy/abseil/UpgradeDurationConversionsCheck.cpp @@ -100,17 +100,16 @@ // `absl::Hours(x)` // where `x` is not of a built-in type. Finder->addMatcher( - traverse( - ast_type_traits::TK_AsIs, - implicitCastExpr(anyOf(hasCastKind(CK_UserDefinedConversion), - has(implicitCastExpr( - hasCastKind(CK_UserDefinedConversion)))), - hasParent(callExpr( - callee(functionDecl( - DurationFactoryFunction(), - unless(hasParent(functionTemplateDecl())))), - hasArgument(0, expr().bind("arg"))))) - .bind("OuterExpr")), + traverse(TK_AsIs, implicitCastExpr( + anyOf(hasCastKind(CK_UserDefinedConversion), + has(implicitCastExpr( + hasCastKind(CK_UserDefinedConversion)))), + hasParent(callExpr( + callee(functionDecl( + DurationFactoryFunction(), + unless(hasParent(functionTemplateDecl())))), + hasArgument(0, expr().bind("arg"))))) + .bind("OuterExpr")), this); } @@ -120,7 +119,7 @@ "implicit conversion to 'int64_t' is deprecated in this context; use an " "explicit cast instead"; - TraversalKindScope RAII(*Result.Context, ast_type_traits::TK_AsIs); + TraversalKindScope RAII(*Result.Context, TK_AsIs); const auto *ArgExpr = Result.Nodes.getNodeAs("arg"); SourceLocation Loc = ArgExpr->getBeginLoc(); diff --git a/clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp --- a/clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp @@ -84,8 +84,7 @@ void AssertSideEffectCheck::registerMatchers(MatchFinder *Finder) { auto DescendantWithSideEffect = - traverse(ast_type_traits::TK_AsIs, - hasDescendant(expr(hasSideEffect(CheckFunctionCalls)))); + traverse(TK_AsIs, hasDescendant(expr(hasSideEffect(CheckFunctionCalls)))); auto ConditionWithSideEffect = hasCondition(DescendantWithSideEffect); Finder->addMatcher( stmt( diff --git a/clang-tools-extra/clang-tidy/bugprone/BoolPointerImplicitConversionCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/BoolPointerImplicitConversionCheck.cpp --- a/clang-tools-extra/clang-tidy/bugprone/BoolPointerImplicitConversionCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/BoolPointerImplicitConversionCheck.cpp @@ -19,7 +19,7 @@ // condition. Filter negations. Finder->addMatcher( traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, ifStmt( hasCondition(findAll(implicitCastExpr( unless(hasParent(unaryOperator(hasOperatorName("!")))), diff --git a/clang-tools-extra/clang-tidy/bugprone/DanglingHandleCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/DanglingHandleCheck.cpp --- a/clang-tools-extra/clang-tidy/bugprone/DanglingHandleCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/DanglingHandleCheck.cpp @@ -117,7 +117,7 @@ // Find 'Handle foo = ReturnsAValue();' Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, varDecl(hasType(hasUnqualifiedDesugaredType(recordType( hasDeclaration(cxxRecordDecl(IsAHandle))))), unless(parmVarDecl()), @@ -128,7 +128,7 @@ this); // Find 'foo = ReturnsAValue(); // foo is Handle' Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, cxxOperatorCallExpr(callee(cxxMethodDecl(ofClass(IsAHandle))), hasOverloadedOperatorName("="), hasArgument(1, ConvertedHandle)) @@ -136,16 +136,16 @@ this); // Container insertions that will dangle. - Finder->addMatcher(traverse(ast_type_traits::TK_AsIs, - makeContainerMatcher(IsAHandle).bind("bad_stmt")), - this); + Finder->addMatcher( + traverse(TK_AsIs, makeContainerMatcher(IsAHandle).bind("bad_stmt")), + this); } void DanglingHandleCheck::registerMatchersForReturn(MatchFinder *Finder) { // Return a local. Finder->addMatcher( traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, returnStmt( // The AST contains two constructor calls: // 1. Value to Handle conversion. @@ -170,7 +170,7 @@ // Return a temporary. Finder->addMatcher( traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, returnStmt(has(exprWithCleanups(has(ignoringParenImpCasts(handleFrom( IsAHandle, handleFromTemporaryValue(IsAHandle))))))) .bind("bad_stmt")), diff --git a/clang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.cpp --- a/clang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.cpp @@ -33,7 +33,7 @@ tagType(hasDeclaration(decl(isInStdNamespace()))))); Finder->addMatcher( traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, cxxMemberCallExpr( on(anyOf(hasType(DeclInStd), hasType(pointsTo(DeclInStd)))), callee(cxxMethodDecl(hasName("erase"))), argumentCountIs(1), diff --git a/clang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp --- a/clang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp @@ -51,7 +51,7 @@ // Find expressions of cast to int of the sum of a floating point expression // and 0.5. MatchFinder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, implicitCastExpr(hasImplicitDestinationType(isInteger()), ignoringParenCasts(binaryOperator( hasOperatorName("+"), OneSideHalf))) diff --git a/clang-tools-extra/clang-tidy/bugprone/IntegerDivisionCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/IntegerDivisionCheck.cpp --- a/clang-tools-extra/clang-tidy/bugprone/IntegerDivisionCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/IntegerDivisionCheck.cpp @@ -30,7 +30,7 @@ callExpr(IntType), explicitCastExpr(IntType), UnaryOperators); Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, binaryOperator( hasOperatorName("/"), hasLHS(expr(IntType)), hasRHS(expr(IntType)), diff --git a/clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp --- a/clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp @@ -55,19 +55,17 @@ declRefExpr(hasDeclaration(Alloc1Func))))); Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, - callExpr(callee(decl(anyOf(Alloc0Func, Alloc0FuncPtr))), - hasArgument(0, BadArg)) - .bind("Alloc")), + traverse(TK_AsIs, callExpr(callee(decl(anyOf(Alloc0Func, Alloc0FuncPtr))), + hasArgument(0, BadArg)) + .bind("Alloc")), this); Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, - callExpr(callee(decl(anyOf(Alloc1Func, Alloc1FuncPtr))), - hasArgument(1, BadArg)) - .bind("Alloc")), + traverse(TK_AsIs, callExpr(callee(decl(anyOf(Alloc1Func, Alloc1FuncPtr))), + hasArgument(1, BadArg)) + .bind("Alloc")), this); Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, cxxNewExpr(isArray(), hasArraySize(BadArg)).bind("Alloc")), this); } diff --git a/clang-tools-extra/clang-tidy/bugprone/MisplacedWideningCastCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/MisplacedWideningCastCheck.cpp --- a/clang-tools-extra/clang-tidy/bugprone/MisplacedWideningCastCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/MisplacedWideningCastCheck.cpp @@ -40,8 +40,7 @@ implicitCastExpr(hasImplicitDestinationType(isInteger()), has(ignoringParenImpCasts(Calc))); const auto Cast = - traverse(ast_type_traits::TK_AsIs, - expr(anyOf(ExplicitCast, ImplicitCast)).bind("Cast")); + traverse(TK_AsIs, expr(anyOf(ExplicitCast, ImplicitCast)).bind("Cast")); Finder->addMatcher(varDecl(hasInitializer(Cast)), this); Finder->addMatcher(returnStmt(hasReturnValue(Cast)), this); diff --git a/clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp --- a/clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp @@ -84,7 +84,7 @@ void ParentVirtualCallCheck::registerMatchers(MatchFinder *Finder) { Finder->addMatcher( traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, cxxMemberCallExpr( callee(memberExpr(hasDescendant(implicitCastExpr( hasImplicitDestinationType(pointsTo( diff --git a/clang-tools-extra/clang-tidy/bugprone/SignedCharMisuseCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/SignedCharMisuseCheck.cpp --- a/clang-tools-extra/clang-tidy/bugprone/SignedCharMisuseCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/SignedCharMisuseCheck.cpp @@ -70,9 +70,8 @@ // We catch any type of casts to an integer. We need to have these cast // expressions explicitly to catch only those casts which are direct children // of the checked expressions. (e.g. assignment, declaration). - return traverse(ast_type_traits::TK_AsIs, - expr(anyOf(ImplicitCastExpr, CStyleCastExpr, StaticCastExpr, - FunctionalCastExpr))); + return traverse(TK_AsIs, expr(anyOf(ImplicitCastExpr, CStyleCastExpr, + StaticCastExpr, FunctionalCastExpr))); } void SignedCharMisuseCheck::registerMatchers(MatchFinder *Finder) { diff --git a/clang-tools-extra/clang-tidy/bugprone/SuspiciousMissingCommaCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/SuspiciousMissingCommaCheck.cpp --- a/clang-tools-extra/clang-tidy/bugprone/SuspiciousMissingCommaCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/SuspiciousMissingCommaCheck.cpp @@ -23,7 +23,7 @@ // String literals surrounded by parentheses are assumed to be on purpose. // i.e.: const char* Array[] = { ("a" "b" "c"), "d", [...] }; - TraversalKindScope RAII(*Ctx, ast_type_traits::TK_AsIs); + TraversalKindScope RAII(*Ctx, TK_AsIs); auto Parents = Ctx->getParents(*Lit); if (Parents.size() == 1 && Parents[0].get() != nullptr) return true; diff --git a/clang-tools-extra/clang-tidy/bugprone/SuspiciousStringCompareCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/SuspiciousStringCompareCheck.cpp --- a/clang-tools-extra/clang-tidy/bugprone/SuspiciousStringCompareCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/SuspiciousStringCompareCheck.cpp @@ -135,7 +135,7 @@ // Detect suspicious cast to an inconsistant type (i.e. not integer type). Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, implicitCastExpr(unless(hasType(isInteger())), hasSourceExpression(StringCompareCallExpr)) .bind("invalid-conversion")), diff --git a/clang-tools-extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp --- a/clang-tools-extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp @@ -57,9 +57,8 @@ .bind(LoopVarName); // We need to catch only those comparisons which contain any integer cast. - StatementMatcher LoopVarConversionMatcher = - traverse(ast_type_traits::TK_AsIs, - implicitCastExpr(hasImplicitDestinationType(isInteger()), + StatementMatcher LoopVarConversionMatcher = traverse( + TK_AsIs, implicitCastExpr(hasImplicitDestinationType(isInteger()), has(ignoringParenImpCasts(LoopVarMatcher))) .bind(LoopVarCastName)); diff --git a/clang-tools-extra/clang-tidy/bugprone/UndelegatedConstructorCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/UndelegatedConstructorCheck.cpp --- a/clang-tools-extra/clang-tidy/bugprone/UndelegatedConstructorCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/UndelegatedConstructorCheck.cpp @@ -56,7 +56,7 @@ Finder->addMatcher( traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, compoundStmt(hasParent(cxxConstructorDecl( ofClass(cxxRecordDecl().bind("parent")))), forEach(ignoringTemporaryExpr( diff --git a/clang-tools-extra/clang-tidy/bugprone/UnhandledSelfAssignmentCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/UnhandledSelfAssignmentCheck.cpp --- a/clang-tools-extra/clang-tidy/bugprone/UnhandledSelfAssignmentCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/UnhandledSelfAssignmentCheck.cpp @@ -52,7 +52,7 @@ // In the non-template case, we can search for the copy constructor call. const auto HasNonTemplateSelfCopy = cxxMethodDecl( ofClass(cxxRecordDecl(unless(hasAncestor(classTemplateDecl())))), - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, hasDescendant(cxxConstructExpr(hasDeclaration(cxxConstructorDecl( isCopyConstructor(), ofClass(equalsBoundNode("class")))))))); diff --git a/clang-tools-extra/clang-tidy/bugprone/UnusedRaiiCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/UnusedRaiiCheck.cpp --- a/clang-tools-extra/clang-tidy/bugprone/UnusedRaiiCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/UnusedRaiiCheck.cpp @@ -32,7 +32,7 @@ unless(has(ignoringParenImpCasts(objcMessageExpr())))) .bind("temp"); Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, exprWithCleanups( unless(isInTemplateInstantiation()), hasParent(compoundStmt().bind("compound")), diff --git a/clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp --- a/clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp @@ -275,9 +275,8 @@ unless(inDecltypeOrTemplateArg())) .bind("declref"); - addDeclRefs( - match(traverse(ast_type_traits::TK_AsIs, findAll(DeclRefMatcher)), - *S->getStmt(), *Context)); + addDeclRefs(match(traverse(TK_AsIs, findAll(DeclRefMatcher)), *S->getStmt(), + *Context)); addDeclRefs(match(findAll(cxxOperatorCallExpr( hasAnyOverloadedOperatorName("*", "->", "[]"), hasArgument(0, DeclRefMatcher)) @@ -342,7 +341,7 @@ // Passing variable to a function as a non-const lvalue reference // (unless that function is std::move()). callExpr(forEachArgumentWithParam( - traverse(ast_type_traits::TK_AsIs, DeclRefMatcher), + traverse(TK_AsIs, DeclRefMatcher), unless(parmVarDecl(hasType( references(qualType(isConstQualified())))))), unless(callee(functionDecl(hasName("::std::move"))))))) @@ -406,7 +405,7 @@ Finder->addMatcher( traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, // To find the Stmt that we assume performs the actual move, we look // for the direct ancestor of the std::move() that isn't one of the // node types ignored by ignoringParenImpCasts(). diff --git a/clang-tools-extra/clang-tidy/cert/MutatingCopyCheck.cpp b/clang-tools-extra/clang-tidy/cert/MutatingCopyCheck.cpp --- a/clang-tools-extra/clang-tidy/cert/MutatingCopyCheck.cpp +++ b/clang-tools-extra/clang-tidy/cert/MutatingCopyCheck.cpp @@ -30,7 +30,7 @@ MemberExprOrSourceObject); const auto IsSourceMutatingAssignment = traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, expr(anyOf(binaryOperator(isAssignmentOperator(), hasLHS(IsPartOfSource)) .bind(MutatingOperatorName), cxxOperatorCallExpr(isAssignmentOperator(), diff --git a/clang-tools-extra/clang-tidy/cert/ProperlySeededRandomGeneratorCheck.cpp b/clang-tools-extra/clang-tidy/cert/ProperlySeededRandomGeneratorCheck.cpp --- a/clang-tools-extra/clang-tidy/cert/ProperlySeededRandomGeneratorCheck.cpp +++ b/clang-tools-extra/clang-tidy/cert/ProperlySeededRandomGeneratorCheck.cpp @@ -62,7 +62,7 @@ // std::mt19937 engine(x); // ^ Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, cxxConstructExpr(RandomGeneratorEngineTypeMatcher).bind("ctor")), this); diff --git a/clang-tools-extra/clang-tidy/cert/StaticObjectExceptionCheck.cpp b/clang-tools-extra/clang-tidy/cert/StaticObjectExceptionCheck.cpp --- a/clang-tools-extra/clang-tidy/cert/StaticObjectExceptionCheck.cpp +++ b/clang-tools-extra/clang-tidy/cert/StaticObjectExceptionCheck.cpp @@ -22,7 +22,7 @@ // initializer that can throw. Finder->addMatcher( traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, varDecl( anyOf(hasThreadStorageDuration(), hasStaticStorageDuration()), unless(anyOf(isConstexpr(), hasType(cxxRecordDecl(isLambda())), diff --git a/clang-tools-extra/clang-tidy/cert/ThrownExceptionTypeCheck.cpp b/clang-tools-extra/clang-tidy/cert/ThrownExceptionTypeCheck.cpp --- a/clang-tools-extra/clang-tidy/cert/ThrownExceptionTypeCheck.cpp +++ b/clang-tools-extra/clang-tidy/cert/ThrownExceptionTypeCheck.cpp @@ -20,7 +20,7 @@ void ThrownExceptionTypeCheck::registerMatchers(MatchFinder *Finder) { Finder->addMatcher( traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, cxxThrowExpr(has(ignoringParenImpCasts( cxxConstructExpr(hasDeclaration(cxxConstructorDecl( isCopyConstructor(), unless(isNoThrow())))) diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/InterfacesGlobalInitCheck.cpp b/clang-tools-extra/clang-tidy/cppcoreguidelines/InterfacesGlobalInitCheck.cpp --- a/clang-tools-extra/clang-tidy/cppcoreguidelines/InterfacesGlobalInitCheck.cpp +++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/InterfacesGlobalInitCheck.cpp @@ -27,12 +27,12 @@ const auto ReferencesUndefinedGlobalVar = declRefExpr(hasDeclaration( varDecl(GlobalVarDecl, unless(isDefinition())).bind("referencee"))); - Finder->addMatcher(traverse(ast_type_traits::TK_AsIs, - varDecl(GlobalVarDecl, isDefinition(), - hasInitializer(expr(hasDescendant( - ReferencesUndefinedGlobalVar)))) - .bind("var")), - this); + Finder->addMatcher( + traverse(TK_AsIs, varDecl(GlobalVarDecl, isDefinition(), + hasInitializer(expr(hasDescendant( + ReferencesUndefinedGlobalVar)))) + .bind("var")), + this); } void InterfacesGlobalInitCheck::check(const MatchFinder::MatchResult &Result) { diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp b/clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp --- a/clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp +++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp @@ -46,16 +46,15 @@ // i = 0.5; // void f(int); f(0.5); Finder->addMatcher( - traverse( - ast_type_traits::TK_AsIs, - implicitCastExpr(hasImplicitDestinationType( - hasUnqualifiedDesugaredType(builtinType())), - hasSourceExpression(hasType( - hasUnqualifiedDesugaredType(builtinType()))), - unless(hasSourceExpression(IsCeilFloorCallExpr)), - unless(hasParent(castExpr())), - unless(isInTemplateInstantiation())) - .bind("cast")), + traverse(TK_AsIs, implicitCastExpr( + hasImplicitDestinationType( + hasUnqualifiedDesugaredType(builtinType())), + hasSourceExpression(hasType( + hasUnqualifiedDesugaredType(builtinType()))), + unless(hasSourceExpression(IsCeilFloorCallExpr)), + unless(hasParent(castExpr())), + unless(isInTemplateInstantiation())) + .bind("cast")), this); // Binary operators: diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp b/clang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp --- a/clang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp +++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp @@ -69,7 +69,7 @@ // Find delete expressions that delete non-owners. Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, cxxDeleteExpr(hasDescendant(declRefExpr(unless(ConsideredOwner)) .bind("deleted_variable"))) .bind("delete_expr")), @@ -83,18 +83,17 @@ // resources. This check assumes that all pointer arguments of a legacy // functions shall be 'gsl::owner<>'. Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, - callExpr(callee(LegacyOwnerConsumers), - hasAnyArgument( - expr(unless(ignoringImpCasts(ConsideredOwner)), - hasType(pointerType())))) - .bind("legacy_consumer")), + traverse(TK_AsIs, callExpr(callee(LegacyOwnerConsumers), + hasAnyArgument(expr( + unless(ignoringImpCasts(ConsideredOwner)), + hasType(pointerType())))) + .bind("legacy_consumer")), this); // Matching assignment to owners, with the rhs not being an owner nor creating // one. Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, binaryOperator(isAssignmentOperator(), hasLHS(IsOwnerType), hasRHS(unless(ConsideredOwner))) .bind("owner_assignment")), @@ -102,7 +101,7 @@ // Matching initialization of owners with non-owners, nor creating owners. Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, namedDecl( varDecl(hasInitializer(unless(ConsideredOwner)), IsOwnerType) .bind("owner_initialization"))), @@ -120,9 +119,9 @@ // Match class member initialization that expects owners, but does not get // them. - Finder->addMatcher(traverse(ast_type_traits::TK_AsIs, - cxxRecordDecl(HasConstructorInitializerForOwner)), - this); + Finder->addMatcher( + traverse(TK_AsIs, cxxRecordDecl(HasConstructorInitializerForOwner)), + this); // Matching on assignment operations where the RHS is a newly created owner, // but the LHS is not an owner. @@ -136,7 +135,7 @@ // created owner, but the LHS is not an owner. Finder->addMatcher( traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, namedDecl( varDecl(eachOf(allOf(hasInitializer(CreatesOwner), unless(IsOwnerType)), diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsArrayToPointerDecayCheck.cpp b/clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsArrayToPointerDecayCheck.cpp --- a/clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsArrayToPointerDecayCheck.cpp +++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsArrayToPointerDecayCheck.cpp @@ -54,7 +54,7 @@ // 2) inside a range-for over an array // 3) if it converts a string literal to a pointer Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, implicitCastExpr( unless(hasParent(arraySubscriptExpr())), unless(hasParentIgnoringImpCasts(explicitCastExpr())), diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.cpp b/clang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.cpp --- a/clang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.cpp +++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.cpp @@ -62,11 +62,10 @@ // constructor in DerivedDecl's constructors. unless(IsWithinDerivedCtor)); - Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, - expr(anyOf(SlicesObjectInAssignment, SlicesObjectInCtor)) - .bind("Call")), - this); + Finder->addMatcher(traverse(TK_AsIs, expr(anyOf(SlicesObjectInAssignment, + SlicesObjectInCtor)) + .bind("Call")), + this); } /// Warns on methods overridden in DerivedDecl with respect to BaseDecl. diff --git a/clang-tools-extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.cpp b/clang-tools-extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.cpp --- a/clang-tools-extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.cpp +++ b/clang-tools-extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.cpp @@ -26,10 +26,10 @@ void StaticallyConstructedObjectsCheck::registerMatchers(MatchFinder *Finder) { // Constructing global, non-trivial objects with static storage is - // disallowed, unless the object is statically initialized with a constexpr + // disallowed, unless the object is statically initialized with a constexpr // constructor or has no explicit constructor. Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, varDecl( // Match global, statically stored objects... isGlobalStatic(), diff --git a/clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp b/clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp --- a/clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp +++ b/clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp @@ -52,7 +52,7 @@ .bind("rhs"); Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, stmt(anyOf( ifStmt(Any), whileStmt(Any), doStmt(Condition), binaryOperator( diff --git a/clang-tools-extra/clang-tidy/llvm/PreferRegisterOverUnsignedCheck.cpp b/clang-tools-extra/clang-tidy/llvm/PreferRegisterOverUnsignedCheck.cpp --- a/clang-tools-extra/clang-tidy/llvm/PreferRegisterOverUnsignedCheck.cpp +++ b/clang-tools-extra/clang-tidy/llvm/PreferRegisterOverUnsignedCheck.cpp @@ -21,7 +21,7 @@ cxxRecordDecl(hasName("::llvm::Register")).bind("registerClassDecl")); Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, valueDecl(allOf( hasType(qualType(isUnsignedInteger()).bind("varType")), varDecl(hasInitializer(exprWithCleanups( diff --git a/clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp b/clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp --- a/clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp +++ b/clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp @@ -366,7 +366,7 @@ ASTContext &Context) { // IgnoreParenImpCasts logic in reverse: skip surrounding uninteresting nodes const DynTypedNodeList Parents = Context.getParents(*TheExpr); - for (ast_type_traits::DynTypedNode DynParent : Parents) { + for (DynTypedNode DynParent : Parents) { if (const auto *Parent = DynParent.get()) { bool Skip = isa(Parent) || isa(Parent) || isa(Parent) || @@ -420,16 +420,14 @@ if (areEquivalentExpr(AllOperands[I], AllOperands[J])) { FoundDuplicates = true; Duplicates.set(J); - Builder->setBinding( - SmallString<11>(llvm::formatv("duplicate{0}", J)), - ast_type_traits::DynTypedNode::create(*AllOperands[J])); + Builder->setBinding(SmallString<11>(llvm::formatv("duplicate{0}", J)), + DynTypedNode::create(*AllOperands[J])); } } if (FoundDuplicates) - Builder->setBinding( - SmallString<11>(llvm::formatv("duplicate{0}", I)), - ast_type_traits::DynTypedNode::create(*AllOperands[I])); + Builder->setBinding(SmallString<11>(llvm::formatv("duplicate{0}", I)), + DynTypedNode::create(*AllOperands[I])); } return Duplicates.any(); @@ -837,7 +835,7 @@ // Binary with equivalent operands, like (X != 2 && X != 2). Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, binaryOperator( anyOf(isComparisonOperator(), hasAnyOperatorName("-", "/", "%", "|", "&", "^", "&&", @@ -868,7 +866,7 @@ // Conditional (trenary) operator with equivalent operands, like (Y ? X : X). Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, conditionalOperator(expressionsAreEquivalent(), // Filter noisy false positives. unless(conditionalOperatorIsInMacro()), @@ -878,7 +876,7 @@ // Overloaded operators with equivalent operands. Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, cxxOperatorCallExpr( hasAnyOverloadedOperatorName("-", "/", "%", "|", "&", "^", "==", "!=", "<", "<=", ">", @@ -901,7 +899,7 @@ // Match expressions like: !(1 | 2 | 3) Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, implicitCastExpr( hasImplicitDestinationType(isInteger()), has(unaryOperator( @@ -915,20 +913,19 @@ .bind("logical-bitwise-confusion")))), this); - // Match expressions like: (X << 8) & 0xFF - Finder->addMatcher( - traverse( - ast_type_traits::TK_AsIs, - binaryOperator( - hasOperatorName("&"), - hasOperands( - ignoringParenImpCasts( - binaryOperator(hasOperatorName("<<"), - hasRHS(ignoringParenImpCasts( - integerLiteral().bind("shift-const"))))), - ignoringParenImpCasts(integerLiteral().bind("and-const")))) - .bind("left-right-shift-confusion")), - this); + // Match expressions like: (X << 8) & 0xFF + Finder->addMatcher( + traverse(TK_AsIs, + binaryOperator( + hasOperatorName("&"), + hasOperands(ignoringParenImpCasts(binaryOperator( + hasOperatorName("<<"), + hasRHS(ignoringParenImpCasts( + integerLiteral().bind("shift-const"))))), + ignoringParenImpCasts( + integerLiteral().bind("and-const")))) + .bind("left-right-shift-confusion")), + this); // Match common expressions and apply more checks to find redundant // sub-expressions. @@ -942,17 +939,16 @@ const auto SymRight = matchSymbolicExpr("rhs"); // Match expressions like: x 0xFF == 0xF00. - Finder->addMatcher(traverse(ast_type_traits::TK_AsIs, - binaryOperator(isComparisonOperator(), - hasOperands(BinOpCstLeft, - CstRight)) - .bind("binop-const-compare-to-const")), - this); + Finder->addMatcher( + traverse(TK_AsIs, binaryOperator(isComparisonOperator(), + hasOperands(BinOpCstLeft, CstRight)) + .bind("binop-const-compare-to-const")), + this); // Match expressions like: x 0xFF == x. Finder->addMatcher( traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, binaryOperator(isComparisonOperator(), anyOf(allOf(hasLHS(BinOpCstLeft), hasRHS(SymRight)), allOf(hasLHS(SymRight), hasRHS(BinOpCstLeft)))) @@ -961,7 +957,7 @@ // Match expressions like: x 10 == x 12. Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, binaryOperator(isComparisonOperator(), hasLHS(BinOpCstLeft), hasRHS(BinOpCstRight), // Already reported as redundant. @@ -977,7 +973,7 @@ const auto ComparisonLeft = matchRelationalIntegerConstantExpr("lhs"); const auto ComparisonRight = matchRelationalIntegerConstantExpr("rhs"); Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, binaryOperator(hasAnyOperatorName("||", "&&"), hasLHS(ComparisonLeft), hasRHS(ComparisonRight), // Already reported as redundant. diff --git a/clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp b/clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp --- a/clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp @@ -529,16 +529,11 @@ } void LoopConvertCheck::registerMatchers(MatchFinder *Finder) { - Finder->addMatcher(traverse(ast_type_traits::TK_AsIs, makeArrayLoopMatcher()), - this); - Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, makeIteratorLoopMatcher(false)), this); - Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, makePseudoArrayLoopMatcher()), this); + Finder->addMatcher(traverse(TK_AsIs, makeArrayLoopMatcher()), this); + Finder->addMatcher(traverse(TK_AsIs, makeIteratorLoopMatcher(false)), this); + Finder->addMatcher(traverse(TK_AsIs, makePseudoArrayLoopMatcher()), this); if (UseReverseRanges) - Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, makeIteratorLoopMatcher(true)), - this); + Finder->addMatcher(traverse(TK_AsIs, makeIteratorLoopMatcher(true)), this); } /// Given the range of a single declaration, such as: @@ -965,7 +960,7 @@ } // Find out which qualifiers we have to use in the loop range. - TraversalKindScope RAII(*Context, ast_type_traits::TK_AsIs); + TraversalKindScope RAII(*Context, TK_AsIs); const UsageResult &Usages = Finder.getUsages(); determineRangeDescriptor(Context, Nodes, Loop, FixerKind, ContainerExpr, Usages, Descriptor); diff --git a/clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp b/clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp --- a/clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp @@ -84,7 +84,7 @@ Finder->addMatcher( traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, cxxBindTemporaryExpr(has(ignoringParenImpCasts( cxxConstructExpr( hasType(getSmartPointerTypeMatcher()), argumentCountIs(1), @@ -98,7 +98,7 @@ this); Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, cxxMemberCallExpr( thisPointerType(getSmartPointerTypeMatcher()), callee(cxxMethodDecl(hasName("reset"))), @@ -261,7 +261,7 @@ const CXXNewExpr *New, SourceManager &SM, ASTContext *Ctx) { auto SkipParensParents = [&](const Expr *E) { - TraversalKindScope RAII(*Ctx, ast_type_traits::TK_AsIs); + TraversalKindScope RAII(*Ctx, TK_AsIs); for (const Expr *OldE = nullptr; E != OldE;) { OldE = E; diff --git a/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp b/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp --- a/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp @@ -132,7 +132,7 @@ void PassByValueCheck::registerMatchers(MatchFinder *Finder) { Finder->addMatcher( traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, cxxConstructorDecl( forEachConstructorInitializer( cxxCtorInitializer( diff --git a/clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp b/clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp --- a/clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp @@ -88,7 +88,7 @@ hasArgument(1, MovableArgumentMatcher)), this); Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, cxxConstructExpr(hasType(AutoPtrType), argumentCountIs(1), hasArgument(0, MovableArgumentMatcher))), this); diff --git a/clang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.cpp b/clang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.cpp --- a/clang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.cpp @@ -33,7 +33,7 @@ const auto RandomFunc = hasArgument(2, expr().bind("randomFunc")); Finder->addMatcher( traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, callExpr( anyOf(allOf(Begin, End, argumentCountIs(2)), allOf(Begin, End, RandomFunc, argumentCountIs(3))), diff --git a/clang-tools-extra/clang-tidy/modernize/ReturnBracedInitListCheck.cpp b/clang-tools-extra/clang-tidy/modernize/ReturnBracedInitListCheck.cpp --- a/clang-tools-extra/clang-tidy/modernize/ReturnBracedInitListCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/ReturnBracedInitListCheck.cpp @@ -31,7 +31,7 @@ has(ConstructExpr), has(cxxFunctionalCastExpr(has(ConstructExpr))))); Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, functionDecl( isDefinition(), // Declarations don't have return statements. returns(unless(anyOf(builtinType(), autoType()))), diff --git a/clang-tools-extra/clang-tidy/modernize/ShrinkToFitCheck.cpp b/clang-tools-extra/clang-tidy/modernize/ShrinkToFitCheck.cpp --- a/clang-tools-extra/clang-tidy/modernize/ShrinkToFitCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/ShrinkToFitCheck.cpp @@ -42,8 +42,8 @@ on(hasType(hasCanonicalType(hasDeclaration(namedDecl( hasAnyName("std::basic_string", "std::deque", "std::vector")))))), callee(cxxMethodDecl(hasName("swap"))), - has(ignoringParenImpCasts(memberExpr(traverse( - ast_type_traits::TK_AsIs, hasDescendant(CopyCtorCall))))), + has(ignoringParenImpCasts( + memberExpr(traverse(TK_AsIs, hasDescendant(CopyCtorCall))))), hasArgument(0, SwapParam.bind("ContainerToShrink")), unless(isInTemplateInstantiation())) .bind("CopyAndSwapTrick"), diff --git a/clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp --- a/clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp @@ -281,8 +281,7 @@ } void UseAutoCheck::registerMatchers(MatchFinder *Finder) { - Finder->addMatcher(traverse(ast_type_traits::TK_AsIs, makeCombinedMatcher()), - this); + Finder->addMatcher(traverse(TK_AsIs, makeCombinedMatcher()), this); } void UseAutoCheck::replaceIterators(const DeclStmt *D, ASTContext *Context) { diff --git a/clang-tools-extra/clang-tidy/modernize/UseBoolLiteralsCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseBoolLiteralsCheck.cpp --- a/clang-tools-extra/clang-tidy/modernize/UseBoolLiteralsCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/UseBoolLiteralsCheck.cpp @@ -29,7 +29,7 @@ void UseBoolLiteralsCheck::registerMatchers(MatchFinder *Finder) { Finder->addMatcher( traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, implicitCastExpr( has(ignoringParenImpCasts(integerLiteral().bind("literal"))), hasImplicitDestinationType(qualType(booleanType())), @@ -38,7 +38,7 @@ this); Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, conditionalOperator( hasParent(implicitCastExpr( hasImplicitDestinationType(qualType(booleanType())), diff --git a/clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp --- a/clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp @@ -110,10 +110,9 @@ HasConstructExpr, has(cxxFunctionalCastExpr(HasConstructExpr)))); Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, - cxxMemberCallExpr(CallPushBack, has(SoughtParam), - unless(isInTemplateInstantiation())) - .bind("call")), + traverse(TK_AsIs, cxxMemberCallExpr(CallPushBack, has(SoughtParam), + unless(isInTemplateInstantiation())) + .bind("call")), this); } diff --git a/clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp --- a/clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp @@ -75,7 +75,7 @@ // The initialization of a base class should be a call to a copy // constructor of the base. if (match( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, cxxConstructorDecl( forEachConstructorInitializer(cxxCtorInitializer( isBaseInitializer(), @@ -96,7 +96,7 @@ auto AccessToFieldInParam = accessToFieldInVar(Field, Param); // The initialization is a CXXConstructExpr for class types. if (match(traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, cxxConstructorDecl( forEachConstructorInitializer(cxxCtorInitializer( isMemberInitializer(), forField(equalsNode(Field)), @@ -137,7 +137,7 @@ // return *this; if (Compound->body_empty() || match(traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, returnStmt(has(ignoringParenImpCasts(unaryOperator( hasOperatorName("*"), hasUnaryOperand(cxxThisExpr())))))), *Compound->body_back(), *Context) @@ -153,7 +153,7 @@ // ((Base*)this)->operator=((Base)Other); // // So we are looking for a member call that fulfills: - if (match(traverse(ast_type_traits::TK_AsIs, + if (match(traverse(TK_AsIs, compoundStmt(has(ignoringParenImpCasts(cxxMemberCallExpr( // - The object is an implicit cast of 'this' to a // pointer to @@ -184,7 +184,7 @@ member(fieldDecl(equalsNode(Field)))); auto RHS = accessToFieldInVar(Field, Param); if (match( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, compoundStmt(has(ignoringParenImpCasts(stmt(anyOf( binaryOperator(hasOperatorName("="), hasLHS(LHS), hasRHS(RHS)), diff --git a/clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp --- a/clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp @@ -42,7 +42,7 @@ unless(hasSourceExpression(hasType(sugaredNullptrType())))); return traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, castExpr(anyOf(ImplicitCastToNull, explicitCastExpr(hasDescendant(ImplicitCastToNull))), unless(hasAncestor(explicitCastExpr()))) @@ -277,10 +277,9 @@ return false; // Step 2: Find the first ancestor that doesn't expand from this macro. - ast_type_traits::DynTypedNode ContainingAncestor; - if (!findContainingAncestor( - ast_type_traits::DynTypedNode::create(*CE), MacroLoc, - ContainingAncestor)) + DynTypedNode ContainingAncestor; + if (!findContainingAncestor(DynTypedNode::create(*CE), MacroLoc, + ContainingAncestor)) return false; // Step 3: @@ -407,9 +406,8 @@ /// /// \pre MacroLoc.isFileID() /// \returns true if such an ancestor was found, false otherwise. - bool findContainingAncestor(ast_type_traits::DynTypedNode Start, - SourceLocation MacroLoc, - ast_type_traits::DynTypedNode &Result) { + bool findContainingAncestor(DynTypedNode Start, SourceLocation MacroLoc, + DynTypedNode &Result) { // Below we're only following the first parent back up the AST. This should // be fine since for the statements we care about there should only be one // parent, except for the case specified below. @@ -431,7 +429,7 @@ } } - const ast_type_traits::DynTypedNode &Parent = Parents[0]; + const DynTypedNode &Parent = Parents[0]; SourceLocation Loc; if (const auto *D = Parent.get()) diff --git a/clang-tools-extra/clang-tidy/objc/NSInvocationArgumentLifetimeCheck.cpp b/clang-tools-extra/clang-tidy/objc/NSInvocationArgumentLifetimeCheck.cpp --- a/clang-tools-extra/clang-tidy/objc/NSInvocationArgumentLifetimeCheck.cpp +++ b/clang-tools-extra/clang-tidy/objc/NSInvocationArgumentLifetimeCheck.cpp @@ -101,7 +101,7 @@ void NSInvocationArgumentLifetimeCheck::registerMatchers(MatchFinder *Finder) { Finder->addMatcher( traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, objcMessageExpr( hasReceiverType(asString("NSInvocation *")), anyOf(hasSelector("getArgument:atIndex:"), diff --git a/clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp b/clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp --- a/clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp +++ b/clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp @@ -50,7 +50,7 @@ unless(hasInitializer(expr(hasDescendant(expr(anyOf( materializeTemporaryExpr(), IteratorReturnsValueType))))))); Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, cxxForRangeStmt(hasLoopVariable(LoopVar.bind("loopVar"))) .bind("forRange")), this); diff --git a/clang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.cpp b/clang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.cpp --- a/clang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.cpp +++ b/clang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.cpp @@ -48,7 +48,7 @@ // cxxOperatorCallExpr() matcher. Finder->addMatcher( traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, cxxForRangeStmt(hasLoopVariable( varDecl( hasType(qualType(references(qualType(isConstQualified())))), diff --git a/clang-tools-extra/clang-tidy/performance/InefficientAlgorithmCheck.cpp b/clang-tools-extra/clang-tidy/performance/InefficientAlgorithmCheck.cpp --- a/clang-tools-extra/clang-tidy/performance/InefficientAlgorithmCheck.cpp +++ b/clang-tools-extra/clang-tidy/performance/InefficientAlgorithmCheck.cpp @@ -36,7 +36,7 @@ "::std::unordered_multiset", "::std::unordered_multimap")); const auto Matcher = traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, callExpr( callee(functionDecl(Algorithms)), hasArgument( diff --git a/clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp b/clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp --- a/clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp +++ b/clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp @@ -52,7 +52,7 @@ Finder->addMatcher(callExpr(ConstParamMatcher).bind("receiving-expr"), this); Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, cxxConstructExpr(ConstParamMatcher).bind("receiving-expr")), this); } diff --git a/clang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.cpp b/clang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.cpp --- a/clang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.cpp +++ b/clang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.cpp @@ -28,7 +28,7 @@ void MoveConstructorInitCheck::registerMatchers(MatchFinder *Finder) { Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, cxxConstructorDecl( unless(isImplicit()), isMoveConstructor(), hasAnyConstructorInitializer( diff --git a/clang-tools-extra/clang-tidy/performance/NoAutomaticMoveCheck.cpp b/clang-tools-extra/clang-tidy/performance/NoAutomaticMoveCheck.cpp --- a/clang-tools-extra/clang-tidy/performance/NoAutomaticMoveCheck.cpp +++ b/clang-tools-extra/clang-tidy/performance/NoAutomaticMoveCheck.cpp @@ -44,7 +44,7 @@ pointee(type(equalsBoundNode("SrcT"))))))))))); Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, returnStmt(hasReturnValue( ignoringElidableConstructorCall(ignoringParenImpCasts( cxxConstructExpr( diff --git a/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp b/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp --- a/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp +++ b/clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp @@ -142,7 +142,7 @@ AllowedTypes)))))), unless(isImplicit()), hasInitializer(traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, cxxConstructExpr( hasDeclaration(cxxConstructorDecl( isCopyConstructor())), @@ -170,7 +170,7 @@ const auto *BlockStmt = Result.Nodes.getNodeAs("blockStmt"); const auto *CtorCall = Result.Nodes.getNodeAs("ctorCall"); - TraversalKindScope RAII(*Result.Context, ast_type_traits::TK_AsIs); + TraversalKindScope RAII(*Result.Context, TK_AsIs); // Do not propose fixes if the DeclStmt has multiple VarDecls or in macros // since we cannot place them correctly. diff --git a/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp b/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp --- a/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp +++ b/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp @@ -42,7 +42,7 @@ bool hasLoopStmtAncestor(const DeclRefExpr &DeclRef, const Decl &Decl, ASTContext &Context) { auto Matches = match( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, decl(forEachDescendant(declRefExpr( equalsNode(&DeclRef), unless(hasAncestor(stmt(anyOf(forStmt(), cxxForRangeStmt(), @@ -83,7 +83,7 @@ decl().bind("param")); Finder->addMatcher( traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, functionDecl(hasBody(stmt()), isDefinition(), unless(isImplicit()), unless(cxxMethodDecl(anyOf(isOverride(), isFinal()))), has(typeLoc(forEach(ExpensiveValueParamDecl))), @@ -95,7 +95,7 @@ const auto *Param = Result.Nodes.getNodeAs("param"); const auto *Function = Result.Nodes.getNodeAs("functionDecl"); - TraversalKindScope RAII(*Result.Context, ast_type_traits::TK_AsIs); + TraversalKindScope RAII(*Result.Context, TK_AsIs); FunctionParmMutationAnalyzer &Analyzer = MutationAnalyzers.try_emplace(Function, *Function, *Result.Context) diff --git a/clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp b/clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp --- a/clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp @@ -40,7 +40,7 @@ .bind("container"))))))); const auto WrongUse = traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, anyOf( hasParent(binaryOperator(isComparisonOperator(), hasEitherOperand(ignoringImpCasts( diff --git a/clang-tools-extra/clang-tidy/readability/DeleteNullPointerCheck.cpp b/clang-tools-extra/clang-tidy/readability/DeleteNullPointerCheck.cpp --- a/clang-tools-extra/clang-tidy/readability/DeleteNullPointerCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/DeleteNullPointerCheck.cpp @@ -39,7 +39,7 @@ hasOperands(castExpr(hasCastKind(CK_NullToPointer)), PointerExpr)); Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, ifStmt(hasCondition( anyOf(PointerCondition, BinaryPointerCheckCondition)), hasThen(anyOf(DeleteExpr, DeleteMemberExpr, diff --git a/clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp b/clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp --- a/clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp @@ -222,7 +222,7 @@ std::queue Q; Q.push(Cast); - TraversalKindScope RAII(Context, ast_type_traits::TK_AsIs); + TraversalKindScope RAII(Context, TK_AsIs); while (!Q.empty()) { for (const auto &N : Context.getParents(*Q.front())) { @@ -276,7 +276,7 @@ binaryOperator(hasOperatorName("^"), hasLHS(implicitCastFromBool), hasRHS(implicitCastFromBool)); Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, implicitCastExpr( anyOf(hasCastKind(CK_IntegralToBoolean), hasCastKind(CK_FloatingToBoolean), @@ -309,7 +309,7 @@ forField(hasBitWidth(1))))); Finder->addMatcher( traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, implicitCastExpr( implicitCastFromBool, // Exclude comparisons of bools, as they are always cast to diff --git a/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp b/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp --- a/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp @@ -127,7 +127,7 @@ void MagicNumbersCheck::check(const MatchFinder::MatchResult &Result) { - TraversalKindScope RAII(*Result.Context, ast_type_traits::TK_AsIs); + TraversalKindScope RAII(*Result.Context, TK_AsIs); checkBoundMatch(Result, "integer"); checkBoundMatch(Result, "float"); diff --git a/clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp b/clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp --- a/clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp @@ -212,7 +212,7 @@ void MakeMemberFunctionConstCheck::registerMatchers(MatchFinder *Finder) { Finder->addMatcher( traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, cxxMethodDecl( isDefinition(), isUserProvided(), unless(anyOf( diff --git a/clang-tools-extra/clang-tidy/readability/MisplacedArrayIndexCheck.cpp b/clang-tools-extra/clang-tidy/readability/MisplacedArrayIndexCheck.cpp --- a/clang-tools-extra/clang-tidy/readability/MisplacedArrayIndexCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/MisplacedArrayIndexCheck.cpp @@ -20,10 +20,9 @@ void MisplacedArrayIndexCheck::registerMatchers(MatchFinder *Finder) { Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, - arraySubscriptExpr(hasLHS(hasType(isInteger())), - hasRHS(hasType(isAnyPointer()))) - .bind("expr")), + traverse(TK_AsIs, arraySubscriptExpr(hasLHS(hasType(isInteger())), + hasRHS(hasType(isAnyPointer()))) + .bind("expr")), this); } diff --git a/clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp b/clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp --- a/clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp @@ -29,7 +29,7 @@ // Analyse parameter usage in function. Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, stmt(anyOf(unaryOperator(hasAnyOperatorName("++", "--")), binaryOperator(), callExpr(), returnStmt(), cxxConstructExpr())) diff --git a/clang-tools-extra/clang-tidy/readability/RedundantFunctionPtrDereferenceCheck.cpp b/clang-tools-extra/clang-tidy/readability/RedundantFunctionPtrDereferenceCheck.cpp --- a/clang-tools-extra/clang-tidy/readability/RedundantFunctionPtrDereferenceCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/RedundantFunctionPtrDereferenceCheck.cpp @@ -17,12 +17,12 @@ namespace readability { void RedundantFunctionPtrDereferenceCheck::registerMatchers(MatchFinder *Finder) { - Finder->addMatcher(traverse(ast_type_traits::TK_AsIs, - unaryOperator(hasOperatorName("*"), - has(implicitCastExpr(hasCastKind( - CK_FunctionToPointerDecay)))) - .bind("op")), - this); + Finder->addMatcher( + traverse(TK_AsIs, unaryOperator(hasOperatorName("*"), + has(implicitCastExpr(hasCastKind( + CK_FunctionToPointerDecay)))) + .bind("op")), + this); } void RedundantFunctionPtrDereferenceCheck::check(const MatchFinder::MatchResult &Result) { diff --git a/clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp b/clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp --- a/clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp @@ -34,7 +34,7 @@ Finder->addMatcher( traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, cxxConstructorDecl( unless(isDelegatingConstructor()), ofClass(unless( diff --git a/clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp b/clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp --- a/clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp @@ -99,7 +99,7 @@ // check that matched ParamDecl of the ancestor CallExpr is not rvalue. Finder->addMatcher( traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, cxxConstructExpr( StringConstructorExpr, hasArgument(0, StringCStrCallExpr), unless(anyOf(HasRValueTempParent, hasParent(cxxBindTemporaryExpr( @@ -158,7 +158,7 @@ // Detect redundant 'c_str()' calls through a StringRef constructor. Finder->addMatcher( traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, cxxConstructExpr( // Implicit constructors of these classes are overloaded // wrt. string types and they internally make a StringRef diff --git a/clang-tools-extra/clang-tidy/readability/RedundantStringInitCheck.cpp b/clang-tools-extra/clang-tidy/readability/RedundantStringInitCheck.cpp --- a/clang-tools-extra/clang-tidy/readability/RedundantStringInitCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/RedundantStringInitCheck.cpp @@ -97,16 +97,16 @@ const auto StringType = hasType(hasUnqualifiedDesugaredType( recordType(hasDeclaration(cxxRecordDecl(hasStringTypeName))))); - const auto EmptyStringInit = - traverse(ast_type_traits::TK_AsIs, expr(ignoringImplicit( - anyOf(EmptyStringCtorExpr, EmptyStringCtorExprWithTemporaries)))); + const auto EmptyStringInit = traverse( + TK_AsIs, expr(ignoringImplicit(anyOf( + EmptyStringCtorExpr, EmptyStringCtorExprWithTemporaries)))); // Match a variable declaration with an empty string literal as initializer. // Examples: // string foo = ""; // string bar(""); Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, namedDecl(varDecl(StringType, hasInitializer(EmptyStringInit)) .bind("vardecl"), unless(parmVarDecl()))), diff --git a/clang-tools-extra/clang-tidy/readability/StringCompareCheck.cpp b/clang-tools-extra/clang-tidy/readability/StringCompareCheck.cpp --- a/clang-tools-extra/clang-tidy/readability/StringCompareCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/StringCompareCheck.cpp @@ -32,7 +32,7 @@ // First and second case: cast str.compare(str) to boolean. Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, implicitCastExpr(hasImplicitDestinationType(booleanType()), has(StrCompare)) .bind("match1")), diff --git a/clang-tools-extra/clang-tidy/utils/ExprSequence.cpp b/clang-tools-extra/clang-tidy/utils/ExprSequence.cpp --- a/clang-tools-extra/clang-tidy/utils/ExprSequence.cpp +++ b/clang-tools-extra/clang-tidy/utils/ExprSequence.cpp @@ -29,14 +29,13 @@ ASTContext *Context) { SmallVector Result; - TraversalKindScope RAII(*Context, ast_type_traits::TK_AsIs); + TraversalKindScope RAII(*Context, TK_AsIs); DynTypedNodeList Parents = Context->getParents(*S); - SmallVector NodesToProcess(Parents.begin(), - Parents.end()); + SmallVector NodesToProcess(Parents.begin(), Parents.end()); while (!NodesToProcess.empty()) { - ast_type_traits::DynTypedNode Node = NodesToProcess.back(); + DynTypedNode Node = NodesToProcess.back(); NodesToProcess.pop_back(); if (const auto *S = Node.get()) { diff --git a/clang-tools-extra/clang-tidy/zircon/TemporaryObjectsCheck.cpp b/clang-tools-extra/clang-tidy/zircon/TemporaryObjectsCheck.cpp --- a/clang-tools-extra/clang-tidy/zircon/TemporaryObjectsCheck.cpp +++ b/clang-tools-extra/clang-tidy/zircon/TemporaryObjectsCheck.cpp @@ -36,7 +36,7 @@ // Matcher for user-defined constructors. Finder->addMatcher( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, cxxConstructExpr(hasParent(cxxFunctionalCastExpr()), hasDeclaration(cxxConstructorDecl(hasParent( cxxRecordDecl(matchesAnyName(Names)))))) diff --git a/clang-tools-extra/clangd/AST.cpp b/clang-tools-extra/clangd/AST.cpp --- a/clang-tools-extra/clangd/AST.cpp +++ b/clang-tools-extra/clangd/AST.cpp @@ -303,8 +303,8 @@ std::string printType(const QualType QT, const DeclContext &CurContext) { std::string Result; llvm::raw_string_ostream OS(Result); - auto Decls = explicitReferenceTargets( - ast_type_traits::DynTypedNode::create(QT), DeclRelation::Alias); + auto Decls = + explicitReferenceTargets(DynTypedNode::create(QT), DeclRelation::Alias); if (!Decls.empty()) OS << getQualification(CurContext.getParentASTContext(), &CurContext, Decls.front(), diff --git a/clang-tools-extra/clangd/FindTarget.h b/clang-tools-extra/clangd/FindTarget.h --- a/clang-tools-extra/clangd/FindTarget.h +++ b/clang-tools-extra/clangd/FindTarget.h @@ -80,15 +80,15 @@ /// If callers want to support such decls, they should cast the node directly. /// /// FIXME: some AST nodes cannot be DynTypedNodes, these cannot be specified. -llvm::SmallVector -targetDecl(const ast_type_traits::DynTypedNode &, DeclRelationSet Mask); +llvm::SmallVector targetDecl(const DynTypedNode &, + DeclRelationSet Mask); /// Similar to targetDecl(), however instead of applying a filter, all possible /// decls are returned along with their DeclRelationSets. /// This is suitable for indexing, where everything is recorded and filtering /// is applied later. llvm::SmallVector, 1> -allTargetDecls(const ast_type_traits::DynTypedNode &); +allTargetDecls(const DynTypedNode &); enum class DeclRelation : unsigned { // Template options apply when the declaration is an instantiated template. @@ -162,8 +162,7 @@ /// ^~~ there is no Decl for 'Ptr', so we return the template pattern. /// \p Mask should not contain TemplatePattern or TemplateInstantiation. llvm::SmallVector -explicitReferenceTargets(ast_type_traits::DynTypedNode N, - DeclRelationSet Mask); +explicitReferenceTargets(DynTypedNode N, DeclRelationSet Mask); // Boring implementation details of bitfield. diff --git a/clang-tools-extra/clangd/FindTarget.cpp b/clang-tools-extra/clangd/FindTarget.cpp --- a/clang-tools-extra/clangd/FindTarget.cpp +++ b/clang-tools-extra/clangd/FindTarget.cpp @@ -44,10 +44,8 @@ namespace clang { namespace clangd { namespace { -using ast_type_traits::DynTypedNode; -LLVM_ATTRIBUTE_UNUSED std::string -nodeToString(const ast_type_traits::DynTypedNode &N) { +LLVM_ATTRIBUTE_UNUSED std::string nodeToString(const DynTypedNode &N) { std::string S = std::string(N.getNodeKind().asStringRef()); { llvm::raw_string_ostream OS(S); @@ -335,13 +333,11 @@ RelSet Flags; template void debug(T &Node, RelSet Flags) { - dlog("visit [{0}] {1}", Flags, - nodeToString(ast_type_traits::DynTypedNode::create(Node))); + dlog("visit [{0}] {1}", Flags, nodeToString(DynTypedNode::create(Node))); } void report(const NamedDecl *D, RelSet Flags) { - dlog("--> [{0}] {1}", Flags, - nodeToString(ast_type_traits::DynTypedNode::create(*D))); + dlog("--> [{0}] {1}", Flags, nodeToString(DynTypedNode::create(*D))); auto It = Decls.try_emplace(D, std::make_pair(Flags, Decls.size())); // If already exists, update the flags. if (!It.second) @@ -684,7 +680,7 @@ } // namespace llvm::SmallVector, 1> -allTargetDecls(const ast_type_traits::DynTypedNode &N) { +allTargetDecls(const DynTypedNode &N) { dlog("allTargetDecls({0})", nodeToString(N)); TargetFinder Finder; DeclRelationSet Flags; @@ -708,8 +704,8 @@ return Finder.takeDecls(); } -llvm::SmallVector -targetDecl(const ast_type_traits::DynTypedNode &N, DeclRelationSet Mask) { +llvm::SmallVector targetDecl(const DynTypedNode &N, + DeclRelationSet Mask) { llvm::SmallVector Result; for (const auto &Entry : allTargetDecls(N)) { if (!(Entry.second & ~Mask)) diff --git a/clang-tools-extra/clangd/Selection.h b/clang-tools-extra/clangd/Selection.h --- a/clang-tools-extra/clangd/Selection.h +++ b/clang-tools-extra/clangd/Selection.h @@ -125,7 +125,7 @@ // Direct children within the selection tree. llvm::SmallVector Children; // The corresponding node from the full AST. - ast_type_traits::DynTypedNode ASTNode; + DynTypedNode ASTNode; // The extent to which this node is covered by the selection. Selection Selected; // Walk up the AST to get the DeclContext of this Node, diff --git a/clang-tools-extra/clangd/Selection.cpp b/clang-tools-extra/clangd/Selection.cpp --- a/clang-tools-extra/clangd/Selection.cpp +++ b/clang-tools-extra/clangd/Selection.cpp @@ -35,7 +35,6 @@ namespace clangd { namespace { using Node = SelectionTree::Node; -using ast_type_traits::DynTypedNode; // Measure the fraction of selections that were enabled by recovery AST. void recordMetrics(const SelectionTree &S, const LangOptions &Lang) { diff --git a/clang-tools-extra/clangd/refactor/tweaks/DefineInline.cpp b/clang-tools-extra/clangd/refactor/tweaks/DefineInline.cpp --- a/clang-tools-extra/clangd/refactor/tweaks/DefineInline.cpp +++ b/clang-tools-extra/clangd/refactor/tweaks/DefineInline.cpp @@ -84,7 +84,7 @@ // or the function decl to be selected. Returns null if none of the above // criteria is met. const FunctionDecl *getSelectedFunction(const SelectionTree::Node *SelNode) { - const ast_type_traits::DynTypedNode &AstNode = SelNode->ASTNode; + const DynTypedNode &AstNode = SelNode->ASTNode; if (const FunctionDecl *FD = AstNode.get()) return FD; if (AstNode.get() && diff --git a/clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp b/clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp --- a/clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp +++ b/clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp @@ -51,7 +51,7 @@ const FunctionDecl *getSelectedFunction(const SelectionTree::Node *SelNode) { if (!SelNode) return nullptr; - const ast_type_traits::DynTypedNode &AstNode = SelNode->ASTNode; + const DynTypedNode &AstNode = SelNode->ASTNode; if (const FunctionDecl *FD = AstNode.get()) return FD; if (AstNode.get() && diff --git a/clang-tools-extra/unittests/clang-query/QueryParserTest.cpp b/clang-tools-extra/unittests/clang-query/QueryParserTest.cpp --- a/clang-tools-extra/unittests/clang-query/QueryParserTest.cpp +++ b/clang-tools-extra/unittests/clang-query/QueryParserTest.cpp @@ -112,11 +112,9 @@ EXPECT_EQ(true, cast >(Q)->Value); Q = parse("set traversal AsIs"); - ASSERT_TRUE(isa>(Q)); - EXPECT_EQ(&QuerySession::TK, - cast>(Q)->Var); - EXPECT_EQ(ast_type_traits::TK_AsIs, - cast>(Q)->Value); + ASSERT_TRUE(isa>(Q)); + EXPECT_EQ(&QuerySession::TK, cast>(Q)->Var); + EXPECT_EQ(TK_AsIs, cast>(Q)->Value); Q = parse("set traversal NotATraversal"); ASSERT_TRUE(isa(Q)); diff --git a/clang/lib/ASTMatchers/ASTMatchersInternal.cpp b/clang/lib/ASTMatchers/ASTMatchersInternal.cpp --- a/clang/lib/ASTMatchers/ASTMatchersInternal.cpp +++ b/clang/lib/ASTMatchers/ASTMatchersInternal.cpp @@ -256,8 +256,7 @@ return Copy; } -DynTypedMatcher -DynTypedMatcher::withTraversalKind(ast_type_traits::TraversalKind TK) { +DynTypedMatcher DynTypedMatcher::withTraversalKind(TraversalKind TK) { auto Copy = *this; Copy.Implementation = new DynTraversalMatcherImpl(TK, std::move(Copy.Implementation)); diff --git a/clang/lib/ASTMatchers/Dynamic/Registry.cpp b/clang/lib/ASTMatchers/Dynamic/Registry.cpp --- a/clang/lib/ASTMatchers/Dynamic/Registry.cpp +++ b/clang/lib/ASTMatchers/Dynamic/Registry.cpp @@ -31,8 +31,6 @@ #include #include -using namespace clang::ast_type_traits; - namespace clang { namespace ast_matchers { namespace dynamic { diff --git a/clang/lib/Analysis/ExprMutationAnalyzer.cpp b/clang/lib/Analysis/ExprMutationAnalyzer.cpp --- a/clang/lib/Analysis/ExprMutationAnalyzer.cpp +++ b/clang/lib/Analysis/ExprMutationAnalyzer.cpp @@ -366,7 +366,7 @@ hasType(nonConstReferenceType()))))); const auto Matches = match( - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, findAll(stmt(anyOf(AsAssignmentLhs, AsIncDecOperand, AsNonConstThis, AsAmpersandOperand, AsPointerFromArrayDecay, AsOperatorArrowThis, @@ -543,7 +543,7 @@ const auto FuncDecl = hasDeclaration(functionDecl().bind("func")); const auto Matches = match( traverse( - ast_type_traits::TK_AsIs, + TK_AsIs, findAll( expr(anyOf(callExpr(NonConstRefParam, IsInstantiated, FuncDecl, unless(callee(namedDecl(hasAnyName( diff --git a/clang/lib/Tooling/Transformer/RewriteRule.cpp b/clang/lib/Tooling/Transformer/RewriteRule.cpp --- a/clang/lib/Tooling/Transformer/RewriteRule.cpp +++ b/clang/lib/Tooling/Transformer/RewriteRule.cpp @@ -342,7 +342,7 @@ static std::vector taggedMatchers( StringRef TagBase, const SmallVectorImpl> &Cases, - ast_type_traits::TraversalKind DefaultTraversalKind) { + TraversalKind DefaultTraversalKind) { std::vector Matchers; Matchers.reserve(Cases.size()); for (const auto &Case : Cases) { diff --git a/clang/unittests/AST/ASTImporterTest.cpp b/clang/unittests/AST/ASTImporterTest.cpp --- a/clang/unittests/AST/ASTImporterTest.cpp +++ b/clang/unittests/AST/ASTImporterTest.cpp @@ -397,7 +397,7 @@ testImport( "void declToImport() { int b; int a = b ?: 1; int C = ({int X=4; X;}); }", Lang_C99, "", Lang_C99, Verifier, - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, functionDecl(hasDescendant(varDecl( hasName("C"), hasType(asString("int")), hasInitializer(stmtExpr( @@ -423,7 +423,7 @@ testImport( "void declToImport() { (void)(1 ?: -5); }", Lang_CXX03, "", Lang_CXX03, Verifier, - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, functionDecl(hasDescendant(binaryConditionalOperator( hasCondition(implicitCastExpr( hasSourceExpression(opaqueValueExpr( @@ -502,7 +502,7 @@ "struct C {};" "void declToImport() { C c = C(); }", Lang_CXX03, "", Lang_CXX03, Verifier, - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, functionDecl(hasDescendant(exprWithCleanups(has(cxxConstructExpr( has(materializeTemporaryExpr(has(implicitCastExpr( has(cxxTemporaryObjectExpr())))))))))))); @@ -552,7 +552,7 @@ "template using dummy2 = dummy;" "int declToImport() { return dummy2<3>::i; }", Lang_CXX11, "", Lang_CXX11, Verifier, - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, functionDecl(hasDescendant(implicitCastExpr(has(declRefExpr()))), unless(hasAncestor( translationUnitDecl(has(typeAliasDecl()))))))); @@ -583,9 +583,8 @@ "};" "int declToImport() { return dummy::i; }", Lang_CXX11, "", Lang_CXX11, Verifier, - traverse(ast_type_traits::TK_AsIs, - functionDecl(hasDescendant(returnStmt( - has(implicitCastExpr(has(declRefExpr())))))))); + traverse(TK_AsIs, functionDecl(hasDescendant(returnStmt(has( + implicitCastExpr(has(declRefExpr())))))))); } const internal::VariadicDynCastAllOfMatcher) {}" "};"; - EXPECT_TRUE( - matches(code + "A a{0};", - traverse(ast_type_traits::TK_AsIs, - cxxConstructExpr(has(cxxStdInitializerListExpr()), - hasDeclaration(cxxConstructorDecl( - ofClass(hasName("A")))))))); - EXPECT_TRUE( - matches(code + "A a = {0};", - traverse(ast_type_traits::TK_AsIs, - cxxConstructExpr(has(cxxStdInitializerListExpr()), - hasDeclaration(cxxConstructorDecl( - ofClass(hasName("A")))))))); + EXPECT_TRUE(matches( + code + "A a{0};", + traverse(TK_AsIs, cxxConstructExpr(has(cxxStdInitializerListExpr()), + hasDeclaration(cxxConstructorDecl( + ofClass(hasName("A")))))))); + EXPECT_TRUE(matches( + code + "A a = {0};", + traverse(TK_AsIs, cxxConstructExpr(has(cxxStdInitializerListExpr()), + hasDeclaration(cxxConstructorDecl( + ofClass(hasName("A")))))))); EXPECT_TRUE(notMatches("int a[] = { 1, 2 };", cxxStdInitializerListExpr())); EXPECT_TRUE(notMatches("struct B { int x, y; }; B b = { 5, 6 };", @@ -1492,25 +1485,21 @@ } TEST_P(ASTMatchersTest, ParenExpr_SimpleCases) { - EXPECT_TRUE( - matches("int i = (3);", traverse(ast_type_traits::TK_AsIs, parenExpr()))); - EXPECT_TRUE(matches("int i = (3 + 7);", - traverse(ast_type_traits::TK_AsIs, parenExpr()))); - EXPECT_TRUE(notMatches("int i = 3;", - traverse(ast_type_traits::TK_AsIs, parenExpr()))); + EXPECT_TRUE(matches("int i = (3);", traverse(TK_AsIs, parenExpr()))); + EXPECT_TRUE(matches("int i = (3 + 7);", traverse(TK_AsIs, parenExpr()))); + EXPECT_TRUE(notMatches("int i = 3;", traverse(TK_AsIs, parenExpr()))); EXPECT_TRUE(notMatches("int f() { return 1; }; void g() { int a = f(); }", - traverse(ast_type_traits::TK_AsIs, parenExpr()))); + traverse(TK_AsIs, parenExpr()))); } TEST_P(ASTMatchersTest, IgnoringParens) { - EXPECT_FALSE(matches( - "const char* str = (\"my-string\");", - traverse(ast_type_traits::TK_AsIs, - implicitCastExpr(hasSourceExpression(stringLiteral()))))); - EXPECT_TRUE(matches("const char* str = (\"my-string\");", - traverse(ast_type_traits::TK_AsIs, - implicitCastExpr(hasSourceExpression( - ignoringParens(stringLiteral())))))); + EXPECT_FALSE(matches("const char* str = (\"my-string\");", + traverse(TK_AsIs, implicitCastExpr(hasSourceExpression( + stringLiteral()))))); + EXPECT_TRUE( + matches("const char* str = (\"my-string\");", + traverse(TK_AsIs, implicitCastExpr(hasSourceExpression( + ignoringParens(stringLiteral())))))); } TEST_P(ASTMatchersTest, QualType) { diff --git a/clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp b/clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp --- a/clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp +++ b/clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp @@ -373,8 +373,7 @@ EXPECT_TRUE(matches("class Y { void x() { x(); } };", CallMethodX)); EXPECT_TRUE(notMatches("class Y { void x() {} };", CallMethodX)); - CallMethodX = - traverse(ast_type_traits::TK_AsIs, callExpr(callee(cxxConversionDecl()))); + CallMethodX = traverse(TK_AsIs, callExpr(callee(cxxConversionDecl()))); EXPECT_TRUE( matches("struct Y { operator int() const; }; int i = Y();", CallMethodX)); EXPECT_TRUE(notMatches("struct Y { operator int() const; }; Y y = Y();", @@ -436,8 +435,8 @@ "void x() { int y; (void)Y(1, 2); }", UnresolvedCtorArgumentY)); - StatementMatcher ImplicitCastedArgument = traverse( - ast_type_traits::TK_AsIs, callExpr(hasAnyArgument(implicitCastExpr()))); + StatementMatcher ImplicitCastedArgument = + traverse(TK_AsIs, callExpr(hasAnyArgument(implicitCastExpr()))); EXPECT_TRUE(matches("void x(long) { int y; x(y); }", ImplicitCastedArgument)); } @@ -591,15 +590,13 @@ struct X : public Y {}; void z(X x) { x.m(); } )cc"; - auto MatchesY = traverse(ast_type_traits::TK_AsIs, - cxxMemberCallExpr(onImplicitObjectArgument( - hasType(cxxRecordDecl(hasName("Y")))))); + auto MatchesY = traverse(TK_AsIs, cxxMemberCallExpr(onImplicitObjectArgument( + hasType(cxxRecordDecl(hasName("Y")))))); EXPECT_TRUE(matches(Snippet1, MatchesY)); EXPECT_TRUE(matches(Snippet2, MatchesY)); - auto MatchesX = traverse(ast_type_traits::TK_AsIs, - cxxMemberCallExpr(onImplicitObjectArgument( - hasType(cxxRecordDecl(hasName("X")))))); + auto MatchesX = traverse(TK_AsIs, cxxMemberCallExpr(onImplicitObjectArgument( + hasType(cxxRecordDecl(hasName("X")))))); EXPECT_TRUE(notMatches(Snippet2, MatchesX)); // Parens are not ignored. @@ -610,9 +607,8 @@ Y g(); void z(Y y) { (g()).m(); } )cc"; - auto MatchesCall = - traverse(ast_type_traits::TK_AsIs, - cxxMemberCallExpr(onImplicitObjectArgument(callExpr()))); + auto MatchesCall = traverse( + TK_AsIs, cxxMemberCallExpr(onImplicitObjectArgument(callExpr()))); EXPECT_TRUE(notMatches(Snippet3, MatchesCall)); } @@ -710,9 +706,8 @@ StatementMatcher ArgumentY = declRefExpr(to(varDecl(hasName("y")))).bind("arg"); DeclarationMatcher IntParam = parmVarDecl(hasType(isInteger())).bind("param"); - StatementMatcher ConstructExpr = - traverse(ast_type_traits::TK_AsIs, - cxxConstructExpr(forEachArgumentWithParam(ArgumentY, IntParam))); + StatementMatcher ConstructExpr = traverse( + TK_AsIs, cxxConstructExpr(forEachArgumentWithParam(ArgumentY, IntParam))); EXPECT_TRUE(matchAndVerifyResultTrue( "struct C {" @@ -1313,10 +1308,9 @@ EXPECT_TRUE(matches("void x() { true && false; }", OperatorTrueFalse)); EXPECT_TRUE(notMatches("void x() { false || true; }", OperatorTrueFalse)); - StatementMatcher OperatorIntPointer = - arraySubscriptExpr(hasLHS(hasType(isInteger())), - traverse(ast_type_traits::TK_AsIs, - hasRHS(hasType(pointsTo(qualType()))))); + StatementMatcher OperatorIntPointer = arraySubscriptExpr( + hasLHS(hasType(isInteger())), + traverse(TK_AsIs, hasRHS(hasType(pointsTo(qualType()))))); EXPECT_TRUE(matches("void x() { 1[\"abc\"]; }", OperatorIntPointer)); EXPECT_TRUE(notMatches("void x() { \"abc\"[1]; }", OperatorIntPointer)); } @@ -1517,10 +1511,10 @@ } TEST(ArraySubscriptMatchers, MatchesArrayBase) { - EXPECT_TRUE(matches("int i[2]; void f() { i[1] = 2; }", - traverse(ast_type_traits::TK_AsIs, - arraySubscriptExpr(hasBase(implicitCastExpr( - hasSourceExpression(declRefExpr()))))))); + EXPECT_TRUE( + matches("int i[2]; void f() { i[1] = 2; }", + traverse(TK_AsIs, arraySubscriptExpr(hasBase(implicitCastExpr( + hasSourceExpression(declRefExpr()))))))); } TEST(Matcher, OfClass) { @@ -1708,13 +1702,13 @@ // This test creates an implicit const cast. EXPECT_TRUE(matches( "int x; const int i = x;", - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, implicitCastExpr(hasImplicitDestinationType(isInteger()))))); // This test creates an implicit array-to-pointer cast. - EXPECT_TRUE(matches("int arr[3]; int *p = arr;", - traverse(ast_type_traits::TK_AsIs, - implicitCastExpr(hasImplicitDestinationType( - pointsTo(TypeMatcher(anything()))))))); + EXPECT_TRUE( + matches("int arr[3]; int *p = arr;", + traverse(TK_AsIs, implicitCastExpr(hasImplicitDestinationType( + pointsTo(TypeMatcher(anything()))))))); } TEST(HasImplicitDestinationType, DoesNotMatchIncorrectly) { @@ -1848,7 +1842,7 @@ )"; EXPECT_TRUE(matches( Code, - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, varDecl(hasName("i"), hasInitializer(exprWithCleanups(has(cxxConstructExpr( has(expr(ignoringImplicit(cxxConstructExpr(has( @@ -1856,9 +1850,8 @@ } TEST(IgnoringImplicit, DoesNotMatchIncorrectly) { - EXPECT_TRUE(notMatches( - "class C {}; C a = C();", - traverse(ast_type_traits::TK_AsIs, varDecl(has(cxxConstructExpr()))))); + EXPECT_TRUE(notMatches("class C {}; C a = C();", + traverse(TK_AsIs, varDecl(has(cxxConstructExpr()))))); } TEST(Traversal, traverseMatcher) { @@ -3068,7 +3061,7 @@ integerLiteral()))))); EXPECT_TRUE(notMatches( "int i = (0);", - traverse(ast_type_traits::TK_AsIs, + traverse(TK_AsIs, varDecl(hasInitializer(ignoringImpCasts(integerLiteral())))))); EXPECT_TRUE(notMatches("float i = (float)0;", varDecl(hasInitializer(ignoringImpCasts( @@ -3181,18 +3174,17 @@ } TEST(HasSourceExpression, MatchesImplicitCasts) { - EXPECT_TRUE(matches( - "class string {}; class URL { public: URL(string s); };" - "void r() {string a_string; URL url = a_string; }", - traverse(ast_type_traits::TK_AsIs, - implicitCastExpr(hasSourceExpression(cxxConstructExpr()))))); + EXPECT_TRUE(matches("class string {}; class URL { public: URL(string s); };" + "void r() {string a_string; URL url = a_string; }", + traverse(TK_AsIs, implicitCastExpr(hasSourceExpression( + cxxConstructExpr()))))); } TEST(HasSourceExpression, MatchesExplicitCasts) { - EXPECT_TRUE(matches("float x = static_cast(42);", - traverse(ast_type_traits::TK_AsIs, - explicitCastExpr(hasSourceExpression( - hasDescendant(expr(integerLiteral()))))))); + EXPECT_TRUE( + matches("float x = static_cast(42);", + traverse(TK_AsIs, explicitCastExpr(hasSourceExpression( + hasDescendant(expr(integerLiteral()))))))); } TEST(UsingDeclaration, MatchesSpecificTarget) { @@ -3246,21 +3238,18 @@ EXPECT_TRUE(notMatches( "void x() { if (1) switch(42) { case 42: switch (42) { default:; } } }", ifStmt(has(switchStmt(forEachSwitchCase(defaultStmt())))))); - EXPECT_TRUE( - matches("void x() { switch(42) { case 1+1: case 4:; } }", - traverse(ast_type_traits::TK_AsIs, - switchStmt(forEachSwitchCase(caseStmt(hasCaseConstant( - constantExpr(has(integerLiteral()))))))))); - EXPECT_TRUE( - notMatches("void x() { switch(42) { case 1+1: case 2+2:; } }", - traverse(ast_type_traits::TK_AsIs, - switchStmt(forEachSwitchCase(caseStmt(hasCaseConstant( - constantExpr(has(integerLiteral()))))))))); - EXPECT_TRUE( - notMatches("void x() { switch(42) { case 1 ... 2:; } }", - traverse(ast_type_traits::TK_AsIs, - switchStmt(forEachSwitchCase(caseStmt(hasCaseConstant( - constantExpr(has(integerLiteral()))))))))); + EXPECT_TRUE(matches( + "void x() { switch(42) { case 1+1: case 4:; } }", + traverse(TK_AsIs, switchStmt(forEachSwitchCase(caseStmt(hasCaseConstant( + constantExpr(has(integerLiteral()))))))))); + EXPECT_TRUE(notMatches( + "void x() { switch(42) { case 1+1: case 2+2:; } }", + traverse(TK_AsIs, switchStmt(forEachSwitchCase(caseStmt(hasCaseConstant( + constantExpr(has(integerLiteral()))))))))); + EXPECT_TRUE(notMatches( + "void x() { switch(42) { case 1 ... 2:; } }", + traverse(TK_AsIs, switchStmt(forEachSwitchCase(caseStmt(hasCaseConstant( + constantExpr(has(integerLiteral()))))))))); EXPECT_TRUE(matchAndVerifyResultTrue( "void x() { switch (42) { case 1: case 2: case 3: default:; } }", switchStmt(forEachSwitchCase(caseStmt().bind("x"))), @@ -3282,50 +3271,49 @@ cxxConversionDecl( hasExplicitSpecifier(constantExpr(has(cxxBoolLiteral())))), langCxx20OrLater())); - EXPECT_TRUE(matches("struct S { explicit(true) operator int(); };", - traverse(ast_type_traits::TK_AsIs, - cxxConversionDecl(hasExplicitSpecifier( - constantExpr(has(cxxBoolLiteral()))))), - langCxx20OrLater())); - EXPECT_TRUE(matches("struct S { explicit(false) operator int(); };", - traverse(ast_type_traits::TK_AsIs, - cxxConversionDecl(hasExplicitSpecifier( - constantExpr(has(cxxBoolLiteral()))))), - langCxx20OrLater())); - EXPECT_TRUE(notMatches("template struct S { explicit(b) S(int); };", - traverse(ast_type_traits::TK_AsIs, - cxxConstructorDecl(hasExplicitSpecifier( - constantExpr(has(cxxBoolLiteral()))))), - langCxx20OrLater())); - EXPECT_TRUE(matches("struct S { explicit(true) S(int); };", - traverse(ast_type_traits::TK_AsIs, - cxxConstructorDecl(hasExplicitSpecifier( - constantExpr(has(cxxBoolLiteral()))))), - langCxx20OrLater())); - EXPECT_TRUE(matches("struct S { explicit(false) S(int); };", - traverse(ast_type_traits::TK_AsIs, - cxxConstructorDecl(hasExplicitSpecifier( - constantExpr(has(cxxBoolLiteral()))))), - langCxx20OrLater())); + EXPECT_TRUE( + matches("struct S { explicit(true) operator int(); };", + traverse(TK_AsIs, cxxConversionDecl(hasExplicitSpecifier( + constantExpr(has(cxxBoolLiteral()))))), + langCxx20OrLater())); + EXPECT_TRUE( + matches("struct S { explicit(false) operator int(); };", + traverse(TK_AsIs, cxxConversionDecl(hasExplicitSpecifier( + constantExpr(has(cxxBoolLiteral()))))), + langCxx20OrLater())); + EXPECT_TRUE( + notMatches("template struct S { explicit(b) S(int); };", + traverse(TK_AsIs, cxxConstructorDecl(hasExplicitSpecifier( + constantExpr(has(cxxBoolLiteral()))))), + langCxx20OrLater())); + EXPECT_TRUE( + matches("struct S { explicit(true) S(int); };", + traverse(TK_AsIs, cxxConstructorDecl(hasExplicitSpecifier( + constantExpr(has(cxxBoolLiteral()))))), + langCxx20OrLater())); + EXPECT_TRUE( + matches("struct S { explicit(false) S(int); };", + traverse(TK_AsIs, cxxConstructorDecl(hasExplicitSpecifier( + constantExpr(has(cxxBoolLiteral()))))), + langCxx20OrLater())); EXPECT_TRUE( notMatches("template struct S { S(int); };" "template explicit(b) S(int) -> S;", - traverse(ast_type_traits::TK_AsIs, - cxxDeductionGuideDecl(hasExplicitSpecifier( - constantExpr(has(cxxBoolLiteral()))))), + traverse(TK_AsIs, cxxDeductionGuideDecl(hasExplicitSpecifier( + constantExpr(has(cxxBoolLiteral()))))), langCxx20OrLater())); - EXPECT_TRUE(matches("template struct S { S(int); };" - "explicit(true) S(int) -> S;", - traverse(ast_type_traits::TK_AsIs, - cxxDeductionGuideDecl(hasExplicitSpecifier( - constantExpr(has(cxxBoolLiteral()))))), - langCxx20OrLater())); - EXPECT_TRUE(matches("template struct S { S(int); };" - "explicit(false) S(int) -> S;", - traverse(ast_type_traits::TK_AsIs, - cxxDeductionGuideDecl(hasExplicitSpecifier( - constantExpr(has(cxxBoolLiteral()))))), - langCxx20OrLater())); + EXPECT_TRUE( + matches("template struct S { S(int); };" + "explicit(true) S(int) -> S;", + traverse(TK_AsIs, cxxDeductionGuideDecl(hasExplicitSpecifier( + constantExpr(has(cxxBoolLiteral()))))), + langCxx20OrLater())); + EXPECT_TRUE( + matches("template struct S { S(int); };" + "explicit(false) S(int) -> S;", + traverse(TK_AsIs, cxxDeductionGuideDecl(hasExplicitSpecifier( + constantExpr(has(cxxBoolLiteral()))))), + langCxx20OrLater())); } TEST(ForEachConstructorInitializer, MatchesInitializers) { diff --git a/clang/unittests/ASTMatchers/Dynamic/RegistryTest.cpp b/clang/unittests/ASTMatchers/Dynamic/RegistryTest.cpp --- a/clang/unittests/ASTMatchers/Dynamic/RegistryTest.cpp +++ b/clang/unittests/ASTMatchers/Dynamic/RegistryTest.cpp @@ -507,10 +507,8 @@ TEST_F(RegistryTest, ParenExpr) { Matcher Value = constructMatcher("parenExpr").getTypedMatcher(); - EXPECT_TRUE( - matches("int i = (1);", traverse(ast_type_traits::TK_AsIs, Value))); - EXPECT_FALSE( - matches("int i = 1;", traverse(ast_type_traits::TK_AsIs, Value))); + EXPECT_TRUE(matches("int i = (1);", traverse(TK_AsIs, Value))); + EXPECT_FALSE(matches("int i = 1;", traverse(TK_AsIs, Value))); } TEST_F(RegistryTest, EqualsMatcher) { diff --git a/clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp b/clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp --- a/clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp +++ b/clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp @@ -53,7 +53,7 @@ bool isMutated(const SmallVectorImpl &Results, ASTUnit *AST) { const auto *const S = selectFirst("stmt", Results); const auto *const E = selectFirst("expr", Results); - TraversalKindScope RAII(AST->getASTContext(), ast_type_traits::TK_AsIs); + TraversalKindScope RAII(AST->getASTContext(), TK_AsIs); return ExprMutationAnalyzer(*S, AST->getASTContext()).isMutated(E); } diff --git a/clang/unittests/Tooling/RangeSelectorTest.cpp b/clang/unittests/Tooling/RangeSelectorTest.cpp --- a/clang/unittests/Tooling/RangeSelectorTest.cpp +++ b/clang/unittests/Tooling/RangeSelectorTest.cpp @@ -47,7 +47,7 @@ ASTContext &Context = ASTUnit->getASTContext(); assert(!Context.getDiagnostics().hasErrorOccurred() && "Compilation error"); - TraversalKindScope RAII(Context, ast_type_traits::TK_AsIs); + TraversalKindScope RAII(Context, TK_AsIs); auto Matches = ast_matchers::match(Matcher, Context); // We expect a single, exact match. assert(Matches.size() != 0 && "no matches found"); diff --git a/clang/unittests/Tooling/RefactoringCallbacksTest.cpp b/clang/unittests/Tooling/RefactoringCallbacksTest.cpp --- a/clang/unittests/Tooling/RefactoringCallbacksTest.cpp +++ b/clang/unittests/Tooling/RefactoringCallbacksTest.cpp @@ -22,7 +22,7 @@ const T &AMatcher, RefactoringCallback &Callback) { std::map FileToReplace; ASTMatchRefactorer Finder(FileToReplace); - Finder.addMatcher(traverse(ast_type_traits::TK_AsIs, AMatcher), &Callback); + Finder.addMatcher(traverse(TK_AsIs, AMatcher), &Callback); std::unique_ptr Factory( tooling::newFrontendActionFactory(&Finder)); ASSERT_TRUE(tooling::runToolOnCode(Factory->create(), Code)) @@ -147,6 +147,5 @@ Callback.takeError()); } - -} // end namespace ast_matchers +} // namespace tooling } // end namespace clang diff --git a/clang/unittests/Tooling/StencilTest.cpp b/clang/unittests/Tooling/StencilTest.cpp --- a/clang/unittests/Tooling/StencilTest.cpp +++ b/clang/unittests/Tooling/StencilTest.cpp @@ -338,8 +338,8 @@ }; )cc"; auto StmtMatch = matchStmt( - Snippet, traverse(ast_type_traits::TK_AsIs, - returnStmt(hasReturnValue(ignoringImplicit(memberExpr( + Snippet, + traverse(TK_AsIs, returnStmt(hasReturnValue(ignoringImplicit(memberExpr( hasObjectExpression(expr().bind("obj")))))))); ASSERT_TRUE(StmtMatch); const Stencil Stencil = access("obj", "field");