Eliminate repeated lookup

This commit is contained in:
Dmitry-Me 2015-03-18 11:52:09 +03:00
parent e5e7c5dc8b
commit 8f8ba65a29
1 changed files with 3 additions and 2 deletions

View File

@ -2409,11 +2409,12 @@ static void setVarIdStructMembers(Token **tok1,
break;
std::map<std::string, unsigned int>& members = (*structMembers)[struct_varid];
if (members.empty() || members.find(tok->str()) == members.end()) {
const std::map<std::string, unsigned int>::iterator it = members.find(tok->str());
if (it == members.end()) {
members[tok->str()] = ++(*_varId);
tok->varId(*_varId);
} else {
tok->varId(members[tok->str()]);
tok->varId(it->second);
}
}
// tok can't be null