clang: include/clang/ASTMatchers/ASTMatchersMacros.h File Reference (original) (raw)

Go to the source code of this file.

Macros
#define AST_MATCHER_FUNCTION(ReturnType, DefineMatcher)
AST_MATCHER_FUNCTION(ReturnType, DefineMatcher) { ... } defines a zero parameter function named DefineMatcher() that returns a ReturnType object.
#define AST_MATCHER_FUNCTION_P(ReturnType, DefineMatcher, ParamType, Param)
AST_MATCHER_FUNCTION_P(ReturnType, DefineMatcher, ParamType, Param) { ... } defines a single-parameter function named DefineMatcher() that returns a ReturnType object.
#define AST_MATCHER_FUNCTION_P_OVERLOAD(ReturnType, DefineMatcher, ParamType, Param, OverloadId)
#define AST_MATCHER(Type, DefineMatcher)
AST_MATCHER(Type, DefineMatcher) { ... } defines a zero parameter function named DefineMatcher() that returns a Matcher object.
#define AST_MATCHER_P(Type, DefineMatcher, ParamType, Param) AST_MATCHER_P_OVERLOAD(Type, DefineMatcher, ParamType, Param, 0)
AST_MATCHER_P(Type, DefineMatcher, ParamType, Param) { ... } defines a single-parameter function named DefineMatcher() that returns a Matcher object.
#define AST_MATCHER_P_OVERLOAD(Type, DefineMatcher, ParamType, Param, OverloadId)
#define AST_MATCHER_P2(Type, DefineMatcher, ParamType1, Param1, ParamType2, Param2)
AST_MATCHER_P2( Type, DefineMatcher, ParamType1, Param1, ParamType2, Param2) { ... } defines a two-parameter function named DefineMatcher() that returns a Matcher object.
#define AST_MATCHER_P2_OVERLOAD(Type, DefineMatcher, ParamType1, Param1, ParamType2, Param2, OverloadId)
#define AST_POLYMORPHIC_SUPPORTED_TYPES(...) void(::clang::ast_matchers::internal::TypeList<__VA_ARGS__>)
Construct a type-list to be passed to the AST_POLYMORPHIC_MATCHER* macros.
#define AST_POLYMORPHIC_MATCHER(DefineMatcher, ReturnTypesF)
AST_POLYMORPHIC_MATCHER(DefineMatcher) { ... } defines a single-parameter function named DefineMatcher() that is polymorphic in the return type.
#define AST_POLYMORPHIC_MATCHER_P(DefineMatcher, ReturnTypesF, ParamType, Param)
AST_POLYMORPHIC_MATCHER_P(DefineMatcher, ParamType, Param) { ... } defines a single-parameter function named DefineMatcher() that is polymorphic in the return type.
#define AST_POLYMORPHIC_MATCHER_P_OVERLOAD(DefineMatcher, ReturnTypesF, ParamType, Param, OverloadId)
#define AST_POLYMORPHIC_MATCHER_P2(DefineMatcher, ReturnTypesF, ParamType1, Param1, ParamType2, Param2)
AST_POLYMORPHIC_MATCHER_P2( DefineMatcher, ParamType1, Param1, ParamType2, Param2) { ... } defines a two-parameter function named matcher() that is polymorphic in the return type.
#define AST_POLYMORPHIC_MATCHER_P2_OVERLOAD(DefineMatcher, ReturnTypesF, ParamType1, Param1, ParamType2, Param2, OverloadId)
#define AST_TYPE_TRAVERSE_MATCHER_DECL(MatcherName, FunctionName, ReturnTypesF)
#define AST_TYPE_TRAVERSE_MATCHER_DEF(MatcherName, ReturnTypesF)
#define AST_TYPE_TRAVERSE_MATCHER(MatcherName, FunctionName, ReturnTypesF)
AST_TYPE_TRAVERSE_MATCHER(MatcherName, FunctionName) defines the matcher MatcherName that can be used to traverse from one Type to another.
#define AST_TYPELOC_TRAVERSE_MATCHER_DECL(MatcherName, FunctionName, ReturnTypesF)
#define AST_TYPELOC_TRAVERSE_MATCHER_DEF(MatcherName, ReturnTypesF)
#define AST_TYPELOC_TRAVERSE_MATCHER(MatcherName, FunctionName, ReturnTypesF)
AST_TYPELOC_TRAVERSE_MATCHER(MatcherName, FunctionName) works identical to AST_TYPE_TRAVERSE_MATCHER but operates on TypeLocs.
#define AST_MATCHER_REGEX(Type, DefineMatcher, Param) AST_MATCHER_REGEX_OVERLOAD(Type, DefineMatcher, Param, 0)
AST_MATCHER_REGEX(Type, DefineMatcher, Param) { ... } defines a function named DefineMatcher() that takes a regular expression string paramater and an optional RegexFlags parameter and returns a Matcher object.
#define AST_MATCHER_REGEX_OVERLOAD(Type, DefineMatcher, Param, OverloadId)
#define AST_POLYMORPHIC_MATCHER_REGEX(DefineMatcher, ReturnTypesF, Param) AST_POLYMORPHIC_MATCHER_REGEX_OVERLOAD(DefineMatcher, ReturnTypesF, Param, 0)
AST_POLYMORPHIC_MATCHER_REGEX(DefineMatcher, ReturnTypesF, Param) { ... } defines a function named DefineMatcher() that takes a regular expression string paramater and an optional RegexFlags parameter that is polymorphic in the return type.
#define AST_POLYMORPHIC_MATCHER_REGEX_OVERLOAD(DefineMatcher, ReturnTypesF, Param, OverloadId)

