Skip to content

Commit b6a9618

Browse files
committed
[MCParser] Rename confusing variable names
https://reviews.llvm.org/D24047 added `IsAtStartOfStatement` to MCAsmLexer, while its subclass AsmLexer had a variable of the same name. The assignment in `UnLex` is unnecessary, which is now removed. 60b403e (2019) named the result `parseStatement` `Parsed`. `HasError` is a clearer name.
1 parent 1d7bd3b commit b6a9618

File tree

4 files changed

+15
-20
lines changed

4 files changed

+15
-20
lines changed

llvm/include/llvm/MC/MCParser/AsmLexer.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class AsmLexer {
5353
const MCAsmInfo &MAI;
5454

5555
bool IsAtStartOfLine = true;
56-
bool AtStartOfStatement = true;
56+
bool JustConsumedEOL = true;
5757
bool IsPeeking = false;
5858
bool EndStatementAtEOF = true;
5959

@@ -91,7 +91,7 @@ class AsmLexer {
9191
const AsmToken &Lex() {
9292
assert(!CurTok.empty());
9393
// Mark if we parsing out a EndOfStatement.
94-
AtStartOfStatement = CurTok.front().getKind() == AsmToken::EndOfStatement;
94+
JustConsumedEOL = CurTok.front().getKind() == AsmToken::EndOfStatement;
9595
CurTok.erase(CurTok.begin());
9696
// LexToken may generate multiple tokens via UnLex but will always return
9797
// the first one. Place returned value at head of CurTok vector.
@@ -103,11 +103,10 @@ class AsmLexer {
103103
}
104104

105105
void UnLex(AsmToken const &Token) {
106-
AtStartOfStatement = false;
107106
CurTok.insert(CurTok.begin(), Token);
108107
}
109108

110-
bool isAtStartOfStatement() { return AtStartOfStatement; }
109+
bool justConsumedEOL() { return JustConsumedEOL; }
111110

112111
StringRef LexUntilEndOfStatement();
113112

llvm/lib/MC/MCParser/AsmParser.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -981,20 +981,19 @@ bool AsmParser::Run(bool NoInitialTextSection, bool NoFinalize) {
981981
// While we have input, parse each statement.
982982
while (Lexer.isNot(AsmToken::Eof)) {
983983
ParseStatementInfo Info(&AsmStrRewrites);
984-
bool Parsed = parseStatement(Info, nullptr);
984+
bool HasError = parseStatement(Info, nullptr);
985985

986986
// If we have a Lexer Error we are on an Error Token. Load in Lexer Error
987987
// for printing ErrMsg via Lex() only if no (presumably better) parser error
988988
// exists.
989-
if (Parsed && !hasPendingError() && Lexer.getTok().is(AsmToken::Error)) {
989+
if (HasError && !hasPendingError() && Lexer.getTok().is(AsmToken::Error))
990990
Lex();
991-
}
992991

993992
// parseStatement returned true so may need to emit an error.
994993
printPendingErrors();
995994

996995
// Skipping to the next line if needed.
997-
if (Parsed && !getLexer().isAtStartOfStatement())
996+
if (HasError && !getLexer().justConsumedEOL())
998997
eatToEndOfStatement();
999998
}
1000999

llvm/lib/MC/MCParser/MasmParser.cpp

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1100,17 +1100,18 @@ bool MasmParser::expandMacros() {
11001100
const AsmToken &MasmParser::Lex(ExpandKind ExpandNextToken) {
11011101
if (Lexer.getTok().is(AsmToken::Error))
11021102
Error(Lexer.getErrLoc(), Lexer.getErr());
1103+
bool StartOfStatement = false;
11031104

11041105
// if it's a end of statement with a comment in it
11051106
if (getTok().is(AsmToken::EndOfStatement)) {
11061107
// if this is a line comment output it.
11071108
if (!getTok().getString().empty() && getTok().getString().front() != '\n' &&
11081109
getTok().getString().front() != '\r' && MAI.preserveAsmComments())
11091110
Out.addExplicitComment(Twine(getTok().getString()));
1111+
StartOfStatement = true;
11101112
}
11111113

11121114
const AsmToken *tok = &Lexer.Lex();
1113-
bool StartOfStatement = Lexer.isAtStartOfStatement();
11141115

11151116
while (ExpandNextToken == ExpandMacros && tok->is(AsmToken::Identifier)) {
11161117
if (StartOfStatement) {
@@ -1203,20 +1204,19 @@ bool MasmParser::Run(bool NoInitialTextSection, bool NoFinalize) {
12031204
Lex();
12041205

12051206
ParseStatementInfo Info(&AsmStrRewrites);
1206-
bool Parsed = parseStatement(Info, nullptr);
1207+
bool HasError = parseStatement(Info, nullptr);
12071208

12081209
// If we have a Lexer Error we are on an Error Token. Load in Lexer Error
12091210
// for printing ErrMsg via Lex() only if no (presumably better) parser error
12101211
// exists.
1211-
if (Parsed && !hasPendingError() && Lexer.getTok().is(AsmToken::Error)) {
1212+
if (HasError && !hasPendingError() && Lexer.getTok().is(AsmToken::Error))
12121213
Lex();
1213-
}
12141214

12151215
// parseStatement returned true so may need to emit an error.
12161216
printPendingErrors();
12171217

12181218
// Skipping to the next line if needed.
1219-
if (Parsed && !getLexer().isAtStartOfStatement())
1219+
if (HasError && !getLexer().justConsumedEOL())
12201220
eatToEndOfStatement();
12211221
}
12221222

@@ -2802,25 +2802,24 @@ bool MasmParser::handleMacroInvocation(const MCAsmMacro *M, SMLoc NameLoc) {
28022802
SmallVector<AsmRewrite, 4> AsmStrRewrites;
28032803
while (Lexer.isNot(AsmToken::Eof)) {
28042804
ParseStatementInfo Info(&AsmStrRewrites);
2805-
bool Parsed = parseStatement(Info, nullptr);
2805+
bool HasError = parseStatement(Info, nullptr);
28062806

2807-
if (!Parsed && Info.ExitValue) {
2807+
if (!HasError && Info.ExitValue) {
28082808
ExitValue = std::move(*Info.ExitValue);
28092809
break;
28102810
}
28112811

28122812
// If we have a Lexer Error we are on an Error Token. Load in Lexer Error
28132813
// for printing ErrMsg via Lex() only if no (presumably better) parser error
28142814
// exists.
2815-
if (Parsed && !hasPendingError() && Lexer.getTok().is(AsmToken::Error)) {
2815+
if (HasError && !hasPendingError() && Lexer.getTok().is(AsmToken::Error))
28162816
Lex();
2817-
}
28182817

28192818
// parseStatement returned true so may need to emit an error.
28202819
printPendingErrors();
28212820

28222821
// Skipping to the next line if needed.
2823-
if (Parsed && !getLexer().isAtStartOfStatement())
2822+
if (HasError && !getLexer().justConsumedEOL())
28242823
eatToEndOfStatement();
28252824
}
28262825

llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1097,8 +1097,6 @@ class X86AsmParser : public MCTargetAsmParser {
10971097
bool MatchingInlineAsm = false) {
10981098
MCAsmParser &Parser = getParser();
10991099
if (MatchingInlineAsm) {
1100-
if (!getLexer().isAtStartOfStatement())
1101-
Parser.eatToEndOfStatement();
11021100
return false;
11031101
}
11041102
return Parser.Error(L, Msg, Range);

0 commit comments

Comments
 (0)