#include "Parser.h"
#include <vector>
namespace mlir::query::matcher::internal {
struct Parser::TokenInfo { … };
const char *const Parser::TokenInfo::ID_Extract = …;
class Parser::CodeTokenizer { … };
Parser::Sema::~Sema() = default;
std::vector<ArgKind> Parser::Sema::getAcceptedCompletionTypes(
llvm::ArrayRef<std::pair<MatcherCtor, unsigned>> context) { … }
std::vector<MatcherCompletion>
Parser::Sema::getMatcherCompletions(llvm::ArrayRef<ArgKind> acceptedTypes) { … }
struct Parser::ScopedContextEntry { … };
bool Parser::parseIdentifierPrefixImpl(VariantValue *value) { … }
bool Parser::parseChainedExpression(std::string &argument) { … }
bool Parser::parseMatcherArgs(std::vector<ParserValue> &args, MatcherCtor ctor,
const TokenInfo &nameToken, TokenInfo &endToken) { … }
bool Parser::parseMatcherExpressionImpl(const TokenInfo &nameToken,
const TokenInfo &openToken,
std::optional<MatcherCtor> ctor,
VariantValue *value) { … }
void Parser::addCompletion(const TokenInfo &compToken,
const MatcherCompletion &completion) { … }
std::vector<MatcherCompletion>
Parser::getNamedValueCompletions(llvm::ArrayRef<ArgKind> acceptedTypes) { … }
void Parser::addExpressionCompletions() { … }
bool Parser::parseExpressionImpl(VariantValue *value) { … }
Parser::Parser(CodeTokenizer *tokenizer, const Registry &matcherRegistry,
const NamedValueMap *namedValues, Diagnostics *error)
: … { … }
Parser::RegistrySema::~RegistrySema() = default;
std::optional<MatcherCtor>
Parser::RegistrySema::lookupMatcherCtor(llvm::StringRef matcherName) { … }
VariantMatcher Parser::RegistrySema::actOnMatcherExpression(
MatcherCtor ctor, SourceRange nameRange, llvm::StringRef functionName,
llvm::ArrayRef<ParserValue> args, Diagnostics *error) { … }
std::vector<ArgKind> Parser::RegistrySema::getAcceptedCompletionTypes(
llvm::ArrayRef<std::pair<MatcherCtor, unsigned>> context) { … }
std::vector<MatcherCompletion> Parser::RegistrySema::getMatcherCompletions(
llvm::ArrayRef<ArgKind> acceptedTypes) { … }
bool Parser::parseExpression(llvm::StringRef &code,
const Registry &matcherRegistry,
const NamedValueMap *namedValues,
VariantValue *value, Diagnostics *error) { … }
std::vector<MatcherCompletion>
Parser::completeExpression(llvm::StringRef &code, unsigned completionOffset,
const Registry &matcherRegistry,
const NamedValueMap *namedValues) { … }
std::optional<DynMatcher> Parser::parseMatcherExpression(
llvm::StringRef &code, const Registry &matcherRegistry,
const NamedValueMap *namedValues, Diagnostics *error) { … }
}