MLIR 22.0.0git
mlir::detail::AsmParserImpl< BaseT > Class Template Reference

This class provides the implementation of the generic parser methods within AsmParser. More...

#include "AsmParser/AsmParserImpl.h"

Inheritance diagram for mlir::detail::AsmParserImpl< BaseT >:

Public Types

using Delimiter = AsmParser::Delimiter

Public Member Functions

 AsmParserImpl (SMLoc nameLoc, Parser &parser)
 ~AsmParserImpl () override=default
SMLoc getNameLoc () const override
 Return the location of the original name token.
bool didEmitError () const
 Return if any errors were emitted during parsing.
InFlightDiagnostic emitError (SMLoc loc, const Twine &message) override
 Emit a diagnostic at the specified location and return failure.
BuildergetBuilder () const override
 Return a builder which provides useful access to MLIRContext, global objects like types and attributes.
SMLoc getCurrentLocation () override
 Get the location of the next token and store it into the argument.
Location getEncodedSourceLoc (SMLoc loc) override
 Re-encode the given source location as an MLIR location and return it.
ParseResult parseArrow () override
 Parse a -> token.
ParseResult parseOptionalArrow () override
 Parses a -> if present.
ParseResult parseLBrace () override
 Parse a '{' token.
ParseResult parseOptionalLBrace () override
 Parse a '{' token if present.
ParseResult parseRBrace () override
 Parse a } token.
ParseResult parseOptionalRBrace () override
 Parse a } token if present.
ParseResult parseColon () override
 Parse a : token.
ParseResult parseOptionalColon () override
 Parse a : token if present.
ParseResult parseComma () override
 Parse a , token.
ParseResult parseOptionalComma () override
 Parse a , token if present.
ParseResult parseEllipsis () override
 Parses a ....
ParseResult parseOptionalEllipsis () override
 Parses a ... if present.
ParseResult parseEqual () override
 Parse a = token.
ParseResult parseOptionalEqual () override
 Parse a = token if present.
ParseResult parseLess () override
 Parse a '<' token.
ParseResult parseOptionalLess () override
 Parse a < token if present.
ParseResult parseGreater () override
 Parse a '>' token.
ParseResult parseOptionalGreater () override
 Parse a > token if present.
ParseResult parseLParen () override
 Parse a ( token.
ParseResult parseOptionalLParen () override
 Parses a '(' if present.
ParseResult parseRParen () override
 Parse a ) token.
ParseResult parseOptionalRParen () override
 Parses a ')' if present.
ParseResult parseLSquare () override
 Parse a [ token.
ParseResult parseOptionalLSquare () override
 Parses a '[' if present.
ParseResult parseRSquare () override
 Parse a ] token.
ParseResult parseOptionalRSquare () override
 Parses a ']' if present.
ParseResult parseQuestion () override
 Parses a '?' token.
ParseResult parseOptionalQuestion () override
 Parses a '?' if present.
ParseResult parseSlash () override
 Parses a '/' token.
ParseResult parseOptionalSlash () override
 Parses a '/' if present.
ParseResult parseStar () override
 Parses a '*' token.
ParseResult parseOptionalStar () override
 Parses a '*' if present.
ParseResult parsePlus () override
 Parses a '+' token.
ParseResult parseOptionalPlus () override
 Parses a '+' token if present.
ParseResult parseMinus () override
 Parses a '-' token.
ParseResult parseOptionalMinus () override
 Parses a '-' token if present.
ParseResult parseVerticalBar () override
 Parse a '|' token.
ParseResult parseOptionalVerticalBar () override
 Parse a '|' token if present.
ParseResult parseOptionalString (std::string *string) override
 Parses a quoted string token if present.
ParseResult parseBase64Bytes (std::vector< char > *bytes) override
 Parses a Base64 encoded string of bytes.
ParseResult parseFloat (const llvm::fltSemantics &semantics, APFloat &result) override
 Parse a floating point value with given semantics from the stream.
ParseResult parseFloat (double &result) override
 Parse a floating point value from the stream.
