diff options
Diffstat (limited to 'qmake/library/qmakeevaluator.cpp')
-rw-r--r-- | qmake/library/qmakeevaluator.cpp | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/qmake/library/qmakeevaluator.cpp b/qmake/library/qmakeevaluator.cpp index 6b23412327..432339d48e 100644 --- a/qmake/library/qmakeevaluator.cpp +++ b/qmake/library/qmakeevaluator.cpp @@ -118,7 +118,7 @@ bool operator==(const QMakeBaseKey &one, const QMakeBaseKey &two) } QMakeBaseEnv::QMakeBaseEnv() - : evaluator(0) + : evaluator(nullptr) { #ifdef PROEVALUATOR_THREAD_SAFE inProgress = false; @@ -215,7 +215,7 @@ QMakeEvaluator::QMakeEvaluator(QMakeGlobals *option, QMakeParser *parser, QMakeV initStatics(); // Configuration, more or less - m_caller = 0; + m_caller = nullptr; #ifdef PROEVALUATOR_CUMULATIVE m_cumulative = false; #endif @@ -337,7 +337,8 @@ static void replaceInList(ProStringList *varlist, const QRegExp ®exp, const QString &replace, bool global, QString &tmp) { for (ProStringList::Iterator varit = varlist->begin(); varit != varlist->end(); ) { - QString val = varit->toQString(tmp); + ProStringRoUser u1(*varit, tmp); + QString val = u1.str(); QString copy = val; // Force detach and have a reference value val.replace(regexp, replace); if (!val.isSharedWith(copy) && val != copy) { @@ -940,7 +941,7 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::visitProVariable( if (varName == statics.strTEMPLATE) setTemplate(); else if (varName == statics.strQMAKE_PLATFORM) - m_featureRoots = 0; + m_featureRoots = nullptr; else if (varName == statics.strQMAKE_DIR_SEP) m_dirSep = first(varName); else if (varName == statics.strQMAKESPEC) { @@ -949,7 +950,7 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::visitProVariable( if (IoUtils::isAbsolutePath(spec)) { m_qmakespec = spec; m_qmakespecName = IoUtils::fileName(m_qmakespec).toString(); - m_featureRoots = 0; + m_featureRoots = nullptr; } } } @@ -1336,7 +1337,8 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateConfigFeatures() bool finished = true; ProStringList configs = values(statics.strCONFIG); for (int i = configs.size() - 1; i >= 0; --i) { - QString config = configs.at(i).toQString(m_tmp1).toLower(); + ProStringRoUser u1(configs.at(i), m_tmp1); + QString config = u1.str().toLower(); if (!processed.contains(config)) { config.detach(); processed.insert(config); @@ -1592,7 +1594,7 @@ ProFile *QMakeEvaluator::currentProFile() const { if (m_profileStack.count() > 0) return m_profileStack.top(); - return 0; + return nullptr; } int QMakeEvaluator::currentFileId() const @@ -1640,7 +1642,8 @@ bool QMakeEvaluator::isActiveConfig(const QStringRef &config, bool regex) // CONFIG variable const auto configValues = values(statics.strCONFIG); for (const ProString &configValue : configValues) { - if (re.exactMatch(configValue.toQString(m_tmp[m_toggle ^= 1]))) + ProStringRoUser u1(configValue, m_tmp[m_toggle ^= 1]); + if (re.exactMatch(u1.str())) return true; } } else { @@ -1749,9 +1752,9 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateBoolFunction( if (val) return ReturnTrue; } else { + ProStringRoUser u1(function, m_tmp1); evalError(fL1S("Unexpected return value from test '%1': %2.") - .arg(function.toQString(m_tmp1)) - .arg(ret.join(QLatin1String(" :: ")))); + .arg(u1.str(), ret.join(QLatin1String(" :: ")))); } } return ReturnFalse; @@ -1762,12 +1765,13 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateBoolFunction( QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateConditionalFunction( const ProKey &func, const ushort *&tokPtr) { - if (int func_t = statics.functions.value(func)) { + auto adef = statics.functions.constFind(func); + if (adef != statics.functions.constEnd()) { //why don't the builtin functions just use args_list? --Sam ProStringList args; if (expandVariableReferences(tokPtr, 5, &args, true) == ReturnError) return ReturnError; - return evaluateBuiltinConditional(func_t, func, args); + return evaluateBuiltinConditional(*adef, func, args); } QHash<ProKey, ProFunctionDef>::ConstIterator it = @@ -1788,12 +1792,13 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateConditionalFunction( QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateExpandFunction( const ProKey &func, const ushort *&tokPtr, ProStringList *ret) { - if (int func_t = statics.expands.value(func)) { + auto adef = statics.expands.constFind(func); + if (adef != statics.expands.constEnd()) { //why don't the builtin functions just use args_list? --Sam ProStringList args; if (expandVariableReferences(tokPtr, 5, &args, true) == ReturnError) return ReturnError; - return evaluateBuiltinExpand(func_t, func, args, *ret); + return evaluateBuiltinExpand(*adef, func, args, *ret); } QHash<ProKey, ProFunctionDef>::ConstIterator it = @@ -1869,7 +1874,7 @@ ProValueMap *QMakeEvaluator::findValues(const ProKey &variableName, ProValueMap: if (first && isFunctParam(variableName)) break; } - return 0; + return nullptr; } ProStringList &QMakeEvaluator::valuesRef(const ProKey &variableName) |