summaryrefslogtreecommitdiff
path: root/src/shared/proparser/qmakebuiltins.cpp
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2012-08-22 17:42:20 +0200
committerOswald Buddenhagen <oswald.buddenhagen@nokia.com>2012-09-03 19:39:56 +0200
commitc17c479bb92bd686df7ac27a81d5ff42103c5a91 (patch)
tree5da5a73789b2027b3043eaf673e10c1d4f5e9478 /src/shared/proparser/qmakebuiltins.cpp
parentb19bebbfa50c2cf744e9df02d27f5509abccbbed (diff)
downloadqt-creator-c17c479bb92bd686df7ac27a81d5ff42103c5a91.tar.gz
factor out evaluateBuiltin{Expand,Conditional} (again)
will need a second entry path, so it's better to have them separate Change-Id: I52bce5de536fd0ef5d6773d8177550b8d6202d1d Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Diffstat (limited to 'src/shared/proparser/qmakebuiltins.cpp')
-rw-r--r--src/shared/proparser/qmakebuiltins.cpp37
1 files changed, 8 insertions, 29 deletions
diff --git a/src/shared/proparser/qmakebuiltins.cpp b/src/shared/proparser/qmakebuiltins.cpp
index 83d018bd81..834a972693 100644
--- a/src/shared/proparser/qmakebuiltins.cpp
+++ b/src/shared/proparser/qmakebuiltins.cpp
@@ -387,16 +387,12 @@ void QMakeEvaluator::populateDeps(
}
}
-ProStringList QMakeEvaluator::evaluateExpandFunction(
- const ProKey &func, const ushort *&tokPtr)
+ProStringList QMakeEvaluator::evaluateBuiltinExpand(
+ const ProKey &func, const ProStringList &args)
{
- QHash<ProKey, ProFunctionDef>::ConstIterator it =
- m_functionDefs.replaceFunctions.constFind(func);
- if (it != m_functionDefs.replaceFunctions.constEnd()) {
- const QList<ProStringList> args = prepareFunctionArgs(tokPtr);
- traceMsg("calling $$%s(%s)", dbgKey(func), dbgStrListList(args));
- return evaluateFunction(*it, args, 0);
- }
+ ProStringList ret;
+
+ traceMsg("calling built-in $$%s(%s)", dbgKey(func), dbgSepStrList(args));
ExpandFunc func_t = ExpandFunc(statics.expands.value(func));
if (func_t == 0) {
@@ -408,12 +404,6 @@ ProStringList QMakeEvaluator::evaluateExpandFunction(
deprecationWarning(fL1S("Using uppercased builtin functions is deprecated."));
}
}
-
- //why don't the builtin functions just use args_list? --Sam
- const ProStringList &args = expandVariableReferences(tokPtr, 5, true);
- traceMsg("calling built-in $$%s(%s)", dbgKey(func), dbgSepStrList(args));
- ProStringList ret;
-
switch (func_t) {
case E_BASENAME:
case E_DIRNAME:
@@ -1052,23 +1042,12 @@ ProStringList QMakeEvaluator::evaluateExpandFunction(
return ret;
}
-QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateConditionalFunction(
- const ProKey &function, const ushort *&tokPtr)
+QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateBuiltinConditional(
+ const ProKey &function, const ProStringList &args)
{
- QHash<ProKey, ProFunctionDef>::ConstIterator it =
- m_functionDefs.testFunctions.constFind(function);
- if (it != m_functionDefs.testFunctions.constEnd()) {
- const QList<ProStringList> args = prepareFunctionArgs(tokPtr);
- traceMsg("calling %s(%s)", dbgKey(function), dbgStrListList(args));
- return evaluateBoolFunction(*it, args, function);
- }
-
- TestFunc func_t = (TestFunc)statics.functions.value(function);
-
- //why don't the builtin functions just use args_list? --Sam
- const ProStringList &args = expandVariableReferences(tokPtr, 5, true);
traceMsg("calling built-in %s(%s)", dbgKey(function), dbgSepStrList(args));
+ TestFunc func_t = (TestFunc)statics.functions.value(function);
switch (func_t) {
case T_DEFINED: {
if (args.count() < 1 || args.count() > 2) {