OptionalParseResult parseOptionalInteger (APInt &result) override
 Parse an optional integer value from the stream.
OptionalParseResult parseOptionalDecimalInteger (APInt &result) override
 Parse an optional integer value from the stream.
ParseResult parseCommaSeparatedList (Delimiter delimiter, function_ref< ParseResult()> parseElt, StringRef contextMessage) override
 Parse a list of comma-separated items with an optional delimiter.
ParseResult parseKeyword (StringRef keyword, const Twine &msg) override
ParseResult parseOptionalKeyword (StringRef keyword) override
 Parse the given keyword if present.
ParseResult parseOptionalKeyword (StringRef *keyword) override
 Parse a keyword, if present, into 'keyword'.
ParseResult parseOptionalKeyword (StringRef *keyword, ArrayRef< StringRef > allowedKeywords) override
 Parse a keyword if it is one of the 'allowedKeywords'.
ParseResult parseOptionalKeywordOrString (std::string *result) override
 Parse an optional keyword or string and set instance into 'result'.`.
ParseResult parseAttribute (Attribute &result, Type type) override
 Parse an arbitrary attribute and return it in result.
ParseResult parseCustomAttributeWithFallback (Attribute &result, Type type, function_ref< ParseResult(Attribute &result, Type type)> parseAttribute) override
 Parse a custom attribute with the provided callback, unless the next token is #, in which case the generic parser is invoked.
ParseResult parseCustomTypeWithFallback (Type &result, function_ref< ParseResult(Type &result)> parseType) override
 Parse a custom attribute with the provided callback, unless the next token is #, in which case the generic parser is invoked.
OptionalParseResult parseOptionalAttribute (Attribute &result, Type type) override
OptionalParseResult parseOptionalAttribute (ArrayAttr &result, Type type) override
OptionalParseResult parseOptionalAttribute (StringAttr &result, Type type) override
OptionalParseResult parseOptionalAttribute (SymbolRefAttr &result, Type type) override
ParseResult parseOptionalAttrDict (NamedAttrList &result) override
 Parse a named dictionary into 'result' if it is present.
ParseResult parseOptionalAttrDictWithKeyword (NamedAttrList &result) override
 Parse a named dictionary into 'result' if the attributes keyword is present.
ParseResult parseAffineMap (AffineMap &map) override
 Parse an affine map instance into 'map'.
ParseResult parseAffineExpr (ArrayRef< std::pair< StringRef, AffineExpr > > symbolSet, AffineExpr &expr) override
 Parse an affine expr instance into 'expr' using the already computed mapping from symbols to affine expressions in 'symbolSet'.
ParseResult parseIntegerSet (IntegerSet &set) override
 Parse an integer set instance into 'set'.
ParseResult parseOptionalSymbolName (StringAttr &result) override
 Parse an optional -identifier and store it (without the '@' symbol) in a string attribute named 'attrName'.
FailureOr< AsmDialectResourceHandleparseResourceHandle (Dialect *dialect) override
 Parse a handle to a resource within the assembly format.
ParseResult parseType (Type &result) override
 Parse a type.
OptionalParseResult parseOptionalType (Type &result) override
 Parse an optional type.
ParseResult parseArrowTypeList (SmallVectorImpl< Type > &result) override
 Parse an arrow followed by a type list.
ParseResult parseOptionalArrowTypeList (SmallVectorImpl< Type > &result) override
 Parse an optional arrow followed by a type list.
ParseResult parseColonType (Type &result) override
 Parse a colon followed by a type.
ParseResult parseColonTypeList (SmallVectorImpl< Type > &result) override
 Parse a colon followed by a type list, which must have at least one type.
ParseResult parseOptionalColonTypeList (SmallVectorImpl< Type > &result) override
 Parse an optional colon followed by a type list, which if present must have at least one type.
ParseResult parseDimensionList (SmallVectorImpl< int64_t > &dimensions, bool allowDynamic, bool withTrailingX) override
ParseResult parseXInDimensionList () override
LogicalResult pushCyclicParsing (const void *opaquePointer) override
void popCyclicParsing () override
ParseResult parseKeywordOrCompletion (StringRef *keyword) override
 Parse a keyword, or an empty string if the current location signals a code completion.
void codeCompleteExpectedTokens (ArrayRef< StringRef > tokens) override
 Signal the code completion of a set of expected tokens.
ParseResult parseKeyword (StringRef keyword)
 Parse a given keyword.
ParseResult parseKeyword (StringRef *keyword)
 Parse a keyword into 'keyword'.

Protected Attributes

SMLoc nameLoc
 The source location of the dialect symbol.
Parserparser
 The main parser.
bool emittedError = false
 A flag that indicates if any errors were emitted during parsing.

Detailed Description

template<typename BaseT>
class mlir::detail::AsmParserImpl< BaseT >

This class provides the implementation of the generic parser methods within AsmParser.

Definition at line 28 of file AsmParserImpl.h.

Member Typedef Documentation

◆ Delimiter

template<typename BaseT>
using mlir::detail::AsmParserImpl< BaseT >::Delimiter = AsmParser::Delimiter

Definition at line 67 of file AsmParserImpl.h.

Constructor & Destructor Documentation

◆ AsmParserImpl()

template<typename BaseT>
mlir::detail::AsmParserImpl< BaseT >::AsmParserImpl ( SMLoc nameLoc,
Parser & parser )
inline

Definition at line 30 of file AsmParserImpl.h.

References nameLoc, and parser.

◆ ~AsmParserImpl()

template<typename BaseT>
mlir::detail::AsmParserImpl< BaseT >::~AsmParserImpl ( )
overridedefault

Member Function Documentation

◆ codeCompleteExpectedTokens()

template<typename BaseT>
void mlir::detail::AsmParserImpl< BaseT >::codeCompleteExpectedTokens ( ArrayRef< StringRef > tokens)
inlineoverride

Signal the code completion of a set of expected tokens.

Definition at line 599 of file AsmParserImpl.h.

References mlir::Token::getSpelling(), mlir::Token::isCodeCompletion(), and parser.

◆ didEmitError()

template<typename BaseT>
bool mlir::detail::AsmParserImpl< BaseT >::didEmitError ( ) const
inline

Return if any errors were emitted during parsing.

Definition at line 42 of file AsmParserImpl.h.

References emittedError.

◆ emitError()

template<typename BaseT>
InFlightDiagnostic mlir::detail::AsmParserImpl< BaseT >::emitError ( SMLoc loc,
const Twine & message )
inlineoverride

Emit a diagnostic at the specified location and return failure.

Definition at line 45 of file AsmParserImpl.h.

References emittedError, and parser.

Referenced by parseBase64Bytes(), and parseKeyword().

◆ getBuilder()

template<typename BaseT>
Builder & mlir::detail::AsmParserImpl< BaseT >::getBuilder ( ) const
inlineoverride

Return a builder which provides useful access to MLIRContext, global objects like types and attributes.

Definition at line 52 of file AsmParserImpl.h.

References parser.

Referenced by parseOptionalSymbolName().

◆ getCurrentLocation()

template<typename BaseT>
SMLoc mlir::detail::AsmParserImpl< BaseT >::getCurrentLocation ( )
inlineoverride

Get the location of the next token and store it into the argument.

This always succeeds.

Definition at line 56 of file AsmParserImpl.h.

References parser.

Referenced by parseBase64Bytes(), and parseKeyword().

◆ getEncodedSourceLoc()

template<typename BaseT>
Location mlir::detail::AsmParserImpl< BaseT >::getEncodedSourceLoc ( SMLoc loc)
inlineoverride

Re-encode the given source location as an MLIR location and return it.

Definition at line 59 of file AsmParserImpl.h.

References parser.

◆ getNameLoc()

template<typename BaseT>
SMLoc mlir::detail::AsmParserImpl< BaseT >::getNameLoc ( ) const
inlineoverride

Return the location of the original name token.

Definition at line 35 of file AsmParserImpl.h.

References nameLoc.

◆ parseAffineExpr()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseAffineExpr ( ArrayRef< std::pair< StringRef, AffineExpr > > symbolSet,
AffineExpr & expr )
inlineoverride

Parse an affine expr instance into 'expr' using the already computed mapping from symbols to affine expressions in 'symbolSet'.

Definition at line 464 of file AsmParserImpl.h.

References parser.

◆ parseAffineMap()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseAffineMap ( AffineMap & map)
inlineoverride

Parse an affine map instance into 'map'.

Definition at line 457 of file AsmParserImpl.h.

References parser.

◆ parseArrow()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseArrow ( )
inlineoverride

Parse a -> token.

Definition at line 70 of file AsmParserImpl.h.

References parser.

Referenced by parseArrowTypeList().

◆ parseArrowTypeList()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseArrowTypeList ( SmallVectorImpl< Type > & result)
inlineoverride

Parse an arrow followed by a type list.

Definition at line 528 of file AsmParserImpl.h.

References parseArrow(), parser, result, and success().

◆ parseAttribute()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseAttribute ( Attribute & result,
Type type )
inlineoverride

Parse an arbitrary attribute and return it in result.

Definition at line 396 of file AsmParserImpl.h.

References parser, result, and success().

Referenced by parseCustomAttributeWithFallback().

◆ parseBase64Bytes()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseBase64Bytes ( std::vector< char > * bytes)
inlineoverride

Parses a Base64 encoded string of bytes.

Definition at line 265 of file AsmParserImpl.h.

References emitError(), getCurrentLocation(), parser, success(), and mlir::toString().

◆ parseColon()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseColon ( )
inlineoverride

Parse a : token.

Definition at line 100 of file AsmParserImpl.h.

References parser.

◆ parseColonType()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseColonType ( Type & result)
inlineoverride

Parse a colon followed by a type.

Definition at line 543 of file AsmParserImpl.h.

References parser, and result.

◆ parseColonTypeList()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseColonTypeList ( SmallVectorImpl< Type > & result)
inlineoverride

Parse a colon followed by a type list, which must have at least one type.

Definition at line 549 of file AsmParserImpl.h.

References parser, and result.

◆ parseComma()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseComma ( )
inlineoverride

Parse a , token.

Definition at line 110 of file AsmParserImpl.h.

References parser.

◆ parseCommaSeparatedList()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseCommaSeparatedList ( Delimiter delimiter,
function_ref< ParseResult()> parseElt,
StringRef contextMessage )
inlineoverride

Parse a list of comma-separated items with an optional delimiter.

If a delimiter is provided, then an empty list is allowed. If not, then at least one element will be parsed.

Definition at line 326 of file AsmParserImpl.h.

References parser.

◆ parseCustomAttributeWithFallback()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseCustomAttributeWithFallback ( Attribute & result,
Type type,
function_ref< ParseResult(Attribute &result, Type type)> parseAttribute )
inlineoverride

Parse a custom attribute with the provided callback, unless the next token is #, in which case the generic parser is invoked.

Definition at line 403 of file AsmParserImpl.h.

References parseAttribute(), parser, result, and success().

◆ parseCustomTypeWithFallback()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseCustomTypeWithFallback ( Type & result,
function_ref< ParseResult(Type &result)> parseType )
inlineoverride

Parse a custom attribute with the provided callback, unless the next token is #, in which case the generic parser is invoked.

Definition at line 415 of file AsmParserImpl.h.

References parser, parseType(), result, and success().

◆ parseDimensionList()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseDimensionList ( SmallVectorImpl< int64_t > & dimensions,
bool allowDynamic,
bool withTrailingX )
inlineoverride

Definition at line 564 of file AsmParserImpl.h.

References parser.

◆ parseEllipsis()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseEllipsis ( )
inlineoverride

Parses a ....

Definition at line 120 of file AsmParserImpl.h.

References parser.

◆ parseEqual()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseEqual ( )
inlineoverride

Parse a = token.

Definition at line 130 of file AsmParserImpl.h.

References parser.

◆ parseFloat() [1/2]

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseFloat ( const llvm::fltSemantics & semantics,
APFloat & result )
inlineoverride

Parse a floating point value with given semantics from the stream.

Since this implementation parses the string as double precision and only afterwards converts the value to the requested semantic, precision may be lost.

Definition at line 290 of file AsmParserImpl.h.

References parser, result, and success().

Referenced by parseFloat().

◆ parseFloat() [2/2]

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseFloat ( double & result)
inlineoverride

Parse a floating point value from the stream.

Definition at line 304 of file AsmParserImpl.h.

References parseFloat(), result, and success().

◆ parseGreater()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseGreater ( )
inlineoverride

Parse a '>' token.

Definition at line 150 of file AsmParserImpl.h.

References parser.

◆ parseIntegerSet()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseIntegerSet ( IntegerSet & set)
inlineoverride

Parse an integer set instance into 'set'.

Definition at line 470 of file AsmParserImpl.h.

References parser.

◆ parseKeyword() [1/3]

template<typename BaseT>
ParseResult mlir::AsmParser::parseKeyword ( StringRef * keyword)
inline

Parse a keyword into 'keyword'.

Definition at line 932 of file OpImplementation.h.

◆ parseKeyword() [2/3]

template<typename BaseT>
ParseResult mlir::AsmParser::parseKeyword ( StringRef keyword)
inline

Parse a given keyword.

Definition at line 926 of file OpImplementation.h.

◆ parseKeyword() [3/3]

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseKeyword ( StringRef keyword,
const Twine & msg )
inlineoverride

◆ parseKeywordOrCompletion()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseKeywordOrCompletion ( StringRef * keyword)
inlineoverride

Parse a keyword, or an empty string if the current location signals a code completion.

Definition at line 589 of file AsmParserImpl.h.

References mlir::Token::getSpelling(), mlir::Token::isCodeCompletion(), parseKeyword(), parser, and success().

◆ parseLBrace()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseLBrace ( )
inlineoverride

Parse a '{' token.

Definition at line 80 of file AsmParserImpl.h.

References parser.

◆ parseLess()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseLess ( )
inlineoverride

Parse a '<' token.

Definition at line 140 of file AsmParserImpl.h.

References parser.

◆ parseLParen()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseLParen ( )
inlineoverride

Parse a ( token.

Definition at line 160 of file AsmParserImpl.h.

References parser.

◆ parseLSquare()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseLSquare ( )
inlineoverride

Parse a [ token.

Definition at line 180 of file AsmParserImpl.h.

References parser.

◆ parseMinus()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseMinus ( )
inlineoverride

Parses a '-' token.

Definition at line 240 of file AsmParserImpl.h.

References parser.

◆ parseOptionalArrow()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalArrow ( )
inlineoverride

Parses a -> if present.

Definition at line 75 of file AsmParserImpl.h.

References parser, and success().

◆ parseOptionalArrowTypeList()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalArrowTypeList ( SmallVectorImpl< Type > & result)
inlineoverride

Parse an optional arrow followed by a type list.

Definition at line 536 of file AsmParserImpl.h.

References parser, result, and success().

◆ parseOptionalAttrDict()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalAttrDict ( NamedAttrList & result)
inlineoverride

Parse a named dictionary into 'result' if it is present.

Definition at line 442 of file AsmParserImpl.h.

References parser, result, and success().

◆ parseOptionalAttrDictWithKeyword()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalAttrDictWithKeyword ( NamedAttrList & result)
inlineoverride

Parse a named dictionary into 'result' if the attributes keyword is present.

Definition at line 450 of file AsmParserImpl.h.

References parseOptionalKeyword(), parser, result, and success().

◆ parseOptionalAttribute() [1/4]

template<typename BaseT>
OptionalParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalAttribute ( ArrayAttr & result,
Type type )
inlineoverride

Definition at line 428 of file AsmParserImpl.h.

References ArrayAttr(), parser, and result.

◆ parseOptionalAttribute() [2/4]

template<typename BaseT>
OptionalParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalAttribute ( Attribute & result,
Type type )
inlineoverride

Definition at line 424 of file AsmParserImpl.h.

References parser, and result.

◆ parseOptionalAttribute() [3/4]

template<typename BaseT>
OptionalParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalAttribute ( StringAttr & result,
Type type )
inlineoverride

Definition at line 432 of file AsmParserImpl.h.

References parser, and result.

◆ parseOptionalAttribute() [4/4]

template<typename BaseT>
OptionalParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalAttribute ( SymbolRefAttr & result,
Type type )
inlineoverride

Definition at line 436 of file AsmParserImpl.h.

References parser, and result.

◆ parseOptionalColon()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalColon ( )
inlineoverride

Parse a : token if present.

Definition at line 105 of file AsmParserImpl.h.

References parser, and success().

◆ parseOptionalColonTypeList()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalColonTypeList ( SmallVectorImpl< Type > & result)
inlineoverride

Parse an optional colon followed by a type list, which if present must have at least one type.

Definition at line 558 of file AsmParserImpl.h.

References parser, result, and success().

◆ parseOptionalComma()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalComma ( )
inlineoverride

Parse a , token if present.

Definition at line 115 of file AsmParserImpl.h.

References parser, and success().

◆ parseOptionalDecimalInteger()

template<typename BaseT>
OptionalParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalDecimalInteger ( APInt & result)
inlineoverride

Parse an optional integer value from the stream.

Definition at line 319 of file AsmParserImpl.h.

References parser, and result.

◆ parseOptionalEllipsis()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalEllipsis ( )
inlineoverride

Parses a ... if present.

Definition at line 125 of file AsmParserImpl.h.

References parser, and success().

◆ parseOptionalEqual()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalEqual ( )
inlineoverride

Parse a = token if present.

Definition at line 135 of file AsmParserImpl.h.

References parser, and success().

◆ parseOptionalGreater()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalGreater ( )
inlineoverride

Parse a > token if present.

Definition at line 155 of file AsmParserImpl.h.

References parser, and success().

◆ parseOptionalInteger()

template<typename BaseT>
OptionalParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalInteger ( APInt & result)
inlineoverride

Parse an optional integer value from the stream.

Definition at line 314 of file AsmParserImpl.h.

References parser, and result.

◆ parseOptionalKeyword() [1/3]

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalKeyword ( StringRef * keyword)
inlineoverride

Parse a keyword, if present, into 'keyword'.

Definition at line 361 of file AsmParserImpl.h.

References parser.

◆ parseOptionalKeyword() [2/3]

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalKeyword ( StringRef * keyword,
ArrayRef< StringRef > allowedKeywords )
inlineoverride

Parse a keyword if it is one of the 'allowedKeywords'.

Definition at line 367 of file AsmParserImpl.h.

References parser, and success().

◆ parseOptionalKeyword() [3/3]

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalKeyword ( StringRef keyword)
inlineoverride

Parse the given keyword if present.

Definition at line 348 of file AsmParserImpl.h.

References parser, and success().

Referenced by parseKeyword(), and parseOptionalAttrDictWithKeyword().

◆ parseOptionalKeywordOrString()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalKeywordOrString ( std::string * result)
inlineoverride

Parse an optional keyword or string and set instance into 'result'.`.

