summaryrefslogtreecommitdiffstats
path: root/clang/unittests
diff options
context:
space:
mode:
authorHaojian Wu <hokein@google.com>2016-07-29 13:57:27 +0000
committerHaojian Wu <hokein@google.com>2016-07-29 13:57:27 +0000
commitd898b0982ad4cc80c3090896926fd8b93e82c748 (patch)
tree37c1269335c28c720c084a9ad1af152b6be5bf2f /clang/unittests
parentfbbd9f96feda9c5f53bfa32d0c0f17c299dfa423 (diff)
downloadbcm5719-llvm-d898b0982ad4cc80c3090896926fd8b93e82c748.tar.gz
bcm5719-llvm-d898b0982ad4cc80c3090896926fd8b93e82c748.zip
[ASTMatcher] Add hasTemplateArgument/hasAnyTemplateArgument support in functionDecl.
Reviewers: klimek Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D22957 llvm-svn: 277142
Diffstat (limited to 'clang/unittests')
-rw-r--r--clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp b/clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
index 4149d4fd0b1..7c496647b4c 100644
--- a/clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
+++ b/clang/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) {
OpenPOWER on IntegriCloud