clang API Documentation

Public Member Functions
clang::ast_matchers::dynamic::Parser::RegistrySema Class Reference

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

#include <Parser.h>

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

List of all members.

Public Member Functions

virtual ~RegistrySema ()
llvm::Optional< MatcherCtorlookupMatcherCtor (StringRef MatcherName) override
 Look up a matcher by name.
VariantMatcher actOnMatcherExpression (MatcherCtor Ctor, const 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.
std::vector< MatcherCompletiongetMatcherCompletions (llvm::ArrayRef< ArgKind > AcceptedTypes) override
 Compute the list of completions that match any of AcceptedTypes.

Detailed Description

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

Definition at line 124 of file ASTMatchers/Dynamic/Parser.h.


Constructor & Destructor Documentation

Definition at line 529 of file ASTMatchers/Dynamic/Parser.cpp.


Member Function Documentation

VariantMatcher clang::ast_matchers::dynamic::Parser::RegistrySema::actOnMatcherExpression ( MatcherCtor  Ctor,
const SourceRange NameRange,
StringRef  BindID,
ArrayRef< ParserValue Args,
Diagnostics Error 
) [override, virtual]

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 536 of file ASTMatchers/Dynamic/Parser.cpp.

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

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 547 of file ASTMatchers/Dynamic/Parser.cpp.

References Context.

std::vector< MatcherCompletion > clang::ast_matchers::dynamic::Parser::RegistrySema::getMatcherCompletions ( llvm::ArrayRef< ArgKind AcceptedTypes) [override, virtual]

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 552 of file ASTMatchers/Dynamic/Parser.cpp.

llvm::Optional< MatcherCtor > clang::ast_matchers::dynamic::Parser::RegistrySema::lookupMatcherCtor ( StringRef  MatcherName) [override, virtual]

Look up a matcher by name.

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

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

Definition at line 532 of file ASTMatchers/Dynamic/Parser.cpp.


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