Definition at line 387 of file AsmParserImpl.h.

References parser, and result.

◆ parseOptionalLBrace()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalLBrace ( )
inlineoverride

Parse a '{' token if present.

Definition at line 85 of file AsmParserImpl.h.

References parser, and success().

◆ parseOptionalLess()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalLess ( )
inlineoverride

Parse a < token if present.

Definition at line 145 of file AsmParserImpl.h.

References parser, and success().

◆ parseOptionalLParen()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalLParen ( )
inlineoverride

Parses a '(' if present.

Definition at line 165 of file AsmParserImpl.h.

References parser, and success().

◆ parseOptionalLSquare()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalLSquare ( )
inlineoverride

Parses a '[' if present.

Definition at line 185 of file AsmParserImpl.h.

References parser, and success().

◆ parseOptionalMinus()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalMinus ( )
inlineoverride

Parses a '-' token if present.

Definition at line 245 of file AsmParserImpl.h.

References parser, and success().

◆ parseOptionalPlus()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalPlus ( )
inlineoverride

Parses a '+' token if present.

Definition at line 235 of file AsmParserImpl.h.

References parser, and success().

◆ parseOptionalQuestion()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalQuestion ( )
inlineoverride

Parses a '?' if present.

Definition at line 205 of file AsmParserImpl.h.

