diff options
Diffstat (limited to 'unittests/Tooling/RecursiveASTVisitorTests/IntegerLiteral.cpp')
-rw-r--r-- | unittests/Tooling/RecursiveASTVisitorTests/IntegerLiteral.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/unittests/Tooling/RecursiveASTVisitorTests/IntegerLiteral.cpp b/unittests/Tooling/RecursiveASTVisitorTests/IntegerLiteral.cpp new file mode 100644 index 0000000000000..218f7e0c2df6a --- /dev/null +++ b/unittests/Tooling/RecursiveASTVisitorTests/IntegerLiteral.cpp @@ -0,0 +1,33 @@ +//===- unittest/Tooling/RecursiveASTVisitorTests/IntegerLiteral.cpp -------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "TestVisitor.h" + +using namespace clang; + +namespace { + +// Check to ensure that implicit default argument expressions are visited. +class IntegerLiteralVisitor + : public ExpectedLocationVisitor<IntegerLiteralVisitor> { +public: + bool VisitIntegerLiteral(const IntegerLiteral *IL) { + Match("literal", IL->getLocation()); + return true; + } +}; + +TEST(RecursiveASTVisitor, DefaultArgumentsAreVisited) { + IntegerLiteralVisitor Visitor; + Visitor.ExpectMatch("literal", 1, 15, 2); + EXPECT_TRUE(Visitor.runOver("int f(int i = 1);\n" + "static int k = f();\n")); +} + +} // end anonymous namespace |