class Parser::RegistrySema

Declaration

class Parser::RegistrySema : public Sema { /* full declaration omitted */ };

Description

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

Declared at: clang/include/clang/ASTMatchers/Dynamic/Parser.h:137

Inherits from: Parser::Sema

Method Overview

  • public clang::ast_matchers::dynamic::VariantMatcher actOnMatcherExpression(clang::ast_matchers::dynamic::MatcherCtor Ctor, clang::ast_matchers::dynamic::SourceRange NameRange, llvm::StringRef BindID, ArrayRef<clang::ast_matchers::dynamic::ParserValue> Args, clang::ast_matchers::dynamic::Diagnostics * Error)
  • public internal::MatcherDescriptorPtr buildMatcherCtor(clang::ast_matchers::dynamic::MatcherCtor, clang::ast_matchers::dynamic::SourceRange NameRange, ArrayRef<clang::ast_matchers::dynamic::ParserValue> Args, clang::ast_matchers::dynamic::Diagnostics * Error) const
  • public std::vector<ArgKind> getAcceptedCompletionTypes(llvm::ArrayRef<std::pair<MatcherCtor, unsigned int>> Context)
  • public std::vector<MatcherCompletion> getMatcherCompletions(llvm::ArrayRef<ArgKind> AcceptedTypes)
  • public bool isBuilderMatcher(clang::ast_matchers::dynamic::MatcherCtor Ctor) const
  • public llvm::Optional<MatcherCtor> lookupMatcherCtor(llvm::StringRef MatcherName)
  • public clang::ASTNodeKind nodeMatcherType(clang::ast_matchers::dynamic::MatcherCtor) const
  • public ~RegistrySema()

Inherited from Parser::Sema:

Methods

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

Description

Process a matcher expression. All the arguments passed here have already been processed.

Declared at: clang/include/clang/ASTMatchers/Dynamic/Parser.h:144

Parameters

clang::ast_matchers::dynamic::MatcherCtor Ctor
A matcher constructor looked up by lookupMatcherCtor.
clang::ast_matchers::dynamic::SourceRange NameRange
The location of the name in the matcher source. Useful for error reporting.
llvm::StringRef BindID
The ID to use to bind the matcher, or a null \c StringRef if no ID is specified.
ArrayRef< clang::ast_matchers::dynamic::ParserValue> Args
The argument list for the matcher.
clang::ast_matchers::dynamic::Diagnostics* Error

Returns

The matcher objects constructed by the processor, or a null matcher if an error occurred. In that case, \c Error will contain a description of the error.

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

Declared at: clang/include/clang/ASTMatchers/Dynamic/Parser.h:158

Parameters

clang::ast_matchers::dynamic::MatcherCtor
clang::ast_matchers::dynamic::SourceRange NameRange
ArrayRef< clang::ast_matchers::dynamic::ParserValue> Args
clang::ast_matchers::dynamic::Diagnostics* Error

std::vector<ArgKind> getAcceptedCompletionTypes(
    llvm::ArrayRef<
        std::pair<MatcherCtor, unsigned int>>
        Context)

Description

Compute the list of completion types for \p Context. Each element of \p 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.

Declared at: clang/include/clang/ASTMatchers/Dynamic/Parser.h:150

Parameters

llvm::ArrayRef< std::pair<MatcherCtor, unsigned int>> Context

std::vector<MatcherCompletion>
getMatcherCompletions(
    llvm::ArrayRef<ArgKind> AcceptedTypes)

Description

Compute the list of completions that match any of\p AcceptedTypes.

Declared at: clang/include/clang/ASTMatchers/Dynamic/Parser.h:163

Parameters

llvm::ArrayRef<ArgKind> AcceptedTypes
All types accepted for this completion.

Returns

All completions for the specified types. Completions should be valid when used in \c lookupMatcherCtor(). The matcher constructed from the return of \c lookupMatcherCtor() should be convertible to some type in \p AcceptedTypes.

bool isBuilderMatcher(
    clang::ast_matchers::dynamic::MatcherCtor
        Ctor) const

Declared at: clang/include/clang/ASTMatchers/Dynamic/Parser.h:153

Parameters

clang::ast_matchers::dynamic::MatcherCtor Ctor

llvm::Optional<MatcherCtor> lookupMatcherCtor(
    llvm::StringRef MatcherName)

Description

Look up a matcher by name.

Declared at: clang/include/clang/ASTMatchers/Dynamic/Parser.h:142

Parameters

llvm::StringRef MatcherName
The matcher name found by the parser.

Returns

The matcher constructor, or Optional <MatcherCtor >() if not found.

clang::ASTNodeKind nodeMatcherType(
    clang::ast_matchers::dynamic::MatcherCtor)
    const

Declared at: clang/include/clang/ASTMatchers/Dynamic/Parser.h:155

Parameters

clang::ast_matchers::dynamic::MatcherCtor

~RegistrySema()

Declared at: clang/include/clang/ASTMatchers/Dynamic/Parser.h:139