References parser, and success().

◆ parseOptionalRBrace()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalRBrace ( )
inlineoverride

Parse a } token if present.

Definition at line 95 of file AsmParserImpl.h.

References parser, and success().

◆ parseOptionalRParen()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalRParen ( )
inlineoverride

Parses a ')' if present.

Definition at line 175 of file AsmParserImpl.h.

References parser, and success().

◆ parseOptionalRSquare()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalRSquare ( )
inlineoverride

Parses a ']' if present.

Definition at line 195 of file AsmParserImpl.h.

References parser, and success().

◆ parseOptionalSlash()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalSlash ( )
inlineoverride

Parses a '/' if present.

Definition at line 215 of file AsmParserImpl.h.

References parser, and success().

◆ parseOptionalStar()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalStar ( )
inlineoverride

Parses a '*' if present.

Definition at line 225 of file AsmParserImpl.h.

References parser, and success().

◆ parseOptionalString()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalString ( std::string * string)
inlineoverride

Parses a quoted string token if present.

Definition at line 260 of file AsmParserImpl.h.

References parser.

◆ parseOptionalSymbolName()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalSymbolName ( StringAttr & result)
inlineoverride

Parse an optional -identifier and store it (without the '@' symbol) in a string attribute named 'attrName'.

Definition at line 480 of file AsmParserImpl.h.

