ProString QMakeProperty::value(const ProKey &vk) { ProString val = m_values.value(vk); if (!val.isNull()) return val; initSettings(); return settings->value(vk.toQString()).toString(); }
bool QMakeProject::test(const ProKey &func, const QList<ProStringList> &args) { m_current.clear(); if (int func_t = statics.functions.value(func)) return boolRet(evaluateBuiltinConditional(func_t, func, prepareBuiltinArgs(args))); QHash<ProKey, ProFunctionDef>::ConstIterator it = m_functionDefs.testFunctions.constFind(func); if (it != m_functionDefs.testFunctions.constEnd()) return boolRet(evaluateBoolFunction(*it, args, func)); evalError(QStringLiteral("'%1' is not a recognized test function.") .arg(func.toQString(m_tmp1))); return false; }
QStringList QMakeProject::expand(const ProKey &func, const QList<ProStringList> &args) { m_current.clear(); if (int func_t = statics.expands.value(func)) return evaluateBuiltinExpand(func_t, func, prepareBuiltinArgs(args)).toQStringList(); QHash<ProKey, ProFunctionDef>::ConstIterator it = m_functionDefs.replaceFunctions.constFind(func); if (it != m_functionDefs.replaceFunctions.constEnd()) { QMakeProject::VisitReturn vr; ProStringList ret = evaluateFunction(*it, args, &vr); if (vr == QMakeProject::ReturnError) exit(3); return ret.toQStringList(); } evalError(QStringLiteral("'%1' is not a recognized replace function.") .arg(func.toQString(m_tmp1))); return QStringList(); }