Skip to content

Commit d7b11af

Browse files
committed
updated parseOptionalString/Keyword/KeywordOrString in AsmParserImpl to call Parser's versions
1 parent ec71677 commit d7b11af

File tree

3 files changed

+18
-29
lines changed

3 files changed

+18
-29
lines changed

mlir/lib/AsmParser/AsmParserImpl.h

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -248,13 +248,7 @@ class AsmParserImpl : public BaseT {
248248

249249
/// Parses a quoted string token if present.
250250
ParseResult parseOptionalString(std::string *string) override {
251-
if (!parser.getToken().is(Token::string))
252-
return failure();
253-
254-
if (string)
255-
*string = parser.getToken().getStringValue();
256-
parser.consumeToken();
257-
return success();
251+
return parser.parseOptionalString(string);
258252
}
259253

260254
/// Parses a Base64 encoded string of bytes.
@@ -355,13 +349,7 @@ class AsmParserImpl : public BaseT {
355349

356350
/// Parse a keyword, if present, into 'keyword'.
357351
ParseResult parseOptionalKeyword(StringRef *keyword) override {
358-
// Check that the current token is a keyword.
359-
if (!parser.isCurrentTokenAKeyword())
360-
return failure();
361-
362-
*keyword = parser.getTokenSpelling();
363-
parser.consumeToken();
364-
return success();
352+
return parser.parseOptionalKeyword(keyword);
365353
}
366354

367355
/// Parse a keyword if it is one of the 'allowedKeywords'.
@@ -387,13 +375,7 @@ class AsmParserImpl : public BaseT {
387375

388376
/// Parse an optional keyword or string and set instance into 'result'.`
389377
ParseResult parseOptionalKeywordOrString(std::string *result) override {
390-
StringRef keyword;
391-
if (succeeded(parseOptionalKeyword(&keyword))) {
392-
*result = keyword.str();
393-
return success();
394-
}
395-
396-
return parseOptionalString(result);
378+
return parser.parseOptionalKeywordOrString(result);
397379
}
398380

399381
//===--------------------------------------------------------------------===//

mlir/lib/AsmParser/Parser.cpp

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,17 @@ ParseResult Parser::parseToken(Token::Kind expectedToken,
271271
return emitWrongTokenError(message);
272272
}
273273

274+
/// Parses a quoted string token if present.
275+
ParseResult Parser::parseOptionalString(std::string *string) {
276+
if (!getToken().is(Token::string))
277+
return failure();
278+
279+
if (string)
280+
*string = getToken().getStringValue();
281+
consumeToken();
282+
return success();
283+
}
284+
274285
/// Parse an optional integer value from the stream.
275286
OptionalParseResult Parser::parseOptionalInteger(APInt &result) {
276287
// Parse `false` and `true` keywords as 0 and 1 respectively.
@@ -419,14 +430,7 @@ ParseResult Parser::parseOptionalKeywordOrString(std::string *result) {
419430
return success();
420431
}
421432

422-
// Parse a quoted string token if present.
423-
if (!getToken().is(Token::string))
424-
return failure();
425-
426-
if (result)
427-
*result = getToken().getStringValue();
428-
consumeToken();
429-
return success();
433+
return parseOptionalString(result);
430434
}
431435

432436
//===----------------------------------------------------------------------===//

mlir/lib/AsmParser/Parser.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,9 @@ class Parser {
146146
/// output a diagnostic and return failure.
147147
ParseResult parseToken(Token::Kind expectedToken, const Twine &message);
148148

149+
/// Parses a quoted string token if present.
150+
ParseResult parseOptionalString(std::string *string);
151+
149152
/// Parse an optional integer value from the stream.
150153
OptionalParseResult parseOptionalInteger(APInt &result);
151154

0 commit comments

Comments
 (0)