References getBuilder(), mlir::Token::getLocRange(), mlir::Builder::getStringAttr(), mlir::Token::getSymbolReference(), mlir::Token::isNot(), parser, result, and success().

◆ parseOptionalType()

template<typename BaseT>
OptionalParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalType ( Type & result)
inlineoverride

Parse an optional type.

Definition at line 523 of file AsmParserImpl.h.

References parser, and result.

◆ parseOptionalVerticalBar()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseOptionalVerticalBar ( )
inlineoverride

Parse a '|' token if present.

Definition at line 255 of file AsmParserImpl.h.

References parser, and success().

◆ parsePlus()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parsePlus ( )
inlineoverride

Parses a '+' token.

Definition at line 230 of file AsmParserImpl.h.

References parser.

◆ parseQuestion()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseQuestion ( )
inlineoverride

Parses a '?' token.

Definition at line 200 of file AsmParserImpl.h.

References parser.

◆ parseRBrace()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseRBrace ( )
inlineoverride

Parse a } token.

Definition at line 90 of file AsmParserImpl.h.

References parser.

◆ parseResourceHandle()

template<typename BaseT>
FailureOr< AsmDialectResourceHandle > mlir::detail::AsmParserImpl< BaseT >::parseResourceHandle ( Dialect * dialect)
inlineoverride

