summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControlReference/ExpressionParser.cpp
diff options
context:
space:
mode:
authorJordan Woyak <jordan.woyak@gmail.com>2025-01-17 02:07:23 -0600
committerJordan Woyak <jordan.woyak@gmail.com>2025-01-17 02:31:33 -0600
commita618854413b50f6056e4cf614e8b8c447cdd9611 (patch)
tree1705f2fc160a82989b1d5ab4167d299fe8c6514a /Source/Core/InputCommon/ControlReference/ExpressionParser.cpp
parentc94ec85460070b91f9c337dec59b7f9f45e0f825 (diff)
ExpressionParser: Remove RemoveInertTokens.
Diffstat (limited to 'Source/Core/InputCommon/ControlReference/ExpressionParser.cpp')
-rw-r--r--Source/Core/InputCommon/ControlReference/ExpressionParser.cpp21
1 files changed, 11 insertions, 10 deletions
diff --git a/Source/Core/InputCommon/ControlReference/ExpressionParser.cpp b/Source/Core/InputCommon/ControlReference/ExpressionParser.cpp
index f3cb5206af..00e3200989 100644
--- a/Source/Core/InputCommon/ControlReference/ExpressionParser.cpp
+++ b/Source/Core/InputCommon/ControlReference/ExpressionParser.cpp
@@ -671,6 +671,11 @@ ParseResult ParseResult::MakeErrorResult(Token token, std::string description)
return result;
}
+bool IsInertToken(const Token& tok)
+{
+ return tok.type == TOK_COMMENT || tok.type == TOK_WHITESPACE;
+}
+
class Parser
{
public:
@@ -700,7 +705,12 @@ private:
return tok;
}
- Token Peek() { return *m_it; }
+ Token Peek()
+ {
+ while (IsInertToken(*m_it))
+ ++m_it;
+ return *m_it;
+ }
bool Expects(TokenType type)
{
@@ -959,18 +969,9 @@ static ParseResult ParseComplexExpression(const std::string& str)
if (tokenize_status != ParseStatus::Successful)
return ParseResult::MakeErrorResult(Token(TOK_INVALID),
Common::GetStringT("Tokenizing failed."));
-
- RemoveInertTokens(&tokens);
return ParseTokens(tokens);
}
-void RemoveInertTokens(std::vector<Token>* tokens)
-{
- std::erase_if(*tokens, [](const Token& tok) {
- return tok.type == TOK_COMMENT || tok.type == TOK_WHITESPACE;
- });
-}
-
static std::unique_ptr<Expression> ParseBarewordExpression(const std::string& str)
{
ControlQualifier qualifier;