clang API Documentation

Public Member Functions
clang::ast_matchers::dynamic::internal::OverloadedMatcherDescriptor Class Reference

MatcherDescriptor that wraps multiple "overloads" of the same matcher. More...

#include <Marshallers.h>

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

List of all members.

Public Member Functions

 OverloadedMatcherDescriptor (ArrayRef< MatcherDescriptor * > Callbacks)
virtual ~OverloadedMatcherDescriptor ()
virtual VariantMatcher create (const SourceRange &NameRange, ArrayRef< ParserValue > Args, Diagnostics *Error) const
bool isVariadic () const
unsigned getNumArgs () const
 Returns the number of arguments accepted by the matcher if not variadic.
void getArgKinds (ast_type_traits::ASTNodeKind ThisKind, unsigned ArgNo, std::vector< ArgKind > &Kinds) const
bool isConvertibleTo (ast_type_traits::ASTNodeKind Kind, unsigned *Specificity, ast_type_traits::ASTNodeKind *LeastDerivedKind) const

Detailed Description

MatcherDescriptor that wraps multiple "overloads" of the same matcher.

It will try every overload and generate appropriate errors for when none or more than one overloads match the arguments.

Definition at line 485 of file Marshallers.h.


Constructor & Destructor Documentation

Definition at line 487 of file Marshallers.h.

Definition at line 490 of file Marshallers.h.


Member Function Documentation

virtual VariantMatcher clang::ast_matchers::dynamic::internal::OverloadedMatcherDescriptor::create ( const SourceRange NameRange,
ArrayRef< ParserValue Args,
Diagnostics Error 
) const [inline, virtual]
void clang::ast_matchers::dynamic::internal::OverloadedMatcherDescriptor::getArgKinds ( ast_type_traits::ASTNodeKind  ThisKind,
unsigned  ArgNo,
std::vector< ArgKind > &  ArgKinds 
) const [inline, virtual]

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

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

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

Definition at line 525 of file Marshallers.h.

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

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


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