From b33b02e9f05d632f7464b1bf84c6ed89d450d6df Mon Sep 17 00:00:00 2001 From: Haojian Wu Date: Fri, 29 Jul 2016 15:45:11 +0000 Subject: [ASTMatcher] Add templateName matcher. Reviewers: klimek Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D22963 llvm-svn: 277155 --- clang/docs/LibASTMatchersReference.html | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'clang/docs/LibASTMatchersReference.html') diff --git a/clang/docs/LibASTMatchersReference.html b/clang/docs/LibASTMatchersReference.html index 222b39fcf5c..cb6a05e3e91 100644 --- a/clang/docs/LibASTMatchersReference.html +++ b/clang/docs/LibASTMatchersReference.html @@ -1318,6 +1318,17 @@ templateArgument() +Matcher<TemplateName>templateNameMatcher<TemplateName>... +
Matches template name.
+
+Given
+  template <typename T> class X { };
+  X<int> xi;
+templateName()
+  matches 'X' in X<int>.
+
+ + Matcher<TypeLoc>typeLocMatcher<TypeLoc>...
Matches TypeLocs in the clang AST.
 
@@ -5353,6 +5364,19 @@ classTemplateSpecializationDecl( +Matcher<TemplateArgument>refersToTemplateMatcher<TemplateName> InnerMatcher +
Matches a TemplateArgument that refers to a certain template.
+
+Given
+  template<template <typename> class S> class X {};
+  template<typename T> class Y {};"
+  X<Y> xi;
+classTemplateSpecializationDecl(hasAnyTemplateArgument(
+    refersToTemplate(templateName())))
+  matches the specialization X<Y>
+
+ + Matcher<TemplateArgument>refersToTypeMatcher<QualType> InnerMatcher
Matches a TemplateArgument that refers to a certain type.
 
-- 
cgit v1.2.3