clang 24.0.0git
clang::ast_matchers::dynamic::internal::DynCastAllOfMatcherDescriptor Class Reference

Matcher descriptor for VariadicDynCastAllOfMatchers. More...

#include "/work/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/ASTMatchers/Dynamic/Marshallers.h"

Inheritance diagram for clang::ast_matchers::dynamic::internal::DynCastAllOfMatcherDescriptor:
[legend]

Public Member Functions

 DynCastAllOfMatcherDescriptor (ASTNodeKind BaseKind, ASTNodeKind DerivedKind)
VariantMatcher create (SourceRange NameRange, ArrayRef< ParserValue > Args, Diagnostics *Error) const override
bool isVariadic () const override
 Returns whether the matcher is variadic.
unsigned getNumArgs () const override
 Returns the number of arguments accepted by the matcher if not variadic.
void getArgKinds (ASTNodeKind, unsigned, std::vector< ArgKind > &Kinds) const override
 Given that the matcher is being converted to type ThisKind, append the set of argument types accepted for argument ArgNo to ArgKinds.
bool isConvertibleTo (ASTNodeKind Kind, unsigned *Specificity, ASTNodeKind *LeastDerivedKind) const override
 Returns whether this matcher is convertible to the given type.
ASTNodeKind nodeMatcherType () const override
Public Member Functions inherited from clang::ast_matchers::dynamic::internal::MatcherDescriptor
virtual ~MatcherDescriptor ()=default
virtual bool isBuilderMatcher () const
virtual std::unique_ptr< MatcherDescriptor > buildMatcherCtor (SourceRange NameRange, ArrayRef< ParserValue > Args, Diagnostics *Error) const
virtual bool isPolymorphic () const
 Returns whether the matcher will, given a matcher of any type T, yield a matcher of type T.

Detailed Description

Matcher descriptor for VariadicDynCastAllOfMatchers.

Definition at line 588 of file Marshallers.h.

Constructor & Destructor Documentation

◆ DynCastAllOfMatcherDescriptor()

clang::ast_matchers::dynamic::internal::DynCastAllOfMatcherDescriptor::DynCastAllOfMatcherDescriptor ( ASTNodeKind BaseKind,
ASTNodeKind DerivedKind )
inline

Definition at line 590 of file Marshallers.h.

Member Function Documentation

◆ create()

◆ getArgKinds()

void clang::ast_matchers::dynamic::internal::DynCastAllOfMatcherDescriptor::getArgKinds ( ASTNodeKind ThisKind,
unsigned ArgNo,
std::vector< ArgKind > & ArgKinds ) const
inlineoverridevirtual

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 599 of file Marshallers.h.

References clang::ast_matchers::dynamic::ArgKind::MakeMatcherArg().

◆ getNumArgs()

unsigned clang::ast_matchers::dynamic::internal::DynCastAllOfMatcherDescriptor::getNumArgs ( ) const
inlineoverridevirtual

Returns the number of arguments accepted by the matcher if not variadic.

Implements clang::ast_matchers::dynamic::internal::MatcherDescriptor.

Definition at line 597 of file Marshallers.h.

◆ isConvertibleTo()

bool clang::ast_matchers::dynamic::internal::DynCastAllOfMatcherDescriptor::isConvertibleTo ( ASTNodeKind Kind,
unsigned * Specificity,
ASTNodeKind * LeastDerivedKind ) const
overridevirtual

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 50 of file Marshallers.cpp.

References clang::ast_matchers::dynamic::internal::isRetKindConvertibleTo().

◆ isVariadic()

bool clang::ast_matchers::dynamic::internal::DynCastAllOfMatcherDescriptor::isVariadic ( ) const
inlineoverridevirtual

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 596 of file Marshallers.h.

◆ nodeMatcherType()

ASTNodeKind clang::ast_matchers::dynamic::internal::DynCastAllOfMatcherDescriptor::nodeMatcherType ( ) const
inlineoverridevirtual

Reimplemented from clang::ast_matchers::dynamic::internal::MatcherDescriptor.

Definition at line 607 of file Marshallers.h.


The documentation for this class was generated from the following files: