clang 20.0.0git
|
Functions | |
bool | isRetKindConvertibleTo (ArrayRef< ASTNodeKind > RetKinds, ASTNodeKind Kind, unsigned *Specificity, ASTNodeKind *LeastDerivedKind) |
template<class PolyMatcher > | |
static void | mergePolyMatchers (const PolyMatcher &Poly, std::vector< DynTypedMatcher > &Out, ast_matchers::internal::EmptyTypeList) |
Helper methods to extract and merge all possible typed matchers out of the polymorphic object. | |
template<class PolyMatcher , class TypeList > | |
static void | mergePolyMatchers (const PolyMatcher &Poly, std::vector< DynTypedMatcher > &Out, TypeList) |
VariantMatcher | outvalueToVariantMatcher (const DynTypedMatcher &Matcher) |
Convert the return values of the functions into a VariantMatcher. | |
template<typename T > | |
static VariantMatcher | outvalueToVariantMatcher (const T &PolyMatcher, typename T::ReturnTypes *=nullptr) |
template<typename T > | |
void | buildReturnTypeVectorFromTypeList (std::vector< ASTNodeKind > &RetTypes) |
template<> | |
void | buildReturnTypeVectorFromTypeList< ast_matchers::internal::EmptyTypeList > (std::vector< ASTNodeKind > &RetTypes) |
template<typename ResultT , typename ArgT , ResultT(*)(ArrayRef< const ArgT * >) Func> | |
VariantMatcher | variadicMatcherDescriptor (StringRef MatcherName, SourceRange NameRange, ArrayRef< ParserValue > Args, Diagnostics *Error) |
Variadic marshaller function. | |
template<typename ReturnType > | |
static VariantMatcher | matcherMarshall0 (void(*Func)(), StringRef MatcherName, SourceRange NameRange, ArrayRef< ParserValue > Args, Diagnostics *Error) |
0-arg marshaller function. | |
template<typename ReturnType , typename ArgType1 > | |
static VariantMatcher | matcherMarshall1 (void(*Func)(), StringRef MatcherName, SourceRange NameRange, ArrayRef< ParserValue > Args, Diagnostics *Error) |
1-arg marshaller function. | |
template<typename ReturnType , typename ArgType1 , typename ArgType2 > | |
static VariantMatcher | matcherMarshall2 (void(*Func)(), StringRef MatcherName, SourceRange NameRange, ArrayRef< ParserValue > Args, Diagnostics *Error) |
2-arg marshaller function. | |
template<typename ReturnType > | |
std::unique_ptr< MatcherDescriptor > | makeMatcherAutoMarshall (ReturnType(*Func)(), StringRef MatcherName) |
Helper functions to select the appropriate marshaller functions. | |
template<typename ReturnType , typename ArgType1 > | |
std::unique_ptr< MatcherDescriptor > | makeMatcherAutoMarshall (ReturnType(*Func)(ArgType1), StringRef MatcherName) |
1-arg overload | |
template<typename ReturnType , typename ArgType1 , typename ArgType2 > | |
std::unique_ptr< MatcherDescriptor > | makeMatcherAutoMarshall (ReturnType(*Func)(ArgType1, ArgType2), StringRef MatcherName) |
2-arg overload | |
template<typename ReturnType > | |
std::unique_ptr< MatcherDescriptor > | makeMatcherRegexMarshall (ReturnType(*FuncFlags)(llvm::StringRef, llvm::Regex::RegexFlags), ReturnType(*Func)(llvm::StringRef)) |
template<typename ResultT , typename ArgT , ResultT(*)(ArrayRef< const ArgT * >) Func> | |
std::unique_ptr< MatcherDescriptor > | makeMatcherAutoMarshall (ast_matchers::internal::VariadicFunction< ResultT, ArgT, Func > VarFunc, StringRef MatcherName) |
Variadic overload. | |
template<typename BaseT , typename DerivedT > | |
std::unique_ptr< MatcherDescriptor > | makeMatcherAutoMarshall (ast_matchers::internal::VariadicDynCastAllOfMatcher< BaseT, DerivedT > VarFunc, StringRef MatcherName) |
Overload for VariadicDynCastAllOfMatchers. | |
template<template< typename ToArg, typename FromArg > class ArgumentAdapterT, typename FromTypes , typename ToTypes > | |
std::unique_ptr< MatcherDescriptor > | makeMatcherAutoMarshall (ast_matchers::internal::ArgumentAdaptingMatcherFunc< ArgumentAdapterT, FromTypes, ToTypes >, StringRef MatcherName) |
Argument adaptative overload. | |
template<unsigned MinCount, unsigned MaxCount> | |
std::unique_ptr< MatcherDescriptor > | makeMatcherAutoMarshall (ast_matchers::internal::VariadicOperatorMatcherFunc< MinCount, MaxCount > Func, StringRef MatcherName) |
Variadic operator overload. | |
template<typename CladeType , typename... MatcherT> | |
std::unique_ptr< MatcherDescriptor > | makeMatcherAutoMarshall (ast_matchers::internal::MapAnyOfMatcherImpl< CladeType, MatcherT... >, StringRef MatcherName) |
|
inline |
Definition at line 458 of file Marshallers.h.
|
inline |
Definition at line 464 of file Marshallers.h.
|
inline |
Definition at line 352 of file Marshallers.h.
References Kind, and clang::ast_matchers::dynamic::ArgKind::MakeMatcherArg().
Referenced by clang::ast_matchers::dynamic::internal::FixedArgCountMatcherDescriptor::isConvertibleTo(), clang::ast_matchers::dynamic::internal::VariadicFuncMatcherDescriptor::isConvertibleTo(), and clang::ast_matchers::dynamic::internal::RegexMatcherDescriptor< ReturnType >::isConvertibleTo().
std::unique_ptr< MatcherDescriptor > clang::ast_matchers::dynamic::internal::makeMatcherAutoMarshall | ( | ast_matchers::internal::ArgumentAdaptingMatcherFunc< ArgumentAdapterT, FromTypes, ToTypes > | , |
StringRef | MatcherName | ||
) |
Argument adaptative overload.
Definition at line 1126 of file Marshallers.h.
std::unique_ptr< MatcherDescriptor > clang::ast_matchers::dynamic::internal::makeMatcherAutoMarshall | ( | ast_matchers::internal::MapAnyOfMatcherImpl< CladeType, MatcherT... > | , |
StringRef | MatcherName | ||
) |
Definition at line 1157 of file Marshallers.h.
std::unique_ptr< MatcherDescriptor > clang::ast_matchers::dynamic::internal::makeMatcherAutoMarshall | ( | ast_matchers::internal::VariadicDynCastAllOfMatcher< BaseT, DerivedT > | VarFunc, |
StringRef | MatcherName | ||
) |
Overload for VariadicDynCastAllOfMatchers.
Not strictly necessary, but DynCastAllOfMatcherDescriptor gives us better completion results for that type of matcher.
Definition at line 1116 of file Marshallers.h.
std::unique_ptr< MatcherDescriptor > clang::ast_matchers::dynamic::internal::makeMatcherAutoMarshall | ( | ast_matchers::internal::VariadicFunction< ResultT, ArgT, Func > | VarFunc, |
StringRef | MatcherName | ||
) |
Variadic overload.
Definition at line 1105 of file Marshallers.h.
std::unique_ptr< MatcherDescriptor > clang::ast_matchers::dynamic::internal::makeMatcherAutoMarshall | ( | ast_matchers::internal::VariadicOperatorMatcherFunc< MinCount, MaxCount > | Func, |
StringRef | MatcherName | ||
) |
std::unique_ptr< MatcherDescriptor > clang::ast_matchers::dynamic::internal::makeMatcherAutoMarshall | ( | ReturnType(*)() | Func, |
StringRef | MatcherName | ||
) |
Helper functions to select the appropriate marshaller functions.
They detect the number of arguments, arguments types and return type. 0-arg overload
Definition at line 1058 of file Marshallers.h.
References clang::ast_matchers::dynamic::internal::BuildReturnTypeVector< T >::build(), and clang::Func.
std::unique_ptr< MatcherDescriptor > clang::ast_matchers::dynamic::internal::makeMatcherAutoMarshall | ( | ReturnType(*)(ArgType1) | Func, |
StringRef | MatcherName | ||
) |
1-arg overload
Definition at line 1069 of file Marshallers.h.
References clang::ast_matchers::dynamic::internal::BuildReturnTypeVector< T >::build(), and clang::Func.
std::unique_ptr< MatcherDescriptor > clang::ast_matchers::dynamic::internal::makeMatcherAutoMarshall | ( | ReturnType(*)(ArgType1, ArgType2) | Func, |
StringRef | MatcherName | ||
) |
2-arg overload
Definition at line 1081 of file Marshallers.h.
References clang::ast_matchers::dynamic::internal::BuildReturnTypeVector< T >::build(), and clang::Func.
std::unique_ptr< MatcherDescriptor > clang::ast_matchers::dynamic::internal::makeMatcherRegexMarshall | ( | ReturnType(*)(llvm::StringRef, llvm::Regex::RegexFlags) | FuncFlags, |
ReturnType(*)(llvm::StringRef) | Func | ||
) |
Definition at line 1093 of file Marshallers.h.
References clang::ast_matchers::dynamic::internal::BuildReturnTypeVector< T >::build(), and clang::Func.
|
static |
0-arg marshaller function.
Definition at line 652 of file Marshallers.h.
References CHECK_ARG_COUNT, clang::Func, and outvalueToVariantMatcher().
|
static |
1-arg marshaller function.
Definition at line 663 of file Marshallers.h.
References CHECK_ARG_COUNT, CHECK_ARG_TYPE, clang::Func, and outvalueToVariantMatcher().
|
static |
2-arg marshaller function.
Definition at line 676 of file Marshallers.h.
References CHECK_ARG_COUNT, CHECK_ARG_TYPE, clang::Func, and outvalueToVariantMatcher().
|
static |
Helper methods to extract and merge all possible typed matchers out of the polymorphic object.
Definition at line 425 of file Marshallers.h.
Referenced by mergePolyMatchers(), and outvalueToVariantMatcher().
|
static |
Definition at line 430 of file Marshallers.h.
References mergePolyMatchers().
|
inline |
Convert the return values of the functions into a VariantMatcher.
There are 2 cases right now: The return value is a Matcher<T> or is a polymorphic matcher. For the former, we just construct the VariantMatcher. For the latter, we instantiate all the possible Matcher<T> of the poly matcher.
Definition at line 442 of file Marshallers.h.
References clang::ast_matchers::dynamic::VariantMatcher::SingleMatcher().
Referenced by clang::ast_matchers::dynamic::internal::RegexMatcherDescriptor< ReturnType >::create(), matcherMarshall0(), matcherMarshall1(), matcherMarshall2(), and variadicMatcherDescriptor().
|
static |
Definition at line 447 of file Marshallers.h.
References mergePolyMatchers(), and clang::ast_matchers::dynamic::VariantMatcher::PolymorphicMatcher().
VariantMatcher clang::ast_matchers::dynamic::internal::variadicMatcherDescriptor | ( | StringRef | MatcherName, |
SourceRange | NameRange, | ||
ArrayRef< ParserValue > | Args, | ||
Diagnostics * | Error | ||
) |
Variadic marshaller function.
Definition at line 493 of file Marshallers.h.
References clang::Func, outvalueToVariantMatcher(), clang::ast_matchers::dynamic::ParserValue::Range, and clang::ast_matchers::dynamic::ParserValue::Value.