clang  3.7.0
Public Types | Public Member Functions | List of all members
clang::ast_matchers::dynamic::internal::VariadicOperatorMatcherDescriptor Class Reference

Variadic operator marshaller function. More...

#include <Marshallers.h>

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

Public Types

typedef
DynTypedMatcher::VariadicOperator 
VarOp
 

Public Member Functions

 VariadicOperatorMatcherDescriptor (unsigned MinCount, unsigned MaxCount, VarOp Op, StringRef MatcherName)
 
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. More...
 
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
 
- Public Member Functions inherited from clang::ast_matchers::dynamic::internal::MatcherDescriptor
virtual ~MatcherDescriptor ()
 

Detailed Description

Variadic operator marshaller function.

Definition at line 562 of file Marshallers.h.

Member Typedef Documentation

Definition at line 564 of file Marshallers.h.

Constructor & Destructor Documentation

clang::ast_matchers::dynamic::internal::VariadicOperatorMatcherDescriptor::VariadicOperatorMatcherDescriptor ( unsigned  MinCount,
unsigned  MaxCount,
VarOp  Op,
StringRef  MatcherName 
)
inline

Definition at line 565 of file Marshallers.h.

Member Function Documentation

VariantMatcher clang::ast_matchers::dynamic::internal::VariadicOperatorMatcherDescriptor::create ( const SourceRange NameRange,
ArrayRef< ParserValue Args,
Diagnostics Error 
) const
inlineoverridevirtual
void clang::ast_matchers::dynamic::internal::VariadicOperatorMatcherDescriptor::getArgKinds ( ast_type_traits::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 597 of file Marshallers.h.

unsigned clang::ast_matchers::dynamic::internal::VariadicOperatorMatcherDescriptor::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 596 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
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.

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

Definition at line 601 of file Marshallers.h.

bool clang::ast_matchers::dynamic::internal::VariadicOperatorMatcherDescriptor::isPolymorphic ( ) const
inlineoverridevirtual

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

bool clang::ast_matchers::dynamic::internal::VariadicOperatorMatcherDescriptor::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 595 of file Marshallers.h.


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