clang API Documentation
Matcher expression parser. More...
#include <Parser.h>
Classes | |
class | CodeTokenizer |
Simple tokenizer for the parser. More... | |
class | RegistrySema |
Sema implementation that uses the matcher registry to process the tokens. More... | |
struct | ScopedContextEntry |
class | Sema |
Interface to connect the parser with the registry and more. More... | |
struct | TokenInfo |
Simple structure to hold information for one token from the parser. More... | |
Public Types | |
typedef llvm::StringMap < VariantValue > | NamedValueMap |
Static Public Member Functions | |
static llvm::Optional < DynTypedMatcher > | parseMatcherExpression (StringRef MatcherCode, Sema *S, const NamedValueMap *NamedValues, Diagnostics *Error) |
Parse a matcher expression. | |
static llvm::Optional < DynTypedMatcher > | parseMatcherExpression (StringRef MatcherCode, Sema *S, Diagnostics *Error) |
static llvm::Optional < DynTypedMatcher > | parseMatcherExpression (StringRef MatcherCode, Diagnostics *Error) |
static bool | parseExpression (StringRef Code, Sema *S, const NamedValueMap *NamedValues, VariantValue *Value, Diagnostics *Error) |
Parse an expression. | |
static bool | parseExpression (StringRef Code, Sema *S, VariantValue *Value, Diagnostics *Error) |
static bool | parseExpression (StringRef Code, VariantValue *Value, Diagnostics *Error) |
static std::vector < MatcherCompletion > | completeExpression (StringRef Code, unsigned CompletionOffset, Sema *S, const NamedValueMap *NamedValues) |
Complete an expression at the given offset. | |
static std::vector < MatcherCompletion > | completeExpression (StringRef Code, unsigned CompletionOffset, Sema *S) |
static std::vector < MatcherCompletion > | completeExpression (StringRef Code, unsigned CompletionOffset) |
Matcher expression parser.
Definition at line 50 of file ASTMatchers/Dynamic/Parser.h.
typedef llvm::StringMap<VariantValue> clang::ast_matchers::dynamic::Parser::NamedValueMap |
Definition at line 144 of file ASTMatchers/Dynamic/Parser.h.
std::vector< MatcherCompletion > clang::ast_matchers::dynamic::Parser::completeExpression | ( | StringRef | Code, |
unsigned | CompletionOffset, | ||
Sema * | S, | ||
const NamedValueMap * | NamedValues | ||
) | [static] |
Complete an expression at the given offset.
S | The Sema instance that will help the parser construct the matchers. If null, it uses the default registry. |
NamedValues | A map of precomputed named values. This provides the dictionary for the <NamedValue> rule of the grammar. If null, it is ignored. |
Definition at line 572 of file ASTMatchers/Dynamic/Parser.cpp.
References clang::diag::Error, P, clang::ast_matchers::dynamic::MatcherCompletion::Specificity, and clang::ast_matchers::dynamic::MatcherCompletion::TypedText.
Referenced by completeExpression().
static std::vector<MatcherCompletion> clang::ast_matchers::dynamic::Parser::completeExpression | ( | StringRef | Code, |
unsigned | CompletionOffset, | ||
Sema * | S | ||
) | [inline, static] |
Definition at line 214 of file ASTMatchers/Dynamic/Parser.h.
References completeExpression().
static std::vector<MatcherCompletion> clang::ast_matchers::dynamic::Parser::completeExpression | ( | StringRef | Code, |
unsigned | CompletionOffset | ||
) | [inline, static] |
Definition at line 218 of file ASTMatchers/Dynamic/Parser.h.
References completeExpression().
bool clang::ast_matchers::dynamic::Parser::parseExpression | ( | StringRef | Code, |
Sema * | S, | ||
const NamedValueMap * | NamedValues, | ||
VariantValue * | Value, | ||
Diagnostics * | Error | ||
) | [static] |
Parse an expression.
Parses any expression supported by this parser. In general, the parseMatcherExpression
function is a better approach to get a matcher object.
S | The Sema instance that will help the parser construct the matchers. If null, it uses the default registry. |
NamedValues | A map of precomputed named values. This provides the dictionary for the <NamedValue> rule of the grammar. If null, it is ignored. |
Definition at line 557 of file ASTMatchers/Dynamic/Parser.cpp.
References clang::ast_matchers::dynamic::Diagnostics::addError(), clang::ast_matchers::dynamic::Diagnostics::ET_ParserTrailingCode, clang::ast_matchers::dynamic::Parser::TokenInfo::Kind, clang::ast_matchers::dynamic::Parser::CodeTokenizer::peekNextToken(), and clang::ast_matchers::dynamic::Parser::TokenInfo::Range.
Referenced by parseExpression().
static bool clang::ast_matchers::dynamic::Parser::parseExpression | ( | StringRef | Code, |
Sema * | S, | ||
VariantValue * | Value, | ||
Diagnostics * | Error | ||
) | [inline, static] |
Definition at line 190 of file ASTMatchers/Dynamic/Parser.h.
References parseExpression().
static bool clang::ast_matchers::dynamic::Parser::parseExpression | ( | StringRef | Code, |
VariantValue * | Value, | ||
Diagnostics * | Error | ||
) | [inline, static] |
Definition at line 194 of file ASTMatchers/Dynamic/Parser.h.
References parseExpression().
llvm::Optional< DynTypedMatcher > clang::ast_matchers::dynamic::Parser::parseMatcherExpression | ( | StringRef | MatcherCode, |
Sema * | S, | ||
const NamedValueMap * | NamedValues, | ||
Diagnostics * | Error | ||
) | [static] |
Parse a matcher expression.
MatcherCode | The matcher expression to parse. |
S | The Sema instance that will help the parser construct the matchers. If null, it uses the default registry. |
NamedValues | A map of precomputed named values. This provides the dictionary for the <NamedValue> rule of the grammar. If null, it is ignored. |
Error
will contain a description of the error. The caller takes ownership of the DynTypedMatcher object returned. Definition at line 592 of file ASTMatchers/Dynamic/Parser.cpp.
References clang::ast_matchers::dynamic::Diagnostics::addError(), clang::ast_matchers::dynamic::Diagnostics::ET_ParserNotAMatcher, clang::ast_matchers::dynamic::Diagnostics::ET_ParserOverloadedType, clang::ast_matchers::dynamic::VariantValue::getMatcher(), clang::ast_matchers::dynamic::VariantMatcher::getSingleMatcher(), clang::ast_matchers::dynamic::VariantValue::getTypeAsString(), and clang::ast_matchers::dynamic::VariantValue::isMatcher().
Referenced by parseMatcherExpression().
static llvm::Optional<DynTypedMatcher> clang::ast_matchers::dynamic::Parser::parseMatcherExpression | ( | StringRef | MatcherCode, |
Sema * | S, | ||
Diagnostics * | Error | ||
) | [inline, static] |
Definition at line 166 of file ASTMatchers/Dynamic/Parser.h.
References parseMatcherExpression().
static llvm::Optional<DynTypedMatcher> clang::ast_matchers::dynamic::Parser::parseMatcherExpression | ( | StringRef | MatcherCode, |
Diagnostics * | Error | ||
) | [inline, static] |
Definition at line 171 of file ASTMatchers/Dynamic/Parser.h.
References parseMatcherExpression().