Parse a handle to a resource within the assembly format.

Definition at line 503 of file AsmParserImpl.h.

References mlir::Dialect::getNamespace(), and parser.

◆ parseRParen()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseRParen ( )
inlineoverride

Parse a ) token.

Definition at line 170 of file AsmParserImpl.h.

References parser.

◆ parseRSquare()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseRSquare ( )
inlineoverride

Parse a ] token.

Definition at line 190 of file AsmParserImpl.h.

References parser.

◆ parseSlash()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseSlash ( )
inlineoverride

Parses a '/' token.

Definition at line 210 of file AsmParserImpl.h.

References parser.

◆ parseStar()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseStar ( )
inlineoverride

Parses a '*' token.

Definition at line 220 of file AsmParserImpl.h.

References parser.

◆ parseType()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseType ( Type & result)
inlineoverride

Parse a type.

Definition at line 518 of file AsmParserImpl.h.

References parser, and result.

Referenced by parseCustomTypeWithFallback().

◆ parseVerticalBar()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseVerticalBar ( )
inlineoverride

Parse a '|' token.

Definition at line 250 of file AsmParserImpl.h.

References parser.

◆ parseXInDimensionList()

template<typename BaseT>
ParseResult mlir::detail::AsmParserImpl< BaseT >::parseXInDimensionList ( )
inlineoverride

