clang  6.0.0svn
Public Member Functions | List of all members
clang::ast_matchers::dynamic::internal::DynCastAllOfMatcherDescriptor Class Reference

Return CK_Trivial when appropriate for VariadicDynCastAllOfMatchers. More...

#include "/opt/doxygen-docs/src/llvm/tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h"

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

Public Member Functions

template<typename BaseT , typename DerivedT >
 DynCastAllOfMatcherDescriptor (ast_matchers::internal::VariadicDynCastAllOfMatcher< BaseT, DerivedT > Func, StringRef MatcherName)
 
bool isConvertibleTo (ast_type_traits::ASTNodeKind Kind, unsigned *Specificity, ast_type_traits::ASTNodeKind *LeastDerivedKind) const override
 Returns whether this matcher is convertible to the given type. More...
 
- Public Member Functions inherited from clang::ast_matchers::dynamic::internal::VariadicFuncMatcherDescriptor
template<typename ResultT , typename ArgT , ResultT(*)(ArrayRef< const ArgT *>) F>
 VariadicFuncMatcherDescriptor (ast_matchers::internal::VariadicFunction< ResultT, ArgT, F > Func, StringRef MatcherName)
 
VariantMatcher create (SourceRange NameRange, ArrayRef< ParserValue > Args, Diagnostics *Error) const override
 
bool isVariadic () const override
 Returns whether the matcher is variadic. More...
 
unsigned getNumArgs () const override
 Returns the number of arguments accepted by the matcher if not variadic. More...
 
void getArgKinds (ast_type_traits::ASTNodeKind ThisKind, unsigned ArgNo, 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. More...
 
- Public Member Functions inherited from clang::ast_matchers::dynamic::internal::MatcherDescriptor
virtual ~MatcherDescriptor ()=default
 
virtual bool isPolymorphic () const
 Returns whether the matcher will, given a matcher of any type T, yield a matcher of type T. More...
 

Additional Inherited Members

- Public Types inherited from clang::ast_matchers::dynamic::internal::VariadicFuncMatcherDescriptor
using RunFunc = VariantMatcher(*)(StringRef MatcherName, SourceRange NameRange, ArrayRef< ParserValue > Args, Diagnostics *Error)
 

Detailed Description

Return CK_Trivial when appropriate for VariadicDynCastAllOfMatchers.

Definition at line 440 of file Marshallers.h.

Constructor & Destructor Documentation

◆ DynCastAllOfMatcherDescriptor()

template<typename BaseT , typename DerivedT >
clang::ast_matchers::dynamic::internal::DynCastAllOfMatcherDescriptor::DynCastAllOfMatcherDescriptor ( ast_matchers::internal::VariadicDynCastAllOfMatcher< BaseT, DerivedT >  Func,
StringRef  MatcherName 
)
inline

Definition at line 443 of file Marshallers.h.

Member Function Documentation

◆ isConvertibleTo()

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

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.

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

Definition at line 451 of file Marshallers.h.

References clang::ast_type_traits::ASTNodeKind::isBaseOf(), clang::ast_matchers::dynamic::internal::VariadicFuncMatcherDescriptor::isConvertibleTo(), and clang::ast_type_traits::ASTNodeKind::isSame().


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