[mlir] Add `parseSymbolName` that doesn't take an attribute list
This patch adds a version of `parseSymbolName` and `parseOptionalSymbolName` to AsmParser that don't take an attribute name and attribute list. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D136696
This commit is contained in:
parent
ea1e767a06
commit
c0095050da
|
@ -1010,20 +1010,38 @@ public:
|
|||
//===--------------------------------------------------------------------===//
|
||||
|
||||
/// Parse an @-identifier and store it (without the '@' symbol) in a string
|
||||
/// attribute named 'attrName'.
|
||||
ParseResult parseSymbolName(StringAttr &result, StringRef attrName,
|
||||
NamedAttrList &attrs) {
|
||||
if (failed(parseOptionalSymbolName(result, attrName, attrs)))
|
||||
/// attribute.
|
||||
ParseResult parseSymbolName(StringAttr &result) {
|
||||
if (failed(parseOptionalSymbolName(result)))
|
||||
return emitError(getCurrentLocation())
|
||||
<< "expected valid '@'-identifier for symbol name";
|
||||
return success();
|
||||
}
|
||||
|
||||
/// Parse an @-identifier and store it (without the '@' symbol) in a string
|
||||
/// attribute named 'attrName'.
|
||||
ParseResult parseSymbolName(StringAttr &result, StringRef attrName,
|
||||
NamedAttrList &attrs) {
|
||||
if (parseSymbolName(result))
|
||||
return failure();
|
||||
attrs.append(attrName, result);
|
||||
return success();
|
||||
}
|
||||
|
||||
/// Parse an optional @-identifier and store it (without the '@' symbol) in a
|
||||
/// string attribute.
|
||||
virtual ParseResult parseOptionalSymbolName(StringAttr &result) = 0;
|
||||
|
||||
/// Parse an optional @-identifier and store it (without the '@' symbol) in a
|
||||
/// string attribute named 'attrName'.
|
||||
virtual ParseResult parseOptionalSymbolName(StringAttr &result,
|
||||
StringRef attrName,
|
||||
NamedAttrList &attrs) = 0;
|
||||
ParseResult parseOptionalSymbolName(StringAttr &result, StringRef attrName,
|
||||
NamedAttrList &attrs) {
|
||||
if (succeeded(parseOptionalSymbolName(result))) {
|
||||
attrs.append(attrName, result);
|
||||
return success();
|
||||
}
|
||||
return failure();
|
||||
}
|
||||
|
||||
//===--------------------------------------------------------------------===//
|
||||
// Resource Parsing
|
||||
|
|
|
@ -439,14 +439,12 @@ public:
|
|||
|
||||
/// Parse an optional @-identifier and store it (without the '@' symbol) in a
|
||||
/// string attribute named 'attrName'.
|
||||
ParseResult parseOptionalSymbolName(StringAttr &result, StringRef attrName,
|
||||
NamedAttrList &attrs) override {
|
||||
ParseResult parseOptionalSymbolName(StringAttr &result) override {
|
||||
Token atToken = parser.getToken();
|
||||
if (atToken.isNot(Token::at_identifier))
|
||||
return failure();
|
||||
|
||||
result = getBuilder().getStringAttr(atToken.getSymbolReference());
|
||||
attrs.push_back(getBuilder().getNamedAttr(attrName, result));
|
||||
parser.consumeToken();
|
||||
|
||||
// If we are populating the assembly parser state, record this as a symbol
|
||||
|
|
Loading…
Reference in New Issue