Skip to content

Commit e4cf371

Browse files
authored
Merge pull request #11574 from ethereum/ParserBase
[langutil] ParserBase: make advance() overridable and make sure it's used.
2 parents 26598a2 + f561c1e commit e4cf371

File tree

3 files changed

+74
-74
lines changed

3 files changed

+74
-74
lines changed

liblangutil/ParserBase.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ void ParserBase::expectToken(Token _value, bool _advance)
8989
_advance = false;
9090
}
9191
if (_advance)
92-
m_scanner->next();
92+
advance();
9393
}
9494

9595
void ParserBase::expectTokenOrConsumeUntil(Token _value, string const& _currentNodeName, bool _advance)
@@ -102,7 +102,7 @@ void ParserBase::expectTokenOrConsumeUntil(Token _value, string const& _currentN
102102
SourceLocation errorLoc = currentLocation();
103103
int startPosition = errorLoc.start;
104104
while (m_scanner->currentToken() != _value && m_scanner->currentToken() != Token::EOS)
105-
m_scanner->next();
105+
advance();
106106

107107
string const expectedToken = ParserBase::tokenName(_value);
108108
if (m_scanner->currentToken() == Token::EOS)
@@ -126,7 +126,7 @@ void ParserBase::expectTokenOrConsumeUntil(Token _value, string const& _currentN
126126
}
127127

128128
if (_advance)
129-
m_scanner->next();
129+
advance();
130130
}
131131

132132
void ParserBase::increaseRecursionDepth()

liblangutil/ParserBase.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ class ParserBase
8181
Token peekNextToken() const;
8282
std::string tokenName(Token _token);
8383
std::string currentLiteral() const;
84-
Token advance();
84+
virtual Token advance();
8585
///@}
8686

8787
/// Increases the recursion depth and throws an exception if it is too deep.

0 commit comments

Comments
 (0)