class Registry

Declaration

class Registry { /* full declaration omitted */ };

Declared at: clang/include/clang/ASTMatchers/Dynamic/Registry.h:82

Method Overview

  • public Registry()
  • public static 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)
  • public static clang::ast_matchers::dynamic::VariantMatcher constructBoundMatcher(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 static clang::ast_matchers::dynamic::VariantMatcher constructMatcher(clang::ast_matchers::dynamic::MatcherCtor Ctor, clang::ast_matchers::dynamic::SourceRange NameRange, ArrayRef<clang::ast_matchers::dynamic::ParserValue> Args, clang::ast_matchers::dynamic::Diagnostics * Error)
  • public static std::vector<ArgKind> getAcceptedCompletionTypes(llvm::ArrayRef<std::pair<MatcherCtor, unsigned int>> Context)
  • public static std::vector<MatcherCompletion> getMatcherCompletions(ArrayRef<clang::ast_matchers::dynamic::ArgKind> AcceptedTypes)
  • public static bool isBuilderMatcher(clang::ast_matchers::dynamic::MatcherCtor Ctor)
  • public static llvm::Optional<MatcherCtor> lookupMatcherCtor(llvm::StringRef MatcherName)
  • public static clang::ASTNodeKind nodeMatcherType(clang::ast_matchers::dynamic::MatcherCtor)

Methods

Registry()

Declared at: clang/include/clang/ASTMatchers/Dynamic/Registry.h:84

static 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)

Declared at: clang/include/clang/ASTMatchers/Dynamic/Registry.h:91

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

static clang::ast_matchers::dynamic::
    VariantMatcher
    constructBoundMatcher(
        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

Construct a matcher from the registry and bind it. Similar the \c constructMatcher() above, but it then tries to bind the matcher to the specified \c BindID. If the matcher is not bindable, it sets an error in \c Error and returns a null matcher.

Declared at: clang/include/clang/ASTMatchers/Dynamic/Registry.h:149

Parameters

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

static clang::ast_matchers::dynamic::
    VariantMatcher
    constructMatcher(
        clang::ast_matchers::dynamic::MatcherCtor
            Ctor,
        clang::ast_matchers::dynamic::SourceRange
            NameRange,
        ArrayRef<clang::ast_matchers::dynamic::
                     ParserValue> Args,
        clang::ast_matchers::dynamic::Diagnostics*
            Error)

Description

Construct a matcher from the registry.

Declared at: clang/include/clang/ASTMatchers/Dynamic/Registry.h:138

Parameters

clang::ast_matchers::dynamic::MatcherCtor Ctor
The matcher constructor to instantiate.
clang::ast_matchers::dynamic::SourceRange NameRange
The location of the name in the matcher source. Useful for error reporting.
ArrayRef< clang::ast_matchers::dynamic::ParserValue> Args
The argument list for the matcher. The number and types of the values must be valid for the matcher requested. Otherwise, the function will return an error.
clang::ast_matchers::dynamic::Diagnostics* Error

Returns

The matcher object constructed if no error was found. A null matcher if the number of arguments or argument types do not match the signature. In that case \c Error will contain the description of the error.

static 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/Registry.h:108

Parameters

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

static std::vector<MatcherCompletion>
getMatcherCompletions(
    ArrayRef<
        clang::ast_matchers::dynamic::ArgKind>
        AcceptedTypes)

Description

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

Declared at: clang/include/clang/ASTMatchers/Dynamic/Registry.h:121

Parameters

ArrayRef<clang::ast_matchers::dynamic::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.

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

Declared at: clang/include/clang/ASTMatchers/Dynamic/Registry.h:88

Parameters

clang::ast_matchers::dynamic::MatcherCtor Ctor

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

Description

Look up a matcher in the registry by name,

Declared at: clang/include/clang/ASTMatchers/Dynamic/Registry.h:98

Parameters

llvm::StringRef MatcherName

Returns

An opaque value which may be used to refer to the matcher constructor, or Optional <MatcherCtor >() if not found.

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

Declared at: clang/include/clang/ASTMatchers/Dynamic/Registry.h:86

Parameters

clang::ast_matchers::dynamic::MatcherCtor