AST_MATCHER

| #define AST_MATCHER | ( | | Type, | | -------------------- | - | | --------------------------------------------------------------------- | | | DefineMatcher | | | | | ) | | | |

Value:

namespace internal { \

class matcher_##DefineMatcher##Matcher \

: public ::clang::ast_matchers::internal::MatcherInterface { \

public: \

explicit matcher_##DefineMatcher##Matcher() = default; \

::clang::ast_matchers::internal::ASTMatchFinder *Finder, \

::clang::ast_matchers::internal::BoundNodesTreeBuilder \

*Builder) const override; \

}; \

} \

inline ::clang::ast_matchers::internal::Matcher DefineMatcher() { \

return ::clang::ast_matchers::internal::makeMatcher( \

new internal::matcher_##DefineMatcher##Matcher()); \

} \

inline bool internal::matcher_##DefineMatcher##Matcher::matches( \

::clang::ast_matchers::internal::ASTMatchFinder *Finder, \

::clang::ast_matchers::internal::BoundNodesTreeBuilder *Builder) const

AST_MATCHER(Type, DefineMatcher) { ... } defines a zero parameter function named DefineMatcher() that returns a Matcher object.

The code between the curly braces has access to the following variables:

Node: the AST node being matched; its type is Type. Finder: an ASTMatchFinder*. Builder: a BoundNodesTreeBuilder*.

The code should return true if 'Node' matches.

Definition at line 96 of file ASTMatchersMacros.h.

AST_MATCHER_FUNCTION

| #define AST_MATCHER_FUNCTION | ( | | ReturnType, | | ------------------------------ | - | | ----------- | | | DefineMatcher | | | | | ) | | | |

Value:

inline ReturnType DefineMatcher##_getInstance(); \

inline ReturnType DefineMatcher() { \

return ::clang::ast_matchers::internal::MemoizedMatcher< \

ReturnType, DefineMatcher##_getInstance>::getInstance(); \

} \

inline ReturnType DefineMatcher##_getInstance()

AST_MATCHER_FUNCTION(ReturnType, DefineMatcher) { ... } defines a zero parameter function named DefineMatcher() that returns a ReturnType object.

Definition at line 57 of file ASTMatchersMacros.h.

AST_MATCHER_FUNCTION_P

| #define AST_MATCHER_FUNCTION_P | ( | | ReturnType, | | --------------------------------- | - | | ----------- | | | DefineMatcher, | | | | | | ParamType, | | | | | | Param | | | | | ) | | | |

Value:

#define AST_MATCHER_FUNCTION_P_OVERLOAD(ReturnType, DefineMatcher, ParamType, Param, OverloadId)

AST_MATCHER_FUNCTION_P(ReturnType, DefineMatcher, ParamType, Param) { ... } defines a single-parameter function named DefineMatcher() that returns a ReturnType object.

The code between the curly braces has access to the following variables:

Param: the parameter passed to the function; its type is ParamType.

The code should return an instance of ReturnType.

Definition at line 76 of file ASTMatchersMacros.h.

AST_MATCHER_FUNCTION_P_OVERLOAD

| #define AST_MATCHER_FUNCTION_P_OVERLOAD | ( | | ReturnType, | | ------------------------------------------- | - | | ----------- | | | DefineMatcher, | | | | | | ParamType, | | | | | | Param, | | | | | | OverloadId | | | | | ) | | | |

