|
clang
5.0.0
|
Functions | |
| bool | isRetKindConvertibleTo (ArrayRef< ast_type_traits::ASTNodeKind > RetKinds, ast_type_traits::ASTNodeKind Kind, unsigned *Specificity, ast_type_traits::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. More... | |
| template<class PolyMatcher , class TypeList > | |
| static void | mergePolyMatchers (const PolyMatcher &Poly, std::vector< DynTypedMatcher > &Out, TypeList) |
| static VariantMatcher | outvalueToVariantMatcher (const DynTypedMatcher &Matcher) |
| Convert the return values of the functions into a VariantMatcher. More... | |
| template<typename T > | |
| static VariantMatcher | outvalueToVariantMatcher (const T &PolyMatcher, typename T::ReturnTypes *=nullptr) |
| template<typename T > | |
| void | buildReturnTypeVectorFromTypeList (std::vector< ast_type_traits::ASTNodeKind > &RetTypes) |
| template<> | |
| void | buildReturnTypeVectorFromTypeList< ast_matchers::internal::EmptyTypeList > (std::vector< ast_type_traits::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. More... | |
| template<typename ReturnType > | |
| static VariantMatcher | matcherMarshall0 (void(*Func)(), StringRef MatcherName, SourceRange NameRange, ArrayRef< ParserValue > Args, Diagnostics *Error) |
| 0-arg marshaller function. More... | |
| template<typename ReturnType , typename ArgType1 > | |
| static VariantMatcher | matcherMarshall1 (void(*Func)(), StringRef MatcherName, SourceRange NameRange, ArrayRef< ParserValue > Args, Diagnostics *Error) |
| 1-arg marshaller function. More... | |
| 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. More... | |
| template<typename ReturnType > | |
| std::unique_ptr < MatcherDescriptor > | makeMatcherAutoMarshall (ReturnType(*Func)(), StringRef MatcherName) |
| Helper functions to select the appropriate marshaller functions. More... | |
| template<typename ReturnType , typename ArgType1 > | |
| std::unique_ptr < MatcherDescriptor > | makeMatcherAutoMarshall (ReturnType(*Func)(ArgType1), StringRef MatcherName) |
| 1-arg overload More... | |
| template<typename ReturnType , typename ArgType1 , typename ArgType2 > | |
| std::unique_ptr < MatcherDescriptor > | makeMatcherAutoMarshall (ReturnType(*Func)(ArgType1, ArgType2), StringRef MatcherName) |
| 2-arg overload More... | |
| 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. More... | |
| template<typename BaseT , typename DerivedT > | |
| std::unique_ptr < MatcherDescriptor > | makeMatcherAutoMarshall (ast_matchers::internal::VariadicDynCastAllOfMatcher< BaseT, DerivedT > VarFunc, StringRef MatcherName) |
| Overload for VariadicDynCastAllOfMatchers. More... | |
| 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. More... | |
| template<unsigned MinCount, unsigned MaxCount> | |
| std::unique_ptr < MatcherDescriptor > | makeMatcherAutoMarshall (ast_matchers::internal::VariadicOperatorMatcherFunc< MinCount, MaxCount > Func, StringRef MatcherName) |
| Variadic operator overload. More... | |
|
inline |
Definition at line 286 of file Marshallers.h.
|
inline |
Definition at line 295 of file Marshallers.h.
|
inline |
Definition at line 182 of file Marshallers.h.
Referenced by clang::ast_matchers::dynamic::internal::FixedArgCountMatcherDescriptor::isConvertibleTo(), and clang::ast_matchers::dynamic::internal::VariadicFuncMatcherDescriptor::isConvertibleTo().
| 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 667 of file Marshallers.h.
References clang::ast_matchers::dynamic::internal::BuildReturnTypeVector< T >::build(), and clang::None.
| std::unique_ptr<MatcherDescriptor> clang::ast_matchers::dynamic::internal::makeMatcherAutoMarshall | ( | ReturnType(*)(ArgType1) | Func, |
| StringRef | MatcherName | ||
| ) |
1-arg overload
Definition at line 678 of file Marshallers.h.
References clang::ast_matchers::dynamic::internal::BuildReturnTypeVector< T >::build(), and getKind().
| std::unique_ptr<MatcherDescriptor> clang::ast_matchers::dynamic::internal::makeMatcherAutoMarshall | ( | ReturnType(*)(ArgType1, ArgType2) | Func, |
| StringRef | MatcherName | ||
| ) |
2-arg overload
Definition at line 690 of file Marshallers.h.
References clang::ast_matchers::dynamic::internal::BuildReturnTypeVector< T >::build(), and getKind().
| 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 704 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 715 of file Marshallers.h.
| 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 725 of file Marshallers.h.
| std::unique_ptr<MatcherDescriptor> clang::ast_matchers::dynamic::internal::makeMatcherAutoMarshall | ( | ast_matchers::internal::VariadicOperatorMatcherFunc< MinCount, MaxCount > | Func, |
| StringRef | MatcherName | ||
| ) |
Variadic operator overload.
Definition at line 747 of file Marshallers.h.
|
static |
0-arg marshaller function.
Definition at line 457 of file Marshallers.h.
References CHECK_ARG_COUNT, and outvalueToVariantMatcher().
|
static |
1-arg marshaller function.
Definition at line 468 of file Marshallers.h.
References CHECK_ARG_COUNT, CHECK_ARG_TYPE, and outvalueToVariantMatcher().
|
static |
2-arg marshaller function.
Definition at line 481 of file Marshallers.h.
References CHECK_ARG_COUNT, CHECK_ARG_TYPE, and outvalueToVariantMatcher().
|
static |
Helper methods to extract and merge all possible typed matchers out of the polymorphic object.
Definition at line 254 of file Marshallers.h.
Referenced by mergePolyMatchers(), and outvalueToVariantMatcher().
|
static |
Definition at line 259 of file Marshallers.h.
References mergePolyMatchers().
|
static |
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 271 of file Marshallers.h.
References clang::ast_matchers::dynamic::VariantMatcher::SingleMatcher().
Referenced by matcherMarshall0(), matcherMarshall1(), matcherMarshall2(), and variadicMatcherDescriptor().
|
static |
Definition at line 276 of file Marshallers.h.
References Matchers, 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 323 of file Marshallers.h.
References clang::ast_matchers::dynamic::Diagnostics::addError(), clang::ast_matchers::dynamic::Diagnostics::ET_RegistryWrongArgType, getKind(), clang::ast_matchers::dynamic::VariantValue::getTypeAsString(), outvalueToVariantMatcher(), clang::ast_matchers::dynamic::ParserValue::Range, and clang::ast_matchers::dynamic::ParserValue::Value.
1.8.6