1 //===- unittest/Tooling/RecursiveASTVisitorTests/ParenExpr.cpp ------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #include "TestVisitor.h"
10 
11 using namespace clang;
12 
13 namespace {
14 
15 class ParenExprVisitor : public ExpectedLocationVisitor<ParenExprVisitor> {
16 public:
VisitParenExpr(ParenExpr * Parens)17   bool VisitParenExpr(ParenExpr *Parens) {
18     Match("", Parens->getExprLoc());
19     return true;
20   }
21 };
22 
TEST(RecursiveASTVisitor,VisitsParensDuringDataRecursion)23 TEST(RecursiveASTVisitor, VisitsParensDuringDataRecursion) {
24   ParenExprVisitor Visitor;
25   Visitor.ExpectMatch("", 1, 9);
26   EXPECT_TRUE(Visitor.runOver("int k = (4) + 9;\n"));
27 }
28 
29 } // end anonymous namespace
30