diff options
| author | Jordan Woyak <jordan.woyak@gmail.com> | 2025-01-17 02:07:23 -0600 |
|---|---|---|
| committer | Jordan Woyak <jordan.woyak@gmail.com> | 2025-01-17 02:31:33 -0600 |
| commit | a618854413b50f6056e4cf614e8b8c447cdd9611 (patch) | |
| tree | 1705f2fc160a82989b1d5ab4167d299fe8c6514a /Source/Core/InputCommon/ControlReference/ExpressionParser.cpp | |
| parent | c94ec85460070b91f9c337dec59b7f9f45e0f825 (diff) | |
ExpressionParser: Remove RemoveInertTokens.
Diffstat (limited to 'Source/Core/InputCommon/ControlReference/ExpressionParser.cpp')
| -rw-r--r-- | Source/Core/InputCommon/ControlReference/ExpressionParser.cpp | 21 |
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; |
