forked from qt-creator/qt-creator
simplify parameter passing to insertUnique and removeEach
This commit is contained in:
@@ -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.
|
||||||
|
|||||||
Reference in New Issue
Block a user