From 5ff5317b159d65326f194b76ff7d747bdcf8e05a Mon Sep 17 00:00:00 2001 From: firewave Date: Fri, 28 Apr 2023 11:21:52 +0200 Subject: [PATCH] changed `VariableMap::mVariableId` and `VariableMap::mVariableId_global` to `std::unordered_map` --- lib/tokenize.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/tokenize.cpp b/lib/tokenize.cpp index 728047479562..81fe6abba57c 100644 --- a/lib/tokenize.cpp +++ b/lib/tokenize.cpp @@ -4014,8 +4014,8 @@ void Tokenizer::simplifyTemplates() /** Class used in Tokenizer::setVarIdPass1 */ class VariableMap { private: - std::map mVariableId; - std::map mVariableId_global; + std::unordered_map mVariableId; + std::unordered_map mVariableId_global; std::stack>> mScopeInfo; mutable nonneg int mVarId{}; public: @@ -4027,7 +4027,7 @@ class VariableMap { return mVariableId.find(varname) != mVariableId.end(); } - const std::map& map(bool global) const { + const std::unordered_map& map(bool global) const { return global ? mVariableId_global : mVariableId; } nonneg int getVarId() const { @@ -4067,7 +4067,7 @@ void VariableMap::addVariable(const std::string& varname, bool globalNamespace) mVariableId_global[varname] = mVariableId[varname]; return; } - std::map::iterator it = mVariableId.find(varname); + std::unordered_map::iterator it = mVariableId.find(varname); if (it == mVariableId.end()) { mScopeInfo.top().emplace_back(varname, 0); mVariableId[varname] = ++mVarId; @@ -4330,7 +4330,7 @@ void Tokenizer::setVarIdClassDeclaration(Token* const startToken, --indentlevel; inEnum = false; } else if (initList && indentlevel == 0 && Token::Match(tok->previous(), "[,:] %name% [({]")) { - const std::map::const_iterator it = variableMap.map(false).find(tok->str()); + const std::unordered_map::const_iterator it = variableMap.map(false).find(tok->str()); if (it != variableMap.map(false).end()) { tok->varId(it->second); } @@ -4348,7 +4348,7 @@ void Tokenizer::setVarIdClassDeclaration(Token* const startToken, } if (!inEnum) { - const std::map::const_iterator it = variableMap.map(false).find(tok->str()); + const std::unordered_map::const_iterator it = variableMap.map(false).find(tok->str()); if (it != variableMap.map(false).end()) { tok->varId(it->second); setVarIdStructMembers(&tok, structMembers, variableMap.getVarId()); @@ -4692,7 +4692,7 @@ void Tokenizer::setVarIdPass1() while (tok != end) { if (tok->isName() && !(Token::simpleMatch(tok->next(), "<") && Token::Match(tok->tokAt(-1), ":: %name%"))) { - const std::map::const_iterator it = variableMap.map(false).find(tok->str()); + const std::unordered_map::const_iterator it = variableMap.map(false).find(tok->str()); if (it != variableMap.map(false).end()) tok->varId(it->second); } @@ -4757,7 +4757,7 @@ void Tokenizer::setVarIdPass1() if ((!scopeStack.top().isEnum || !(Token::Match(tok->previous(), "{|,") && Token::Match(tok->next(), ",|=|}"))) && !Token::simpleMatch(tok->next(), ": ;")) { - const std::map::const_iterator it = variableMap.map(globalNamespace).find(tok->str()); + const std::unordered_map::const_iterator it = variableMap.map(globalNamespace).find(tok->str()); if (it != variableMap.map(globalNamespace).end()) { tok->varId(it->second); setVarIdStructMembers(&tok, structMembers, variableMap.getVarId());