Value:

inline ReturnType DefineMatcher(ParamType const &Param); \

typedef ReturnType (&DefineMatcher##_Type##OverloadId)(ParamType const &); \

inline ReturnType DefineMatcher(ParamType const &Param)

Definition at line 79 of file ASTMatchersMacros.h.

AST_MATCHER_P

AST_MATCHER_P(Type, DefineMatcher, ParamType, Param) { ... } defines a single-parameter function named DefineMatcher() that returns a Matcher object.

The code between the curly braces has access to the following variables:

Node: the AST node being matched; its type is Type. Param: the parameter passed to the function; its type is ParamType. Finder: an ASTMatchFinder*. Builder: a BoundNodesTreeBuilder*.

The code should return true if 'Node' matches.

Definition at line 130 of file ASTMatchersMacros.h.

AST_MATCHER_P2

| #define AST_MATCHER_P2 | ( | | Type, | | ------------------------ | - | | --------------------------------------------------------------------- | | | DefineMatcher, | | | | | | ParamType1, | | | | | | Param1, | | | | | | ParamType2, | | | | | | Param2 | | | | | ) | | | |

Value:

Param2, 0)

#define AST_MATCHER_P2_OVERLOAD(Type, DefineMatcher, ParamType1, Param1, ParamType2, Param2, OverloadId)

AST_MATCHER_P2( Type, DefineMatcher, ParamType1, Param1, ParamType2, Param2) { ... } defines a two-parameter function named DefineMatcher() that returns a Matcher object.

The code between the curly braces has access to the following variables:

Node: the AST node being matched; its type is Type. Param1, Param2: the parameters passed to the function; their types are ParamType1 and ParamType2. Finder: an ASTMatchFinder*. Builder: a BoundNodesTreeBuilder*.

The code should return true if 'Node' matches.

Definition at line 177 of file ASTMatchersMacros.h.

AST_MATCHER_P2_OVERLOAD

| #define AST_MATCHER_P2_OVERLOAD | ( | | Type, | | ---------------------------------- | - | | --------------------------------------------------------------------- | | | DefineMatcher, | | | | | | ParamType1, | | | | | | Param1, | | | | | | ParamType2, | | | | | | Param2, | | | | | | OverloadId | | | | | ) | | | |

Value:

namespace internal { \

class matcher_##DefineMatcher##OverloadId##Matcher \

: public ::clang::ast_matchers::internal::MatcherInterface { \

public: \

matcher_##DefineMatcher##OverloadId##Matcher(ParamType1 const &A##Param1, \

ParamType2 const &A##Param2) \

: Param1(A##Param1), Param2(A##Param2) {} \

::clang::ast_matchers::internal::ASTMatchFinder *Finder, \

::clang::ast_matchers::internal::BoundNodesTreeBuilder \

*Builder) const override; \

\

private: \

ParamType1 Param1; \

ParamType2 Param2; \

}; \

} \

inline ::clang::ast_matchers::internal::Matcher DefineMatcher( \

ParamType1 const &Param1, ParamType2 const &Param2) { \

return ::clang::ast_matchers::internal::makeMatcher( \

new internal::matcher_##DefineMatcher##OverloadId##Matcher(Param1, \

Param2)); \

} \

typedef ::clang::ast_matchers::internal::Matcher ( \

&DefineMatcher##_Type##OverloadId)(ParamType1 const &Param1, \

ParamType2 const &Param2); \

inline bool internal::matcher_##DefineMatcher##OverloadId##Matcher::matches( \

::clang::ast_matchers::internal::ASTMatchFinder *Finder, \

::clang::ast_matchers::internal::BoundNodesTreeBuilder *Builder) const

Definition at line 182 of file ASTMatchersMacros.h.

AST_MATCHER_P_OVERLOAD

| #define AST_MATCHER_P_OVERLOAD | ( | | Type, | | --------------------------------- | - | | --------------------------------------------------------------------- | | | DefineMatcher, | | | | | | ParamType, | | | | | | Param, | | | | | | OverloadId | | | | | ) | | | |

Value:

namespace internal { \

class matcher_##DefineMatcher##OverloadId##Matcher \

: public ::clang::ast_matchers::internal::MatcherInterface { \

public: \

explicit matcher_##DefineMatcher##OverloadId##Matcher( \

ParamType const &A##Param) \

: Param(A##Param) {} \

::clang::ast_matchers::internal::ASTMatchFinder *Finder, \

::clang::ast_matchers::internal::BoundNodesTreeBuilder \

*Builder) const override; \

\

private: \

ParamType Param; \

}; \

} \