Definition at line 571 of file AsmParserImpl.h.

References parser.

◆ popCyclicParsing()

template<typename BaseT>
void mlir::detail::AsmParserImpl< BaseT >::popCyclicParsing ( )
inlineoverride

Definition at line 579 of file AsmParserImpl.h.

References parser.

◆ pushCyclicParsing()

template<typename BaseT>
LogicalResult mlir::detail::AsmParserImpl< BaseT >::pushCyclicParsing ( const void * opaquePointer)
inlineoverride

Definition at line 575 of file AsmParserImpl.h.

References parser, and success().

Member Data Documentation

◆ emittedError

template<typename BaseT>
bool mlir::detail::AsmParserImpl< BaseT >::emittedError = false
protected

A flag that indicates if any errors were emitted during parsing.

Definition at line 613 of file AsmParserImpl.h.

Referenced by didEmitError(), and emitError().

◆ nameLoc

template<typename BaseT>
SMLoc mlir::detail::AsmParserImpl< BaseT >::nameLoc
protected

The source location of the dialect symbol.

Definition at line 607 of file AsmParserImpl.h.

Referenced by AsmParserImpl(), and getNameLoc().

◆ parser

template<typename BaseT>
Parser& mlir::detail::AsmParserImpl< BaseT >::parser
protected

