diff options
author | Haojian Wu <hokein@google.com> | 2016-07-29 13:57:27 +0000 |
---|---|---|
committer | Haojian Wu <hokein@google.com> | 2016-07-29 13:57:27 +0000 |
commit | e1aebbab1ef3ca0040fa262fe7bcf4830200d2c9 (patch) | |
tree | 14424457c2cb24d9dda22444027872efe0537ce8 /unittests/ASTMatchers/ASTMatchersTraversalTest.cpp | |
parent | 003e6f400e495cbbae7ecf4aa908c37c78c7e15a (diff) |
[ASTMatcher] Add hasTemplateArgument/hasAnyTemplateArgument support in functionDecl.
Reviewers: klimek
Subscribers: klimek, cfe-commits
Differential Revision: https://reviews.llvm.org/D22957
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@277142 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests/ASTMatchers/ASTMatchersTraversalTest.cpp')
-rw-r--r-- | unittests/ASTMatchers/ASTMatchersTraversalTest.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp b/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp index 4149d4fd0b..7c496647b4 100644 --- a/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp +++ b/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp @@ -594,6 +594,14 @@ TEST(Matcher, MatchesSpecificArgument) { "A<int, bool> a;", templateSpecializationType(hasTemplateArgument( 1, refersToType(asString("int")))))); + + EXPECT_TRUE(matches( + "template<typename T> void f() {};" + "void func() { f<int>(); }", + functionDecl(hasTemplateArgument(0, refersToType(asString("int")))))); + EXPECT_TRUE(notMatches( + "template<typename T> void f() {};", + functionDecl(hasTemplateArgument(0, refersToType(asString("int")))))); } TEST(TemplateArgument, Matches) { @@ -603,6 +611,11 @@ TEST(TemplateArgument, Matches) { EXPECT_TRUE(matches( "template<typename T> struct C {}; C<int> c;", templateSpecializationType(hasAnyTemplateArgument(templateArgument())))); + + EXPECT_TRUE(matches( + "template<typename T> void f() {};" + "void func() { f<int>(); }", + functionDecl(hasAnyTemplateArgument(templateArgument())))); } TEST(RefersToIntegralType, Matches) { |