Add some explicit use of TK_AsIs
authorStephen Kelly <steveire@gmail.com>
Fri, 22 May 2020 21:48:54 +0000 (22:48 +0100)
committerStephen Kelly <steveire@gmail.com>
Sat, 23 May 2020 00:04:44 +0000 (01:04 +0100)
clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
clang/lib/StaticAnalyzer/Checkers/NumberObjectConversionChecker.cpp
clang/lib/StaticAnalyzer/Checkers/PointerSortingChecker.cpp
clang/unittests/ASTMatchers/Dynamic/ParserTest.cpp

index c17a43c..d179e6c 100644 (file)
@@ -104,9 +104,11 @@ findMembersUsedInInitExpr(const CXXCtorInitializer *Initializer,
   // for those accesses Sema::PerformObjectMemberConversion always inserts an
   // UncheckedDerivedToBase ImplicitCastExpr between the this expr and the
   // object expression
-  auto FoundExprs =
-      match(findAll(memberExpr(hasObjectExpression(cxxThisExpr())).bind("ME")),
-            *Initializer->getInit(), Context);
+  auto FoundExprs = match(
+      traverse(
+          TK_AsIs,
+          findAll(memberExpr(hasObjectExpression(cxxThisExpr())).bind("ME"))),
+      *Initializer->getInit(), Context);
   for (BoundNodes &BN : FoundExprs)
     if (auto *MemExpr = BN.getNodeAs<MemberExpr>("ME"))
       if (auto *FD = dyn_cast<FieldDecl>(MemExpr->getMemberDecl()))
index df69254..abeca59 100644 (file)
@@ -338,7 +338,7 @@ void NumberObjectConversionChecker::checkASTCodeBody(const Decl *D,
   MatchFinder F;
   Callback CB(this, BR, AM.getAnalysisDeclContext(D));
 
-  F.addMatcher(stmt(forEachDescendant(FinalM)), &CB);
+  F.addMatcher(traverse(TK_AsIs, stmt(forEachDescendant(FinalM))), &CB);
   F.match(*D->getBody(), AM.getASTContext());
 }
 
index 8eee4df..25d87f4 100644 (file)
@@ -86,8 +86,9 @@ auto matchSortWithPointers() -> decltype(decl()) {
                                   )))
                               ))));
 
-  auto PointerSortM = stmt(callExpr(allOf(SortFuncM, IteratesPointerEltsM))
-                      ).bind(WarnAtNode);
+  auto PointerSortM = traverse(
+      TK_AsIs,
+      stmt(callExpr(allOf(SortFuncM, IteratesPointerEltsM))).bind(WarnAtNode));
 
   return decl(forEachDescendant(PointerSortM));
 }
index 0d3a2d4..f5e324a 100644 (file)
@@ -226,7 +226,7 @@ TEST(ParserTest, FullParserTest) {
       Parser::parseMatcherExpression(Code, nullptr, nullptr, &Error));
   EXPECT_EQ("", Error.toStringFull());
   Matcher<Stmt> MCastStmt =
-      implicitIntBooleanCast->unconditionalConvertTo<Stmt>();
+      traverse(TK_AsIs, implicitIntBooleanCast->unconditionalConvertTo<Stmt>());
   EXPECT_TRUE(matches("bool X = 1;", MCastStmt));
   EXPECT_FALSE(matches("bool X = true;", MCastStmt));