The main parser.

Definition at line 610 of file AsmParserImpl.h.

Referenced by AsmParserImpl(), codeCompleteExpectedTokens(), emitError(), getBuilder(), getCurrentLocation(), getEncodedSourceLoc(), parseAffineExpr(), parseAffineMap(), parseArrow(), parseArrowTypeList(), parseAttribute(), parseBase64Bytes(), parseColon(), parseColonType(), parseColonTypeList(), parseComma(), parseCommaSeparatedList(), parseCustomAttributeWithFallback(), parseCustomTypeWithFallback(), parseDimensionList(), parseEllipsis(), parseEqual(), parseFloat(), parseGreater(), parseIntegerSet(), parseKeyword(), parseKeywordOrCompletion(), parseLBrace(), parseLess(), parseLParen(), parseLSquare(), parseMinus(), parseOptionalArrow(), parseOptionalArrowTypeList(), parseOptionalAttrDict(), parseOptionalAttrDictWithKeyword(), parseOptionalAttribute(), parseOptionalAttribute(), parseOptionalAttribute(), parseOptionalAttribute(), parseOptionalColon(), parseOptionalColonTypeList(), parseOptionalComma(), parseOptionalDecimalInteger(), parseOptionalEllipsis(), parseOptionalEqual(), parseOptionalGreater(), parseOptionalInteger(), parseOptionalKeyword(), parseOptionalKeyword(), parseOptionalKeyword(), parseOptionalKeywordOrString(), parseOptionalLBrace(), parseOptionalLess(), parseOptionalLParen(), parseOptionalLSquare(), parseOptionalMinus(), parseOptionalPlus(), parseOptionalQuestion(), parseOptionalRBrace(), parseOptionalRParen(), parseOptionalRSquare(), parseOptionalSlash(), parseOptionalStar(), parseOptionalString(), parseOptionalSymbolName(), parseOptionalType(), parseOptionalVerticalBar(), parsePlus(), parseQuestion(), parseRBrace(), parseResourceHandle(), parseRParen(), parseRSquare(), parseSlash(), parseStar(), parseType(), parseVerticalBar(), parseXInDimensionList(), popCyclicParsing(), and pushCyclicParsing().


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