|
clang
3.8.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 *=NULL) |
| 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 > | |
| MatcherDescriptor * | makeMatcherAutoMarshall (ReturnType(*Func)(), StringRef MatcherName) |
| Helper functions to select the appropriate marshaller functions. More... | |
| template<typename ReturnType , typename ArgType1 > | |
| MatcherDescriptor * | makeMatcherAutoMarshall (ReturnType(*Func)(ArgType1), StringRef MatcherName) |
| 1-arg overload More... | |
| template<typename ReturnType , typename ArgType1 , typename ArgType2 > | |
| MatcherDescriptor * | makeMatcherAutoMarshall (ReturnType(*Func)(ArgType1, ArgType2), StringRef MatcherName) |
| 2-arg overload More... | |
| template<typename ResultT , typename ArgT , ResultT(*)(ArrayRef< const ArgT * >) Func> | |
| MatcherDescriptor * | makeMatcherAutoMarshall (llvm::VariadicFunction< ResultT, ArgT, Func > VarFunc, StringRef MatcherName) |
| Variadic overload. More... | |
| template<typename BaseT , typename DerivedT > | |
| 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 > | |
| MatcherDescriptor * | makeMatcherAutoMarshall (ast_matchers::internal::ArgumentAdaptingMatcherFunc< ArgumentAdapterT, FromTypes, ToTypes >, StringRef MatcherName) |
| Argument adaptative overload. More... | |
| template<unsigned MinCount, unsigned MaxCount> | |
| MatcherDescriptor * | makeMatcherAutoMarshall (ast_matchers::internal::VariadicOperatorMatcherFunc< MinCount, MaxCount > Func, StringRef MatcherName) |
| Variadic operator overload. More... | |
|
inline |
Definition at line 245 of file Marshallers.h.
|
inline |
Definition at line 254 of file Marshallers.h.
|
inline |
Definition at line 141 of file Marshallers.h.
Referenced by clang::ast_matchers::dynamic::internal::FixedArgCountMatcherDescriptor::isConvertibleTo(), and clang::ast_matchers::dynamic::internal::VariadicFuncMatcherDescriptor::isConvertibleTo().
| 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 623 of file Marshallers.h.
References clang::ast_matchers::dynamic::internal::BuildReturnTypeVector< T >::build(), and clang::None.
| MatcherDescriptor* clang::ast_matchers::dynamic::internal::makeMatcherAutoMarshall | ( | ReturnType(*)(ArgType1) | Func, |
| StringRef | MatcherName | ||
| ) |
1-arg overload
Definition at line 634 of file Marshallers.h.
References clang::ast_matchers::dynamic::internal::BuildReturnTypeVector< T >::build(), and getKind().
| MatcherDescriptor* clang::ast_matchers::dynamic::internal::makeMatcherAutoMarshall | ( | ReturnType(*)(ArgType1, ArgType2) | Func, |
| StringRef | MatcherName | ||
| ) |
2-arg overload
Definition at line 646 of file Marshallers.h.
References clang::ast_matchers::dynamic::internal::BuildReturnTypeVector< T >::build(), and getKind().
| MatcherDescriptor* clang::ast_matchers::dynamic::internal::makeMatcherAutoMarshall | ( | llvm::VariadicFunction< ResultT, ArgT, Func > | VarFunc, |
| StringRef | MatcherName | ||
| ) |
Variadic overload.
Definition at line 661 of file Marshallers.h.
| 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 672 of file Marshallers.h.
| MatcherDescriptor* clang::ast_matchers::dynamic::internal::makeMatcherAutoMarshall | ( | ast_matchers::internal::ArgumentAdaptingMatcherFunc< ArgumentAdapterT, FromTypes, ToTypes > | , |
| StringRef | MatcherName | ||
| ) |
Argument adaptative overload.
Definition at line 682 of file Marshallers.h.
| MatcherDescriptor* clang::ast_matchers::dynamic::internal::makeMatcherAutoMarshall | ( | ast_matchers::internal::VariadicOperatorMatcherFunc< MinCount, MaxCount > | Func, |
| StringRef | MatcherName | ||
| ) |
Variadic operator overload.
Definition at line 704 of file Marshallers.h.
|
static |
0-arg marshaller function.
Definition at line 416 of file Marshallers.h.
References CHECK_ARG_COUNT, and outvalueToVariantMatcher().
|
static |
1-arg marshaller function.
Definition at line 427 of file Marshallers.h.
References CHECK_ARG_COUNT, CHECK_ARG_TYPE, and outvalueToVariantMatcher().
|
static |
2-arg marshaller function.
Definition at line 440 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 213 of file Marshallers.h.
Referenced by mergePolyMatchers(), and outvalueToVariantMatcher().
|
static |
Definition at line 218 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 230 of file Marshallers.h.
References clang::ast_matchers::dynamic::VariantMatcher::SingleMatcher().
Referenced by matcherMarshall0(), matcherMarshall1(), matcherMarshall2(), and variadicMatcherDescriptor().
|
static |
Definition at line 235 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 282 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