diff options
author | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2012-05-04 21:16:56 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2012-07-04 12:48:00 +0200 |
commit | 5a6625245bec59bd2462b9726cc977a119cd21fd (patch) | |
tree | 2e0d657cd9cd65714bf4eddfe0f5407ac2bd5c29 /src/shared/proparser | |
parent | 55cad4a424d3552d0658a4d3e395b12d2d472b12 (diff) | |
download | qt-creator-5a6625245bec59bd2462b9726cc977a119cd21fd.tar.gz |
introduce ProValueMap typedef for brevity's sake
Change-Id: I41b7202acb2889d217d1f437050443bea853ee87
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Diffstat (limited to 'src/shared/proparser')
-rw-r--r-- | src/shared/proparser/proitems.h | 2 | ||||
-rw-r--r-- | src/shared/proparser/qmakebuiltins.cpp | 26 | ||||
-rw-r--r-- | src/shared/proparser/qmakeevaluator.cpp | 21 | ||||
-rw-r--r-- | src/shared/proparser/qmakeevaluator.h | 10 | ||||
-rw-r--r-- | src/shared/proparser/qmakeglobals.h | 2 |
5 files changed, 30 insertions, 31 deletions
diff --git a/src/shared/proparser/proitems.h b/src/shared/proparser/proitems.h index c9092e8c34..23bae899f0 100644 --- a/src/shared/proparser/proitems.h +++ b/src/shared/proparser/proitems.h @@ -127,6 +127,8 @@ public: void removeDuplicates(); }; +typedef QHash<ProString, ProStringList> ProValueMap; + // These token definitions affect both ProFileEvaluator and ProWriter enum ProToken { TokTerminator = 0, // end of stream (possibly not included in length; must be zero) diff --git a/src/shared/proparser/qmakebuiltins.cpp b/src/shared/proparser/qmakebuiltins.cpp index 1466933d4d..da5f0cf16c 100644 --- a/src/shared/proparser/qmakebuiltins.cpp +++ b/src/shared/proparser/qmakebuiltins.cpp @@ -192,7 +192,7 @@ void QMakeEvaluator::runProcess(QProcess *proc, const QString &command, void QMakeEvaluator::populateDeps( const ProStringList &deps, const ProString &prefix, - QHash<ProString, QSet<ProString> > &dependencies, QHash<ProString, ProStringList> &dependees, + QHash<ProString, QSet<ProString> > &dependencies, ProValueMap &dependees, ProStringList &rootSet) const { foreach (const ProString &item, deps) @@ -413,7 +413,7 @@ ProStringList QMakeEvaluator::evaluateExpandFunction( if (args.count() != 2) { evalError(fL1S("fromfile(file, variable) requires two arguments.")); } else { - QHash<ProString, ProStringList> vars; + ProValueMap vars; QString fn = resolvePath(m_option->expandEnvVars(args.at(0).toQString(m_tmp1))); fn.detach(); if (evaluateFileInto(fn, QMakeHandler::EvalAuxFile, &vars, EvalProOnly)) @@ -607,7 +607,7 @@ ProStringList QMakeEvaluator::evaluateExpandFunction( evalError(fL1S("%1(var, prefix) requires one or two arguments").arg(func.toQString(m_tmp1))); } else { QHash<ProString, QSet<ProString> > dependencies; - QHash<ProString, ProStringList> dependees; + ProValueMap dependees; ProStringList rootSet; ProStringList orgList = valuesDirect(args.at(0)); populateDeps(orgList, (args.count() < 2 ? ProString() : args.at(1)), @@ -680,7 +680,7 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateConditionalFunction( } const ProString &var = map(args.at(0)); for (int i = m_valuemapStack.size(); --i > 0; ) { - QHash<ProString, ProStringList>::Iterator it = m_valuemapStack[i].find(var); + ProValueMap::Iterator it = m_valuemapStack[i].find(var); if (it != m_valuemapStack.at(i).end()) { if (it->constBegin() == statics.fakeValue.constBegin()) { // This is stupid, but qmake doesn't propagate deletions @@ -700,7 +700,7 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateConditionalFunction( if (args.count() < 2 || args.count() > 3) { evalError(fL1S("infile(file, var, [values]) requires two or three arguments.")); } else { - QHash<ProString, ProStringList> vars; + ProValueMap vars; QString fn = resolvePath(m_option->expandEnvVars(args.at(0).toQString(m_tmp1))); fn.detach(); if (!evaluateFileInto(fn, QMakeHandler::EvalAuxFile, &vars, EvalProOnly)) @@ -941,8 +941,8 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateConditionalFunction( .arg(function.toQString(m_tmp1))); return ReturnFalse; } - QHash<ProString, ProStringList> *hsh; - QHash<ProString, ProStringList>::Iterator it; + ProValueMap *hsh; + ProValueMap::Iterator it; const ProString &var = map(args.at(0)); if (!(hsh = findValues(var, &it))) return ReturnFalse; @@ -960,8 +960,8 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateConditionalFunction( .arg(function.toQString(m_tmp1))); return ReturnFalse; } - QHash<ProString, ProStringList> *hsh; - QHash<ProString, ProStringList>::Iterator it; + ProValueMap *hsh; + ProValueMap::Iterator it; const ProString &var = map(args.at(0)); if (!(hsh = findValues(var, &it))) return ReturnFalse; @@ -991,11 +991,11 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateConditionalFunction( if (parseInto.isEmpty()) { ok = evaluateFile(fn, QMakeHandler::EvalIncludeFile, LoadProOnly); } else { - QHash<ProString, ProStringList> symbols; + ProValueMap symbols; if ((ok = evaluateFileInto(fn, QMakeHandler::EvalAuxFile, &symbols, EvalWithSetup))) { - QHash<ProString, ProStringList> newMap; - for (QHash<ProString, ProStringList>::ConstIterator + ProValueMap newMap; + for (ProValueMap::ConstIterator it = m_valuemapStack.top().constBegin(), end = m_valuemapStack.top().constEnd(); it != end; ++it) { @@ -1005,7 +1005,7 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateConditionalFunction( || ky.at(parseInto.length()) == QLatin1Char('.')))) newMap[it.key()] = it.value(); } - for (QHash<ProString, ProStringList>::ConstIterator it = symbols.constBegin(); + for (ProValueMap::ConstIterator it = symbols.constBegin(); it != symbols.constEnd(); ++it) { const QString &ky = it.key().toQString(m_tmp1); if (!ky.startsWith(QLatin1Char('.'))) diff --git a/src/shared/proparser/qmakeevaluator.cpp b/src/shared/proparser/qmakeevaluator.cpp index 01899b1a51..2ed7ee90ad 100644 --- a/src/shared/proparser/qmakeevaluator.cpp +++ b/src/shared/proparser/qmakeevaluator.cpp @@ -164,7 +164,7 @@ QMakeEvaluator::QMakeEvaluator(QMakeGlobals *option, m_skipLevel = 0; m_loopLevel = 0; m_listCount = 0; - m_valuemapStack.push(QHash<ProString, ProStringList>()); + m_valuemapStack.push(ProValueMap()); } QMakeEvaluator::~QMakeEvaluator() @@ -880,7 +880,7 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::visitProFile( } if (!qmake_cache.isEmpty()) { qmake_cache = resolvePath(qmake_cache); - QHash<ProString, ProStringList> cache_valuemap; + ProValueMap cache_valuemap; if (evaluateFileInto(qmake_cache, QMakeHandler::EvalConfigFile, &cache_valuemap, EvalProOnly)) { if (m_option->qmakespec.isEmpty()) { @@ -1457,7 +1457,7 @@ bool QMakeEvaluator::modesForGenerator(const QString &gen, void QMakeEvaluator::validateModes() const { if (m_option->target_mode == QMakeGlobals::TARG_UNKNOWN_MODE) { - const QHash<ProString, ProStringList> &vals = + const ProValueMap &vals = m_option->base_valuemap.isEmpty() ? m_valuemapStack[0] : m_option->base_valuemap; QMakeGlobals::TARG_MODE target_mode; const ProStringList &gen = vals.value(ProString("MAKEFILE_GENERATOR")); @@ -1597,7 +1597,7 @@ ProStringList QMakeEvaluator::evaluateFunction( evalError(fL1S("ran into infinite recursion (depth > 100).")); oki = false; } else { - m_valuemapStack.push(QHash<ProString, ProStringList>()); + m_valuemapStack.push(ProValueMap()); m_locationStack.push(m_current); int loopLevel = m_loopLevel; m_loopLevel = 0; @@ -1699,11 +1699,10 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateConditionalFunction( return evaluateConditionalFunction(function, expandVariableReferences(tokPtr, 5, true)); } -QHash<ProString, ProStringList> *QMakeEvaluator::findValues( - const ProString &variableName, QHash<ProString, ProStringList>::Iterator *rit) +ProValueMap *QMakeEvaluator::findValues(const ProString &variableName, ProValueMap::Iterator *rit) { for (int i = m_valuemapStack.size(); --i >= 0; ) { - QHash<ProString, ProStringList>::Iterator it = m_valuemapStack[i].find(variableName); + ProValueMap::Iterator it = m_valuemapStack[i].find(variableName); if (it != m_valuemapStack[i].end()) { if (it->constBegin() == statics.fakeValue.constBegin()) return 0; @@ -1716,14 +1715,14 @@ QHash<ProString, ProStringList> *QMakeEvaluator::findValues( ProStringList &QMakeEvaluator::valuesRef(const ProString &variableName) { - QHash<ProString, ProStringList>::Iterator it = m_valuemapStack.top().find(variableName); + ProValueMap::Iterator it = m_valuemapStack.top().find(variableName); if (it != m_valuemapStack.top().end()) { if (it->constBegin() == statics.fakeValue.constBegin()) it->clear(); return *it; } for (int i = m_valuemapStack.size() - 1; --i >= 0; ) { - QHash<ProString, ProStringList>::ConstIterator it = m_valuemapStack.at(i).constFind(variableName); + ProValueMap::ConstIterator it = m_valuemapStack.at(i).constFind(variableName); if (it != m_valuemapStack.at(i).constEnd()) { ProStringList &ret = m_valuemapStack.top()[variableName]; if (it->constBegin() != statics.fakeValue.constBegin()) @@ -1737,7 +1736,7 @@ ProStringList &QMakeEvaluator::valuesRef(const ProString &variableName) ProStringList QMakeEvaluator::valuesDirect(const ProString &variableName) const { for (int i = m_valuemapStack.size(); --i >= 0; ) { - QHash<ProString, ProStringList>::ConstIterator it = m_valuemapStack.at(i).constFind(variableName); + ProValueMap::ConstIterator it = m_valuemapStack.at(i).constFind(variableName); if (it != m_valuemapStack.at(i).constEnd()) { if (it->constBegin() == statics.fakeValue.constBegin()) break; @@ -1953,7 +1952,7 @@ bool QMakeEvaluator::evaluateFeatureFile(const QString &fileName) bool QMakeEvaluator::evaluateFileInto( const QString &fileName, QMakeHandler::EvalFileType type, - QHash<ProString, ProStringList> *values, EvalIntoMode mode) + ProValueMap *values, EvalIntoMode mode) { QMakeEvaluator visitor(m_option, m_parser, m_handler); #ifdef PROEVALUATOR_CUMULATIVE diff --git a/src/shared/proparser/qmakeevaluator.h b/src/shared/proparser/qmakeevaluator.h index 1724d7d002..5d27430847 100644 --- a/src/shared/proparser/qmakeevaluator.h +++ b/src/shared/proparser/qmakeevaluator.h @@ -112,8 +112,7 @@ public: void visitProVariable(ushort tok, const ProStringList &curr, const ushort *&tokPtr); static const ProString &map(const ProString &var); - QHash<ProString, ProStringList> *findValues(const ProString &variableName, - QHash<ProString, ProStringList>::Iterator *it); + ProValueMap *findValues(const ProString &variableName, ProValueMap::Iterator *it); ProStringList valuesDirect(const ProString &variableName) const; ProStringList split_value_list(const QString &vals, const ProFile *source = 0); @@ -133,7 +132,7 @@ public: bool evaluateFeatureFile(const QString &fileName); enum EvalIntoMode { EvalProOnly, EvalWithSetup }; bool evaluateFileInto(const QString &fileName, QMakeHandler::EvalFileType type, - QHash<ProString, ProStringList> *values, // output-only + ProValueMap *values, // output-only EvalIntoMode mode); void evalError(const QString &msg) const; @@ -162,8 +161,7 @@ public: void populateDeps( const ProStringList &deps, const ProString &prefix, QHash<ProString, QSet<ProString> > &dependencies, - QHash<ProString, ProStringList> &dependees, - ProStringList &rootSet) const; + ProValueMap &dependees, ProStringList &rootSet) const; QString fixPathToLocalOS(const QString &str) const; @@ -195,7 +193,7 @@ public: int m_listCount; ProFunctionDefs m_functionDefs; ProStringList m_returnValue; - QStack<QHash<ProString, ProStringList> > m_valuemapStack; // VariableName must be us-ascii, the content however can be non-us-ascii. + QStack<ProValueMap> m_valuemapStack; // VariableName must be us-ascii, the content however can be non-us-ascii. QString m_tmp1, m_tmp2, m_tmp3, m_tmp[2]; // Temporaries for efficient toQString QMakeGlobals *m_option; diff --git a/src/shared/proparser/qmakeglobals.h b/src/shared/proparser/qmakeglobals.h index 67a7e59b9d..9e63ae5105 100644 --- a/src/shared/proparser/qmakeglobals.h +++ b/src/shared/proparser/qmakeglobals.h @@ -79,7 +79,7 @@ private: QString getEnv(const QString &) const; QStringList getPathListEnv(const QString &var) const; - QHash<ProString, ProStringList> base_valuemap; // Cached results of qmake.conf, .qmake.cache & default_pre.prf + ProValueMap base_valuemap; // Cached results of qmake.conf, .qmake.cache & default_pre.prf ProFunctionDefs base_functions; QStringList feature_roots; QString qmakespec_name; |