inline ::clang::ast_matchers::internal::Matcher DefineMatcher( \

ParamType const &Param) { \

return ::clang::ast_matchers::internal::makeMatcher( \

new internal::matcher_##DefineMatcher##OverloadId##Matcher(Param)); \

} \

typedef ::clang::ast_matchers::internal::Matcher ( \

&DefineMatcher##_Type##OverloadId)(ParamType const &Param); \

inline bool internal::matcher_##DefineMatcher##OverloadId##Matcher::matches( \

::clang::ast_matchers::internal::ASTMatchFinder *Finder, \

::clang::ast_matchers::internal::BoundNodesTreeBuilder *Builder) const

Definition at line 133 of file ASTMatchersMacros.h.

AST_MATCHER_REGEX

AST_MATCHER_REGEX(Type, DefineMatcher, Param) { ... } defines a function named DefineMatcher() that takes a regular expression string paramater and an optional RegexFlags parameter and returns a Matcher object.

The code between the curly braces has access to the following variables:

Node: the AST node being matched; its type is Type. Param: a pointer to an llvm::Regex object Finder: an ASTMatchFinder*. Builder: a BoundNodesTreeBuilder*.

The code should return true if 'Node' matches.

Definition at line 457 of file ASTMatchersMacros.h.

AST_MATCHER_REGEX_OVERLOAD

| #define AST_MATCHER_REGEX_OVERLOAD | ( | | Type, | | ------------------------------------- | - | | --------------------------------------------------------------------- | | | DefineMatcher, | | | | | | Param, | | | | | | OverloadId | | | | | ) | | | |

AST_POLYMORPHIC_MATCHER

| #define AST_POLYMORPHIC_MATCHER | ( | | DefineMatcher, | | --------------------------------- | - | | -------------- | | | ReturnTypesF | | | | | ) | | | |

Value:

namespace internal { \

template \

class matcher_##DefineMatcher##Matcher \

: public ::clang::ast_matchers::internal::MatcherInterface { \

public: \

bool matches(const NodeType &Node, \

::clang::ast_matchers::internal::ASTMatchFinder *Finder, \

::clang::ast_matchers::internal::BoundNodesTreeBuilder \

*Builder) const override; \

}; \

} \

inline ::clang::ast_matchers::internal::PolymorphicMatcher< \

internal::matcher_##DefineMatcher##Matcher, ReturnTypesF> \

DefineMatcher() { \

return ::clang::ast_matchers::internal::PolymorphicMatcher< \

internal::matcher_##DefineMatcher##Matcher, ReturnTypesF>(); \

} \

template \

bool internal::matcher_##DefineMatcher##Matcher::matches( \

const NodeType &Node, \

::clang::ast_matchers::internal::ASTMatchFinder *Finder, \

::clang::ast_matchers::internal::BoundNodesTreeBuilder *Builder) const

AST_POLYMORPHIC_MATCHER(DefineMatcher) { ... } defines a single-parameter function named DefineMatcher() that is polymorphic in the return type.

The variables are the same as for AST_MATCHER, but NodeType will be deduced from the calling context.

Definition at line 232 of file ASTMatchersMacros.h.

AST_POLYMORPHIC_MATCHER_P

| #define AST_POLYMORPHIC_MATCHER_P | ( | | DefineMatcher, | | ------------------------------------ | - | | -------------- | | | ReturnTypesF, | | | | | | ParamType, | | | | | | Param | | | | | ) | | | |

Value:

Param, 0)

#define AST_POLYMORPHIC_MATCHER_P_OVERLOAD(DefineMatcher, ReturnTypesF, ParamType, Param, OverloadId)

AST_POLYMORPHIC_MATCHER_P(DefineMatcher, ParamType, Param) { ... } defines a single-parameter function named DefineMatcher() that is polymorphic in the return type.

The variables are the same as for AST_MATCHER_P, with the addition of NodeType, which specifies the node type of the matcher Matcher returned by the function matcher().

FIXME: Pull out common code with above macro?

Definition at line 265 of file ASTMatchersMacros.h.

AST_POLYMORPHIC_MATCHER_P2

| #define AST_POLYMORPHIC_MATCHER_P2 | ( | | DefineMatcher, | | ------------------------------------- | - | | -------------- | | | ReturnTypesF, | | | | | | ParamType1, | | | | | | Param1, | | | | | | ParamType2, | | | | | | Param2 | | | | | ) | | | |

