class MapAnyOfBuilderDescriptor
Declaration
class MapAnyOfBuilderDescriptor : public MatcherDescriptor { /* full declaration omitted */ };
Description
Matcher descriptor interface. Provides a \c create() method that constructs the matcher from the provided arguments, and various other methods for type introspection.
Declared at: clang/lib/ASTMatchers/Dynamic/Marshallers.h:997
Inherits from: MatcherDescriptor
Method Overview
- public std::unique_ptr<MatcherDescriptor> buildMatcherCtor(clang::ast_matchers::dynamic::SourceRange, ArrayRef<clang::ast_matchers::dynamic::ParserValue> Args, clang::ast_matchers::dynamic::Diagnostics *) const
- public clang::ast_matchers::dynamic::VariantMatcher create(clang::ast_matchers::dynamic::SourceRange, ArrayRef<clang::ast_matchers::dynamic::ParserValue>, clang::ast_matchers::dynamic::Diagnostics *) const
- public void getArgKinds(clang::ASTNodeKind ThisKind, unsigned int, std::vector<ArgKind> & ArgKinds) const
- public unsigned int getNumArgs() const
- public bool isBuilderMatcher() const
- public bool isConvertibleTo(clang::ASTNodeKind Kind, unsigned int * Specificity = nullptr, clang::ASTNodeKind * LeastDerivedKind = nullptr) const
- public bool isPolymorphic() const
- public bool isVariadic() const
Inherited from MatcherDescriptor:
- public buildMatcherCtor
- public create
- public getArgKinds
- public getNumArgs
- public isBuilderMatcher
- public isConvertibleTo
- public isPolymorphic
- public isVariadic
- public nodeMatcherType
Methods
¶std::unique_ptr<MatcherDescriptor>
buildMatcherCtor(
clang::ast_matchers::dynamic::SourceRange,
ArrayRef<
clang::ast_matchers::dynamic::ParserValue>
Args,
clang::ast_matchers::dynamic::Diagnostics*)
const
std::unique_ptr<MatcherDescriptor>
buildMatcherCtor(
clang::ast_matchers::dynamic::SourceRange,
ArrayRef<
clang::ast_matchers::dynamic::ParserValue>
Args,
clang::ast_matchers::dynamic::Diagnostics*)
const
Declared at: clang/lib/ASTMatchers/Dynamic/Marshallers.h:1007
Parameters
- clang::ast_matchers::dynamic::SourceRange
- ArrayRef< clang::ast_matchers::dynamic::ParserValue> Args
- clang::ast_matchers::dynamic::Diagnostics*
¶clang::ast_matchers::dynamic::VariantMatcher
create(clang::ast_matchers::dynamic::SourceRange,
ArrayRef<clang::ast_matchers::dynamic::
ParserValue>,
clang::ast_matchers::dynamic::Diagnostics*)
const
clang::ast_matchers::dynamic::VariantMatcher
create(clang::ast_matchers::dynamic::SourceRange,
ArrayRef<clang::ast_matchers::dynamic::
ParserValue>,
clang::ast_matchers::dynamic::Diagnostics*)
const
Declared at: clang/lib/ASTMatchers/Dynamic/Marshallers.h:999
Parameters
- clang::ast_matchers::dynamic::SourceRange
- ArrayRef< clang::ast_matchers::dynamic::ParserValue>
- clang::ast_matchers::dynamic::Diagnostics*
¶void getArgKinds(
clang::ASTNodeKind ThisKind,
unsigned int,
std::vector<ArgKind>& ArgKinds) const
void getArgKinds(
clang::ASTNodeKind ThisKind,
unsigned int,
std::vector<ArgKind>& ArgKinds) const
Description
Given that the matcher is being converted to type \p ThisKind, append the set of argument types accepted for argument \p ArgNo to \p ArgKinds.
Declared at: clang/lib/ASTMatchers/Dynamic/Marshallers.h:1036
Parameters
- clang::ASTNodeKind ThisKind
- unsigned int
- std::vector<ArgKind>& ArgKinds
¶unsigned int getNumArgs() const
unsigned int getNumArgs() const
Description
Returns the number of arguments accepted by the matcher if not variadic.
Declared at: clang/lib/ASTMatchers/Dynamic/Marshallers.h:1034
¶bool isBuilderMatcher() const
bool isBuilderMatcher() const
Declared at: clang/lib/ASTMatchers/Dynamic/Marshallers.h:1004
¶bool isConvertibleTo(
clang::ASTNodeKind Kind,
unsigned int* Specificity = nullptr,
clang::ASTNodeKind* LeastDerivedKind =
nullptr) const
bool isConvertibleTo(
clang::ASTNodeKind Kind,
unsigned int* Specificity = nullptr,
clang::ASTNodeKind* LeastDerivedKind =
nullptr) const
Description
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.
Declared at: clang/lib/ASTMatchers/Dynamic/Marshallers.h:1040
Parameters
- clang::ASTNodeKind Kind
- unsigned int* Specificity = nullptr
- clang::ASTNodeKind* LeastDerivedKind = nullptr
¶bool isPolymorphic() const
bool isPolymorphic() const
Description
Returns whether the matcher will, given a matcher of any type T, yield a matcher of type T.
Declared at: clang/lib/ASTMatchers/Dynamic/Marshallers.h:1049
¶bool isVariadic() const
bool isVariadic() const
Description
Returns whether the matcher is variadic. Variadic matchers can take any number of arguments, but they must be of the same type.
Declared at: clang/lib/ASTMatchers/Dynamic/Marshallers.h:1032