simplify parameter passing to insertUnique and removeEach

This commit is contained in:
Oswald Buddenhagen
2010-02-09 15:44:17 +01:00
parent bc4e63a310
commit de3d24741d

View File

@@ -910,21 +910,17 @@ QStringList ProFileEvaluator::Private::split_value_list(const QString &vals)
return ret; return ret;
} }
static void insertUnique(QHash<QString, QStringList> *map, static void insertUnique(QStringList *varlist, const QStringList &value)
const QString &key, const QStringList &value)
{ {
QStringList &sl = (*map)[key];
foreach (const QString &str, value) foreach (const QString &str, value)
if (!sl.contains(str)) if (!varlist->contains(str))
sl.append(str); varlist->append(str);
} }
static void removeEach(QHash<QString, QStringList> *map, static void removeEach(QStringList *varlist, const QStringList &value)
const QString &key, const QStringList &value)
{ {
QStringList &sl = (*map)[key];
foreach (const QString &str, value) foreach (const QString &str, value)
sl.removeAll(str); varlist->removeAll(str);
} }
static void replaceInList(QStringList *varlist, static void replaceInList(QStringList *varlist,
@@ -1166,8 +1162,8 @@ void ProFileEvaluator::Private::visitProVariable(ProVariable *var)
break; break;
case ProVariable::UniqueAddOperator: // *= case ProVariable::UniqueAddOperator: // *=
if (!m_skipLevel || m_cumulative) { if (!m_skipLevel || m_cumulative) {
insertUnique(&m_valuemap, varName, varVal); insertUnique(&m_valuemap[varName], varVal);
insertUnique(&m_filevaluemap[currentProFile()], varName, varVal); insertUnique(&m_filevaluemap[currentProFile()][varName], varVal);
} }
break; break;
case ProVariable::AddOperator: // += case ProVariable::AddOperator: // +=
@@ -1179,8 +1175,8 @@ void ProFileEvaluator::Private::visitProVariable(ProVariable *var)
case ProVariable::RemoveOperator: // -= case ProVariable::RemoveOperator: // -=
if (!m_cumulative) { if (!m_cumulative) {
if (!m_skipLevel) { if (!m_skipLevel) {
removeEach(&m_valuemap, varName, varVal); removeEach(&m_valuemap[varName], varVal);
removeEach(&m_filevaluemap[currentProFile()], varName, varVal); removeEach(&m_filevaluemap[currentProFile()][varName], varVal);
} }
} else { } else {
// We are stingy with our values, too. // We are stingy with our values, too.