Value:

Param1, ParamType2, Param2, 0)

#define AST_POLYMORPHIC_MATCHER_P2_OVERLOAD(DefineMatcher, ReturnTypesF, ParamType1, Param1, ParamType2, Param2, OverloadId)

AST_POLYMORPHIC_MATCHER_P2( DefineMatcher, ParamType1, Param1, ParamType2, Param2) { ... } defines a two-parameter function named matcher() that is polymorphic in the return type.

The variables are the same as for AST_MATCHER_P2, with the addition of NodeType, which specifies the node type of the matcher Matcher returned by the function DefineMatcher().

Definition at line 316 of file ASTMatchersMacros.h.

AST_POLYMORPHIC_MATCHER_P2_OVERLOAD

| #define AST_POLYMORPHIC_MATCHER_P2_OVERLOAD | ( | | DefineMatcher, | | ----------------------------------------------- | - | | -------------- | | | ReturnTypesF, | | | | | | ParamType1, | | | | | | Param1, | | | | | | ParamType2, | | | | | | Param2, | | | | | | OverloadId | | | | | ) | | | |

AST_POLYMORPHIC_MATCHER_P_OVERLOAD

| #define AST_POLYMORPHIC_MATCHER_P_OVERLOAD | ( | | DefineMatcher, | | ---------------------------------------------- | - | | -------------- | | | ReturnTypesF, | | | | | | ParamType, | | | | | | Param, | | | | | | OverloadId | | | | | ) | | | |

AST_POLYMORPHIC_MATCHER_REGEX

AST_POLYMORPHIC_MATCHER_REGEX(DefineMatcher, ReturnTypesF, Param) { ... } defines a function named DefineMatcher() that takes a regular expression string paramater and an optional RegexFlags parameter that is polymorphic in the return type.

The variables are the same as for AST_MATCHER_REGEX, with the addition of NodeType, which specifies the node type of the matcher Matcher returned by the function matcher().

Definition at line 507 of file ASTMatchersMacros.h.

AST_POLYMORPHIC_MATCHER_REGEX_OVERLOAD

| #define AST_POLYMORPHIC_MATCHER_REGEX_OVERLOAD | ( | | DefineMatcher, | | -------------------------------------------------- | - | | -------------- | | | ReturnTypesF, | | | | | | Param, | | | | | | OverloadId | | | | | ) | | | |

AST_POLYMORPHIC_SUPPORTED_TYPES

| #define AST_POLYMORPHIC_SUPPORTED_TYPES | ( | | ... | ) | void(::clang::ast_matchers::internal::TypeList<__VA_ARGS__>) | | ------------------------------------------ | - | | ----- | - | ------------------------------------------------------------------ |

Construct a type-list to be passed to the AST_POLYMORPHIC_MATCHER* macros.

You can't pass something like TypeList<Foo, Bar> to a macro, because it will look at that as two arguments. However, you can pass void(TypeList<Foo, Bar>), which works thanks to the parenthesis. The PolymorphicMatcherWithParam* classes will unpack the function type to extract the TypeList object.

Definition at line 223 of file ASTMatchersMacros.h.

AST_TYPE_TRAVERSE_MATCHER

| #define AST_TYPE_TRAVERSE_MATCHER | ( | | MatcherName, | | ------------------------------------ | - | | ------------ | | | FunctionName, | | | | | | ReturnTypesF | | | | | ) | | | |

Value:

namespace internal { \

template struct TypeMatcher##MatcherName##Getter { \

static QualType (T::*value())() const { return &T::FunctionName; } \

}; \

} \

const ::clang::ast_matchers::internal::TypeTraversePolymorphicMatcher< \

QualType, \

::clang::ast_matchers::internal::TypeMatcher##MatcherName##Getter, \

::clang::ast_matchers::internal::TypeTraverseMatcher, \

ReturnTypesF>::Func MatcherName

AST_TYPE_TRAVERSE_MATCHER(MatcherName, FunctionName) defines the matcher MatcherName that can be used to traverse from one Type to another.

For a specific SpecificType, the traversal is done using SpecificType::FunctionName. The existence of such a function determines whether a corresponding matcher can be used on SpecificType.

Definition at line 393 of file ASTMatchersMacros.h.

AST_TYPE_TRAVERSE_MATCHER_DECL

