clang
8.0.0
|
Matcher descriptor interface. More...
#include "/work/www-prereleases/8.0.0/rc1/builddocs/llvm.src/tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h"
Public Member Functions | |
virtual | ~MatcherDescriptor ()=default |
virtual VariantMatcher | create (SourceRange NameRange, ArrayRef< ParserValue > Args, Diagnostics *Error) const =0 |
virtual bool | isVariadic () const =0 |
Returns whether the matcher is variadic. More... | |
virtual unsigned | getNumArgs () const =0 |
Returns the number of arguments accepted by the matcher if not variadic. More... | |
virtual void | getArgKinds (ast_type_traits::ASTNodeKind ThisKind, unsigned ArgNo, std::vector< ArgKind > &ArgKinds) const =0 |
Given that the matcher is being converted to type ThisKind , append the set of argument types accepted for argument ArgNo to ArgKinds . More... | |
virtual bool | isConvertibleTo (ast_type_traits::ASTNodeKind Kind, unsigned *Specificity=nullptr, ast_type_traits::ASTNodeKind *LeastDerivedKind=nullptr) const =0 |
Returns whether this matcher is convertible to the given type. More... | |
virtual bool | isPolymorphic () const |
Returns whether the matcher will, given a matcher of any type T, yield a matcher of type T. More... | |
Matcher descriptor interface.
Provides a create()
method that constructs the matcher from the provided arguments, and various other methods for type introspection.
Definition at line 173 of file Marshallers.h.
|
virtualdefault |
|
pure virtual |
Implemented in clang::ast_matchers::dynamic::internal::VariadicOperatorMatcherDescriptor, clang::ast_matchers::dynamic::internal::OverloadedMatcherDescriptor, clang::ast_matchers::dynamic::internal::VariadicFuncMatcherDescriptor, and clang::ast_matchers::dynamic::internal::FixedArgCountMatcherDescriptor.
Referenced by clang::ast_matchers::dynamic::Registry::constructMatcher().
|
pure virtual |
Given that the matcher is being converted to type ThisKind
, append the set of argument types accepted for argument ArgNo
to ArgKinds
.
Implemented in clang::ast_matchers::dynamic::internal::VariadicOperatorMatcherDescriptor, clang::ast_matchers::dynamic::internal::OverloadedMatcherDescriptor, clang::ast_matchers::dynamic::internal::VariadicFuncMatcherDescriptor, and clang::ast_matchers::dynamic::internal::FixedArgCountMatcherDescriptor.
|
pure virtual |
Returns the number of arguments accepted by the matcher if not variadic.
Implemented in clang::ast_matchers::dynamic::internal::VariadicOperatorMatcherDescriptor, clang::ast_matchers::dynamic::internal::OverloadedMatcherDescriptor, clang::ast_matchers::dynamic::internal::VariadicFuncMatcherDescriptor, and clang::ast_matchers::dynamic::internal::FixedArgCountMatcherDescriptor.
|
pure 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.
Implemented in clang::ast_matchers::dynamic::internal::VariadicOperatorMatcherDescriptor, clang::ast_matchers::dynamic::internal::OverloadedMatcherDescriptor, clang::ast_matchers::dynamic::internal::DynCastAllOfMatcherDescriptor, clang::ast_matchers::dynamic::internal::VariadicFuncMatcherDescriptor, and clang::ast_matchers::dynamic::internal::FixedArgCountMatcherDescriptor.
|
inlinevirtual |
Returns whether the matcher will, given a matcher of any type T, yield a matcher of type T.
Reimplemented in clang::ast_matchers::dynamic::internal::VariadicOperatorMatcherDescriptor.
Definition at line 208 of file Marshallers.h.
|
pure virtual |
Returns whether the matcher is variadic.
Variadic matchers can take any number of arguments, but they must be of the same type.
Implemented in clang::ast_matchers::dynamic::internal::VariadicOperatorMatcherDescriptor, clang::ast_matchers::dynamic::internal::OverloadedMatcherDescriptor, clang::ast_matchers::dynamic::internal::VariadicFuncMatcherDescriptor, and clang::ast_matchers::dynamic::internal::FixedArgCountMatcherDescriptor.