diff options
author | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2012-08-22 17:42:20 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2012-09-03 19:39:56 +0200 |
commit | c17c479bb92bd686df7ac27a81d5ff42103c5a91 (patch) | |
tree | 5da5a73789b2027b3043eaf673e10c1d4f5e9478 /src/shared/proparser/qmakebuiltins.cpp | |
parent | b19bebbfa50c2cf744e9df02d27f5509abccbbed (diff) | |
download | qt-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.cpp | 37 |
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) { |