Skip to content

Commit f6f5596

Browse files
committed
changed VariableMap::mVariableId and VariableMap::mVariableId_global to std::unordered_map
1 parent e904ba1 commit f6f5596

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

lib/tokenize.cpp

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3972,8 +3972,8 @@ void Tokenizer::simplifyTemplates()
39723972
/** Class used in Tokenizer::setVarIdPass1 */
39733973
class VariableMap {
39743974
private:
3975-
std::map<std::string, nonneg int> mVariableId;
3976-
std::map<std::string, nonneg int> mVariableId_global;
3975+
std::unordered_map<std::string, nonneg int> mVariableId;
3976+
std::unordered_map<std::string, nonneg int> mVariableId_global;
39773977
std::stack<std::vector<std::pair<std::string, nonneg int>>> mScopeInfo;
39783978
mutable nonneg int mVarId;
39793979
public:
@@ -3985,7 +3985,7 @@ class VariableMap {
39853985
return mVariableId.find(varname) != mVariableId.end();
39863986
}
39873987

3988-
const std::map<std::string, nonneg int>& map(bool global) const {
3988+
const std::unordered_map<std::string, nonneg int>& map(bool global) const {
39893989
return global ? mVariableId_global : mVariableId;
39903990
}
39913991
nonneg int getVarId() const {
@@ -4025,7 +4025,7 @@ void VariableMap::addVariable(const std::string& varname, bool globalNamespace)
40254025
mVariableId_global[varname] = mVariableId[varname];
40264026
return;
40274027
}
4028-
std::map<std::string, nonneg int>::iterator it = mVariableId.find(varname);
4028+
std::unordered_map<std::string, nonneg int>::iterator it = mVariableId.find(varname);
40294029
if (it == mVariableId.end()) {
40304030
mScopeInfo.top().emplace_back(varname, 0);
40314031
mVariableId[varname] = ++mVarId;
@@ -4277,7 +4277,7 @@ void Tokenizer::setVarIdClassDeclaration(const Token * const startToken,
42774277
--indentlevel;
42784278
inEnum = false;
42794279
} else if (initList && indentlevel == 0 && Token::Match(tok->previous(), "[,:] %name% [({]")) {
4280-
const std::map<std::string, nonneg int>::const_iterator it = variableMap.map(false).find(tok->str());
4280+
const std::unordered_map<std::string, nonneg int>::const_iterator it = variableMap.map(false).find(tok->str());
42814281
if (it != variableMap.map(false).end()) {
42824282
tok->varId(it->second);
42834283
}
@@ -4295,7 +4295,7 @@ void Tokenizer::setVarIdClassDeclaration(const Token * const startToken,
42954295
}
42964296

42974297
if (!inEnum) {
4298-
const std::map<std::string, nonneg int>::const_iterator it = variableMap.map(false).find(tok->str());
4298+
const std::unordered_map<std::string, nonneg int>::const_iterator it = variableMap.map(false).find(tok->str());
42994299
if (it != variableMap.map(false).end()) {
43004300
tok->varId(it->second);
43014301
setVarIdStructMembers(&tok, structMembers, variableMap.getVarId());
@@ -4637,7 +4637,7 @@ void Tokenizer::setVarIdPass1()
46374637
while (tok != end) {
46384638
if (tok->isName() && !(Token::simpleMatch(tok->next(), "<") &&
46394639
Token::Match(tok->tokAt(-1), ":: %name%"))) {
4640-
const std::map<std::string, nonneg int>::const_iterator it = variableMap.map(false).find(tok->str());
4640+
const std::unordered_map<std::string, nonneg int>::const_iterator it = variableMap.map(false).find(tok->str());
46414641
if (it != variableMap.map(false).end())
46424642
tok->varId(it->second);
46434643
}
@@ -4702,7 +4702,7 @@ void Tokenizer::setVarIdPass1()
47024702
}
47034703

47044704
if (!scopeStack.top().isEnum || !(Token::Match(tok->previous(), "{|,") && Token::Match(tok->next(), ",|=|}"))) {
4705-
const std::map<std::string, nonneg int>::const_iterator it = variableMap.map(globalNamespace).find(tok->str());
4705+
const std::unordered_map<std::string, nonneg int>::const_iterator it = variableMap.map(globalNamespace).find(tok->str());
47064706
if (it != variableMap.map(globalNamespace).end()) {
47074707
tok->varId(it->second);
47084708
setVarIdStructMembers(&tok, structMembers, variableMap.getVarId());
@@ -5745,6 +5745,7 @@ void Tokenizer::dump(std::ostream &out) const
57455745

57465746
std::set<const Library::Container*> containers;
57475747

5748+
// TODO: avoid ostream usage
57485749
// tokens..
57495750
outs += " <tokenlist>";
57505751
outs += '\n';
@@ -10437,9 +10438,9 @@ bool Tokenizer::hasIfdef(const Token *start, const Token *end) const
1043710438

1043810439
return std::any_of(mPreprocessor->getDirectives().cbegin(), mPreprocessor->getDirectives().cend(), [&](const Directive& d) {
1043910440
return d.str.compare(0, 3, "#if") == 0 &&
10440-
d.linenr >= start->linenr() &&
10441-
d.linenr <= end->linenr() &&
10442-
start->fileIndex() < list.getFiles().size() &&
10443-
d.file == list.getFiles()[start->fileIndex()];
10441+
d.linenr >= start->linenr() &&
10442+
d.linenr <= end->linenr() &&
10443+
start->fileIndex() < list.getFiles().size() &&
10444+
d.file == list.getFiles()[start->fileIndex()];
1044410445
});
1044510446
}

0 commit comments

Comments
 (0)