clang 22.0.0git
clang::ast_matchers::dynamic::Parser::RegistrySema Class Reference

Sema implementation that uses the matcher registry to process the tokens. More...

#include "clang/ASTMatchers/Dynamic/Parser.h"

Inheritance diagram for clang::ast_matchers::dynamic::Parser::RegistrySema:
[legend]

Public Member Functions

 ~RegistrySema () override
std::optional< MatcherCtorlookupMatcherCtor (StringRef MatcherName) override
 Look up a matcher by name.
VariantMatcher actOnMatcherExpression (MatcherCtor Ctor, SourceRange NameRange, StringRef BindID, ArrayRef< ParserValue > Args, Diagnostics *Error) override
 Process a matcher expression.
std::vector< ArgKindgetAcceptedCompletionTypes (llvm::ArrayRef< std::pair< MatcherCtor, unsigned > > Context) override
 Compute the list of completion types for Context.
bool isBuilderMatcher (MatcherCtor Ctor) const override
ASTNodeKind nodeMatcherType (MatcherCtor) const override
internal::MatcherDescriptorPtr buildMatcherCtor (MatcherCtor, SourceRange NameRange, ArrayRef< ParserValue > Args, Diagnostics *Error) const override
std::vector< MatcherCompletiongetMatcherCompletions (llvm::ArrayRef< ArgKind > AcceptedTypes) override
 Compute the list of completions that match any of AcceptedTypes.
Public Member Functions inherited from clang::ast_matchers::dynamic::Parser::Sema
virtual ~Sema ()

Detailed Description

Sema implementation that uses the matcher registry to process the tokens.

Definition at line 137 of file Parser.h.

Constructor & Destructor Documentation

◆ ~RegistrySema()

clang::ast_matchers::dynamic::Parser::RegistrySema::~RegistrySema ( )
overridedefault

Member Function Documentation

◆ actOnMatcherExpression()

VariantMatcher clang::ast_matchers::dynamic::Parser::RegistrySema::actOnMatcherExpression ( MatcherCtor Ctor,
SourceRange NameRange,
StringRef BindID,
ArrayRef< ParserValue > Args,
Diagnostics * Error )
overridevirtual

Process a matcher expression.

All the arguments passed here have already been processed.

Parameters
CtorA matcher constructor looked up by lookupMatcherCtor.
NameRangeThe location of the name in the matcher source. Useful for error reporting.
BindIDThe ID to use to bind the matcher, or a null StringRef if no ID is specified.
ArgsThe argument list for the matcher.
Returns
The matcher objects constructed by the processor, or a null matcher if an error occurred. In that case, Error will contain a description of the error.

Implements clang::ast_matchers::dynamic::Parser::Sema.

Definition at line 843 of file Parser.cpp.

References actOnMatcherExpression(), clang::ast_matchers::dynamic::Registry::constructBoundMatcher(), and clang::ast_matchers::dynamic::Registry::constructMatcher().

Referenced by actOnMatcherExpression().

◆ buildMatcherCtor()

internal::MatcherDescriptorPtr clang::ast_matchers::dynamic::Parser::RegistrySema::buildMatcherCtor ( MatcherCtor Ctor,
SourceRange NameRange,
ArrayRef< ParserValue > Args,
Diagnostics * Error ) const
overridevirtual

◆ getAcceptedCompletionTypes()

std::vector< ArgKind > clang::ast_matchers::dynamic::Parser::RegistrySema::getAcceptedCompletionTypes ( llvm::ArrayRef< std::pair< MatcherCtor, unsigned > > Context)
overridevirtual

Compute the list of completion types for Context.

Each element of Context represents a matcher invocation, going from outermost to innermost. Elements are pairs consisting of a reference to the matcher constructor and the index of the next element in the argument list of that matcher (or for the last element, the index of the completion point in the argument list). An empty list requests completion for the root matcher.

Reimplemented from clang::ast_matchers::dynamic::Parser::Sema.

Definition at line 854 of file Parser.cpp.

References getAcceptedCompletionTypes(), and clang::ast_matchers::dynamic::Registry::getAcceptedCompletionTypes().

Referenced by getAcceptedCompletionTypes().

◆ getMatcherCompletions()

std::vector< MatcherCompletion > clang::ast_matchers::dynamic::Parser::RegistrySema::getMatcherCompletions ( llvm::ArrayRef< ArgKind > AcceptedTypes)
overridevirtual

Compute the list of completions that match any of AcceptedTypes.

Parameters
AcceptedTypesAll types accepted for this completion.
Returns
All completions for the specified types. Completions should be valid when used in lookupMatcherCtor(). The matcher constructed from the return of lookupMatcherCtor() should be convertible to some type in AcceptedTypes.

Reimplemented from clang::ast_matchers::dynamic::Parser::Sema.

Definition at line 859 of file Parser.cpp.

References getMatcherCompletions(), and clang::ast_matchers::dynamic::Registry::getMatcherCompletions().

Referenced by getMatcherCompletions().

◆ isBuilderMatcher()

bool clang::ast_matchers::dynamic::Parser::RegistrySema::isBuilderMatcher ( MatcherCtor Ctor) const
overridevirtual

◆ lookupMatcherCtor()

std::optional< MatcherCtor > clang::ast_matchers::dynamic::Parser::RegistrySema::lookupMatcherCtor ( StringRef MatcherName)
overridevirtual

Look up a matcher by name.

Parameters
MatcherNameThe matcher name found by the parser.
Returns
The matcher constructor, or std::optional<MatcherCtor>() if not found.

Implements clang::ast_matchers::dynamic::Parser::Sema.

Definition at line 839 of file Parser.cpp.

References lookupMatcherCtor(), and clang::ast_matchers::dynamic::Registry::lookupMatcherCtor().

Referenced by lookupMatcherCtor().

◆ nodeMatcherType()

ASTNodeKind clang::ast_matchers::dynamic::Parser::RegistrySema::nodeMatcherType ( MatcherCtor Ctor) const
overridevirtual

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