summaryrefslogtreecommitdiffstats
path: root/clang/unittests/ASTMatchers/Dynamic/RegistryTest.cpp
diff options
context:
space:
mode:
authorSamuel Benzaquen <sbenza@google.com>2013-07-17 15:11:30 +0000
committerSamuel Benzaquen <sbenza@google.com>2013-07-17 15:11:30 +0000
commit21b3da0f939c699e671dd8df460fce7079361123 (patch)
treec3b28be4e7c5c3667ef422c76b4af7a17a32ae18 /clang/unittests/ASTMatchers/Dynamic/RegistryTest.cpp
parent3122deb65cd9d3c9ce36635118f2cc1dea412112 (diff)
downloadbcm5719-llvm-21b3da0f939c699e671dd8df460fce7079361123.tar.gz
bcm5719-llvm-21b3da0f939c699e671dd8df460fce7079361123.zip
Add TemplateArgument related matchers to the registry.
Summary: Continue adding more matchers to the dynamic registry. This time, we add TemplateArgument matchers. Reviewers: klimek CC: cfe-commits, revane Differential Revision: http://llvm-reviews.chandlerc.com/D1166 llvm-svn: 186514
Diffstat (limited to 'clang/unittests/ASTMatchers/Dynamic/RegistryTest.cpp')
-rw-r--r--clang/unittests/ASTMatchers/Dynamic/RegistryTest.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/unittests/ASTMatchers/Dynamic/RegistryTest.cpp b/clang/unittests/ASTMatchers/Dynamic/RegistryTest.cpp
index d0d42740ab0..d546fe59ff9 100644
--- a/clang/unittests/ASTMatchers/Dynamic/RegistryTest.cpp
+++ b/clang/unittests/ASTMatchers/Dynamic/RegistryTest.cpp
@@ -157,6 +157,20 @@ TEST_F(RegistryTest, PolymorphicMatchers) {
#endif
}
+TEST_F(RegistryTest, TemplateArgument) {
+ Matcher<Decl> HasTemplateArgument = constructMatcher(
+ "classTemplateSpecializationDecl",
+ constructMatcher(
+ "hasAnyTemplateArgument",
+ constructMatcher("refersToType",
+ constructMatcher("asString", std::string("int")))))
+ .getTypedMatcher<Decl>();
+ EXPECT_TRUE(matches("template<typename T> class A {}; A<int> a;",
+ HasTemplateArgument));
+ EXPECT_FALSE(matches("template<typename T> class A {}; A<char> a;",
+ HasTemplateArgument));
+}
+
TEST_F(RegistryTest, TypeTraversal) {
Matcher<Type> M = constructMatcher(
"pointerType",
OpenPOWER on IntegriCloud