clang API Documentation
Variadic operator marshaller function. More...
#include <Marshallers.h>
Public Types | |
typedef DynTypedMatcher::VariadicOperatorFunction | VarFunc |
Public Member Functions | |
VariadicOperatorMatcherDescriptor (unsigned MinCount, unsigned MaxCount, VarFunc Func, StringRef MatcherName) | |
virtual VariantMatcher | create (const SourceRange &NameRange, ArrayRef< ParserValue > Args, Diagnostics *Error) const override |
bool | isVariadic () const override |
unsigned | getNumArgs () const override |
Returns the number of arguments accepted by the matcher if not variadic. | |
void | getArgKinds (ast_type_traits::ASTNodeKind ThisKind, unsigned ArgNo, std::vector< ArgKind > &Kinds) const override |
bool | isConvertibleTo (ast_type_traits::ASTNodeKind Kind, unsigned *Specificity, ast_type_traits::ASTNodeKind *LeastDerivedKind) const override |
bool | isPolymorphic () const override |
Variadic operator marshaller function.
Definition at line 557 of file Marshallers.h.
typedef DynTypedMatcher::VariadicOperatorFunction clang::ast_matchers::dynamic::internal::VariadicOperatorMatcherDescriptor::VarFunc |
Definition at line 559 of file Marshallers.h.
clang::ast_matchers::dynamic::internal::VariadicOperatorMatcherDescriptor::VariadicOperatorMatcherDescriptor | ( | unsigned | MinCount, |
unsigned | MaxCount, | ||
VarFunc | Func, | ||
StringRef | MatcherName | ||
) | [inline] |
Definition at line 560 of file Marshallers.h.
virtual VariantMatcher clang::ast_matchers::dynamic::internal::VariadicOperatorMatcherDescriptor::create | ( | const SourceRange & | NameRange, |
ArrayRef< ParserValue > | Args, | ||
Diagnostics * | Error | ||
) | const [inline, override, virtual] |
Implements clang::ast_matchers::dynamic::internal::MatcherDescriptor.
Definition at line 565 of file Marshallers.h.
References clang::ast_matchers::dynamic::Diagnostics::addError(), clang::ast_matchers::dynamic::Diagnostics::ET_RegistryWrongArgCount, clang::ast_matchers::dynamic::Diagnostics::ET_RegistryWrongArgType, clang::ast_matchers::dynamic::VariantValue::getMatcher(), clang::ast_matchers::dynamic::VariantValue::getTypeAsString(), clang::ast_matchers::dynamic::VariantValue::isMatcher(), clang::ast_matchers::dynamic::ParserValue::Range, UINT_MAX, clang::ast_matchers::dynamic::ParserValue::Value, and clang::ast_matchers::dynamic::VariantMatcher::VariadicOperatorMatcher().
void clang::ast_matchers::dynamic::internal::VariadicOperatorMatcherDescriptor::getArgKinds | ( | ast_type_traits::ASTNodeKind | ThisKind, |
unsigned | ArgNo, | ||
std::vector< ArgKind > & | ArgKinds | ||
) | const [inline, override, virtual] |
Given that the matcher is being converted to type ThisKind
, append the set of argument types accepted for argument ArgNo
to ArgKinds
.
Implements clang::ast_matchers::dynamic::internal::MatcherDescriptor.
Definition at line 592 of file Marshallers.h.
unsigned clang::ast_matchers::dynamic::internal::VariadicOperatorMatcherDescriptor::getNumArgs | ( | ) | const [inline, override, virtual] |
Returns the number of arguments accepted by the matcher if not variadic.
Implements clang::ast_matchers::dynamic::internal::MatcherDescriptor.
Definition at line 591 of file Marshallers.h.
bool clang::ast_matchers::dynamic::internal::VariadicOperatorMatcherDescriptor::isConvertibleTo | ( | ast_type_traits::ASTNodeKind | Kind, |
unsigned * | Specificity, | ||
ast_type_traits::ASTNodeKind * | LeastDerivedKind | ||
) | const [inline, override, virtual] |
Returns whether this matcher is convertible to the given type. If it is so convertible, store in *Specificity a value corresponding to the "specificity" of the converted matcher to the given context, and in LeastDerivedKind the least derived matcher kind which would result in the same matcher overload. Zero specificity indicates that this conversion would produce a trivial matcher that will either always or never match. Such matchers are excluded from code completion results.
Implements clang::ast_matchers::dynamic::internal::MatcherDescriptor.
Definition at line 596 of file Marshallers.h.
bool clang::ast_matchers::dynamic::internal::VariadicOperatorMatcherDescriptor::isPolymorphic | ( | ) | const [inline, override, virtual] |
Returns whether the matcher will, given a matcher of any type T, yield a matcher of type T.
Reimplemented from clang::ast_matchers::dynamic::internal::MatcherDescriptor.
Definition at line 604 of file Marshallers.h.
bool clang::ast_matchers::dynamic::internal::VariadicOperatorMatcherDescriptor::isVariadic | ( | ) | const [inline, override, virtual] |
Returns whether the matcher is variadic. Variadic matchers can take any number of arguments, but they must be of the same type.
Implements clang::ast_matchers::dynamic::internal::MatcherDescriptor.
Definition at line 590 of file Marshallers.h.