23 const ast_matchers::MatchFinder::MatchResult &Result) {
24 class Visitor :
public RecursiveASTVisitor<Visitor> {
29 bool VisitIfStmt(IfStmt *If) {
30 class ConditionVisitor :
public RecursiveASTVisitor<ConditionVisitor> {
38 bool TraverseLambdaExpr(LambdaExpr *, DataRecursionQueue * =
nullptr) {
43 bool TraverseRequiresExpr(RequiresExpr *,
44 DataRecursionQueue * =
nullptr) {
48 bool VisitBinaryOperator(BinaryOperator *BO) {
49 if (BO->isAssignmentOp())
54 bool VisitCXXOperatorCallExpr(CXXOperatorCallExpr *OCE) {
55 if (OCE->isAssignmentOp())
61 ConditionVisitor(Check).TraverseStmt(If->getCond());
65 Visitor(*this).TraverseAST(*Result.Context);