clang 10.0.0git

Public Member Functions | List of all members
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]
Collaboration diagram for clang::ast_matchers::dynamic::Parser::RegistrySema:
[legend]

## Public Member Functions
| ~RegistrySema () override
llvm::Optional< MatcherCtor > | lookupMatcherCtor (StringRef MatcherName) override
| Look up a matcher by name. More...
VariantMatcher | actOnMatcherExpression (MatcherCtor Ctor, SourceRange NameRange, StringRef BindID, ArrayRef< ParserValue > Args, Diagnostics *Error) override
| Process a matcher expression. More...
std::vector< ArgKind > | getAcceptedCompletionTypes (llvm::ArrayRef< std::pair< MatcherCtor, unsigned >> Context) override
| Compute the list of completion types for `Context`. More...
std::vector< MatcherCompletion > | getMatcherCompletions (llvm::ArrayRef< ArgKind > AcceptedTypes) override
| Compute the list of completions that match any of `AcceptedTypes`. More...
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 129 of file Parser.h.

## Constructor & Destructor Documentation

## ◆ ~RegistrySema()

clang::ast_matchers::dynamic::Parser::RegistrySema::~RegistrySema | ( |  | ) |
| override default

## Member Function Documentation

## ◆ actOnMatcherExpression()

VariantMatcher clang::ast_matchers::dynamic::Parser::RegistrySema::actOnMatcherExpression | ( | MatcherCtor | Ctor,
|  | 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

  Ctor | A matcher constructor looked up by lookupMatcherCtor.
  NameRange | The location of the name in the matcher source. Useful for error reporting.
  BindID | The ID to use to bind the matcher, or a null `StringRef` if no ID is specified.
  Args | The 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 639 of file Parser.cpp.

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

## ◆ getAcceptedCompletionTypes()

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 650 of file Parser.cpp.

## ◆ getMatcherCompletions()

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

  AcceptedTypes | All 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 655 of file Parser.cpp.

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

## ◆ lookupMatcherCtor()

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

Look up a matcher by name.

Parameters

  MatcherName | The 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 635 of file Parser.cpp.

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

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

- include/clang/ASTMatchers/Dynamic/Parser.h
- lib/ASTMatchers/Dynamic/Parser.cpp