| #define AST_TYPE_TRAVERSE_MATCHER_DECL | ( | | MatcherName, | | ------------------------------------------ | - | | ------------ | | | FunctionName, | | | | | | ReturnTypesF | | | | | ) | | | |

Value:

namespace internal { \

template struct TypeMatcher##MatcherName##Getter { \

static QualType (T::*value())() const { return &T::FunctionName; } \

}; \

} \

CLANG_ABI extern const ::clang::ast_matchers::internal:: \

TypeTraversePolymorphicMatcher< \

QualType, \

::clang::ast_matchers::internal::TypeMatcher##MatcherName##Getter, \

::clang::ast_matchers::internal::TypeTraverseMatcher, \

ReturnTypesF>::Func MatcherName

Definition at line 365 of file ASTMatchersMacros.h.

AST_TYPE_TRAVERSE_MATCHER_DEF

| #define AST_TYPE_TRAVERSE_MATCHER_DEF | ( | | MatcherName, | | ----------------------------------------- | - | | ------------ | | | ReturnTypesF | | | | | ) | | | |

Value:

const ::clang::ast_matchers::internal::TypeTraversePolymorphicMatcher< \

QualType, \

::clang::ast_matchers::internal::TypeMatcher##MatcherName##Getter, \

::clang::ast_matchers::internal::TypeTraverseMatcher, \

ReturnTypesF>::Func MatcherName

Definition at line 379 of file ASTMatchersMacros.h.

AST_TYPELOC_TRAVERSE_MATCHER

| #define AST_TYPELOC_TRAVERSE_MATCHER | ( | | MatcherName, | | --------------------------------------- | - | | ------------ | | | FunctionName, | | | | | | ReturnTypesF | | | | | ) | | | |

Value:

namespace internal { \

template struct TypeLocMatcher##MatcherName##Getter { \

static TypeLoc (T::*value())() const { return &T::FunctionName##Loc; } \

}; \

} \

const ::clang::ast_matchers::internal::TypeTraversePolymorphicMatcher< \

TypeLoc, \

::clang::ast_matchers::internal::TypeLocMatcher##MatcherName##Getter, \

::clang::ast_matchers::internal::TypeLocTraverseMatcher, \

ReturnTypesF>::Func MatcherName##Loc; \

AST_TYPE_TRAVERSE_MATCHER(MatcherName, FunctionName##Type, ReturnTypesF)

AST_TYPELOC_TRAVERSE_MATCHER(MatcherName, FunctionName) works identical to AST_TYPE_TRAVERSE_MATCHER but operates on TypeLocs.

Definition at line 431 of file ASTMatchersMacros.h.

AST_TYPELOC_TRAVERSE_MATCHER_DECL

| #define AST_TYPELOC_TRAVERSE_MATCHER_DECL | ( | | MatcherName, | | --------------------------------------------- | - | | ------------ | | | FunctionName, | | | | | | ReturnTypesF | | | | | ) | | | |

Value:

namespace internal { \

template struct TypeLocMatcher##MatcherName##Getter { \

static TypeLoc (T::*value())() const { return &T::FunctionName##Loc; } \

}; \

} \

CLANG_ABI extern const ::clang::ast_matchers::internal:: \

TypeTraversePolymorphicMatcher< \

TypeLoc, \

::clang::ast_matchers::internal:: \

::clang::ast_matchers::internal::TypeLocTraverseMatcher, \

ReturnTypesF>::Func MatcherName##Loc; \

AST_TYPE_TRAVERSE_MATCHER_DECL(MatcherName, FunctionName##Type, ReturnTypesF)

internal::Matcher< TypeLoc > TypeLocMatcher

Definition at line 405 of file ASTMatchersMacros.h.

AST_TYPELOC_TRAVERSE_MATCHER_DEF

| #define AST_TYPELOC_TRAVERSE_MATCHER_DEF | ( | | MatcherName, | | -------------------------------------------- | - | | ------------ | | | ReturnTypesF | | | | | ) | | | |

Value:

const ::clang::ast_matchers::internal::TypeTraversePolymorphicMatcher< \

TypeLoc, \

::clang::ast_matchers::internal::TypeLocMatcher##MatcherName##Getter, \

::clang::ast_matchers::internal::TypeLocTraverseMatcher, \

ReturnTypesF>::Func MatcherName##Loc; \

AST_TYPE_TRAVERSE_MATCHER_DEF(MatcherName, ReturnTypesF)

Definition at line 421 of file ASTMatchersMacros.h.