simplify returning per-file variable values

these values do not require evaluating magic variables. the semantics
would be totally unclear anyway.
This commit is contained in:
Oswald Buddenhagen
2010-02-09 14:58:59 +01:00
parent d8def18362
commit bc4e63a310

View File

@@ -231,9 +231,6 @@ public:
QStringList valuesDirect(const QString &variableName) const { return m_valuemap[variableName]; } QStringList valuesDirect(const QString &variableName) const { return m_valuemap[variableName]; }
QStringList values(const QString &variableName) const; QStringList values(const QString &variableName) const;
QStringList values(const QString &variableName, const ProFile *pro) const;
QStringList values(const QString &variableName, const QHash<QString, QStringList> &place,
const ProFile *pro) const;
QString propertyValue(const QString &val, bool complain = true) const; QString propertyValue(const QString &val, bool complain = true) const;
static QStringList split_value_list(const QString &vals); static QStringList split_value_list(const QString &vals);
@@ -2757,9 +2754,7 @@ ProItem::ProItemReturn ProFileEvaluator::Private::evaluateConditionalFunction(
} }
} }
QStringList ProFileEvaluator::Private::values(const QString &variableName, QStringList ProFileEvaluator::Private::values(const QString &variableName) const
const QHash<QString, QStringList> &place,
const ProFile *pro) const
{ {
QHash<QString, int>::ConstIterator vli = statics.varList.find(variableName); QHash<QString, int>::ConstIterator vli = statics.varList.find(variableName);
if (vli != statics.varList.constEnd()) { if (vli != statics.varList.constEnd()) {
@@ -2786,7 +2781,7 @@ QStringList ProFileEvaluator::Private::values(const QString &variableName,
ret = QString::number(m_lineNo); ret = QString::number(m_lineNo);
break; break;
case V__FILE_: //parser file; qmake is a bit weird here case V__FILE_: //parser file; qmake is a bit weird here
ret = m_profileStack.size() == 1 ? pro->fileName() : QFileInfo(pro->fileName()).fileName(); ret = m_profileStack.size() == 1 ? currentFileName() : currentProFile()->displayFileName();
break; break;
case V__DATE_: //current date/time case V__DATE_: //current date/time
ret = QDateTime::currentDateTime().toString(); ret = QDateTime::currentDateTime().toString();
@@ -2873,7 +2868,7 @@ QStringList ProFileEvaluator::Private::values(const QString &variableName,
return QStringList(ret); return QStringList(ret);
} }
QStringList result = place.value(variableName); QStringList result = valuesDirect(variableName);
if (result.isEmpty()) { if (result.isEmpty()) {
if (variableName == statics.strTEMPLATE) { if (variableName == statics.strTEMPLATE) {
result.append(QLatin1String("app")); result.append(QLatin1String("app"));
@@ -2884,16 +2879,6 @@ QStringList ProFileEvaluator::Private::values(const QString &variableName,
return result; return result;
} }
QStringList ProFileEvaluator::Private::values(const QString &variableName) const
{
return values(variableName, m_valuemap, currentProFile());
}
QStringList ProFileEvaluator::Private::values(const QString &variableName, const ProFile *pro) const
{
return values(variableName, m_filevaluemap[pro], pro);
}
ProFile *ProFileEvaluator::Private::parsedProFile(const QString &fileName, bool cache, ProFile *ProFileEvaluator::Private::parsedProFile(const QString &fileName, bool cache,
const QString &contents) const QString &contents)
{ {
@@ -3068,7 +3053,8 @@ QStringList ProFileEvaluator::values(const QString &variableName) const
QStringList ProFileEvaluator::values(const QString &variableName, const ProFile *pro) const QStringList ProFileEvaluator::values(const QString &variableName, const ProFile *pro) const
{ {
return expandEnvVars(d->values(variableName, pro)); // It makes no sense to put any kind of magic into expanding these
return expandEnvVars(d->m_filevaluemap.value(pro).value(variableName));
} }
QStringList ProFileEvaluator::absolutePathValues( QStringList ProFileEvaluator::absolutePathValues(