diff --git a/clang/docs/LibASTMatchersReference.html b/clang/docs/LibASTMatchersReference.html --- a/clang/docs/LibASTMatchersReference.html +++ b/clang/docs/LibASTMatchersReference.html @@ -2948,6 +2948,19 @@ +
Matches declarations that are template instantiations or are inside +template instantiations. + +Given + template<typename T> void A(T t) { T i; } + A(0); + A(0U); +functionDecl(isInstantiated()) + matches 'A(int) {...};' and 'A(unsigned) {...}'. +
Matches private C++ declarations. @@ -3516,6 +3529,16 @@
Matches NamedDecl nodes that have any of the specified names. + +This matcher is only provided as a performance optimization of hasName. + hasAnyName(a, b, c) + is equivalent to, but faster than + anyOf(hasName(a), hasName(b), hasName(c)) +
Matches a declaration that has external formal linkage. @@ -3679,6 +3702,17 @@
Matches when at least one of the supplied string equals to the +Selector.getAsString() + + matcher = objCMessageExpr(hasSelector("methodA:", "methodB:")); + matches both of the expressions below: + [myObj methodA:argA]; + [myObj methodB:argB]; +
Matches when the selector is a keyword selector @@ -4015,6 +4049,17 @@
Matches statements that are (transitively) expanded from the named macro. +Does not match if only part of the statement is expanded from that macro or +if different parts of the the statement are expanded from different +appearances of the macro. + +FIXME: Change to be a polymorphic matcher that works on any syntactic +node. There's nothing `Stmt`-specific about it. +
Matches AST nodes that were expanded within files whose name is partially matching a given regex. @@ -4058,6 +4103,22 @@
Matches statements inside of a template instantiation. + +Given + int j; + template<typename T> void A(T t) { T i; j += 42;} + A(0); + A(0U); +declStmt(isInTemplateInstantiation()) + matches 'int i;' and 'unsigned i'. +unless(stmt(isInTemplateInstantiation())) + will NOT match j += 42; as it's shared between the template definition and + instantiation. +
Matches the Stmt AST node that is marked as being the structured-block of an OpenMP executable directive. @@ -4551,56 +4612,6 @@ Usable as: Matcher<FunctionDecl>, Matcher<VarDecl>, Matcher<CXXRecordDecl>
Matches declarations that are template instantiations or are inside -template instantiations. - -Given - template<typename T> void A(T t) { T i; } - A(0); - A(0U); -functionDecl(isInstantiated()) - matches 'A(int) {...};' and 'A(unsigned) {...}'. -
Matches NamedDecl nodes that have any of the specified names. - -This matcher is only provided as a performance optimization of hasName. - hasAnyName(a, b, c) - is equivalent to, but faster than - anyOf(hasName(a), hasName(b), hasName(c)) -
Matches when at least one of the supplied string equals to the -Selector.getAsString() - - matcher = objCMessageExpr(hasSelector("methodA:", "methodB:")); - matches both of the expressions below: - [myObj methodA:argA]; - [myObj methodB:argB]; -
Matches statements inside of a template instantiation. - -Given - int j; - template<typename T> void A(T t) { T i; j += 42;} - A(0); - A(0U); -declStmt(isInTemplateInstantiation()) - matches 'int i;' and 'unsigned i'. -unless(stmt(isInTemplateInstantiation())) - will NOT match j += 42; as it's shared between the template definition and - instantiation. -
Matches NestedNameSpecifierLocs for which the given inner +NestedNameSpecifier-matcher matches. +
Matches nested name specifier locs that specify a type matching the given TypeLoc. @@ -7401,6 +7418,12 @@
Matches TypeLocs for which the given inner +QualType-matcher matches. +
Matches if the expression's or declaration's type matches a type matcher. @@ -7636,18 +7659,6 @@ if (true) {}
Matches NestedNameSpecifierLocs for which the given inner -NestedNameSpecifier-matcher matches. -
Matches TypeLocs for which the given inner -QualType-matcher matches. -