diff options
author | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2012-01-09 19:25:44 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-10 16:16:34 +0100 |
commit | 3e4f7ed5ed29c907815f5bae2628e417c340efbc (patch) | |
tree | 08facdfcde3ddc9f2d9b185ba93582254f7906fc /qmake/project.h | |
parent | f5bdf7583012ab3f82ff53a5af1ee77ced9e049c (diff) |
QMap => QHash
this should make the evaluator quite a lot faster. the total win for
qtbase/src is only 6%, though.
i made some effort to avoid that output files get randomized. however, i
didn't bother to keep debug output sorted.
Change-Id: Id9cef4674c0153c11ebbb65cb63bf8c229eb56e3
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Diffstat (limited to 'qmake/project.h')
-rw-r--r-- | qmake/project.h | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/qmake/project.h b/qmake/project.h index d458dd9e0a..8a49eb584d 100644 --- a/qmake/project.h +++ b/qmake/project.h @@ -46,7 +46,7 @@ #include <qtextstream.h> #include <qstring.h> #include <qstack.h> -#include <qmap.h> +#include <qhash.h> #include <qmetatype.h> QT_BEGIN_NAMESPACE @@ -76,7 +76,7 @@ class QMakeProject QStack<FunctionBlock *> function_blocks; IteratorBlock *iterator; FunctionBlock *function; - QMap<QString, FunctionBlock*> testFunctions, replaceFunctions; + QHash<QString, FunctionBlock*> testFunctions, replaceFunctions; bool recursive; bool own_prop; @@ -84,8 +84,8 @@ class QMakeProject QString pfile, cfile; QMakeProperty *prop; void reset(); - QMap<QString, QStringList> vars, base_vars, cache; - bool parse(const QString &text, QMap<QString, QStringList> &place, int line_count=1); + QHash<QString, QStringList> vars, base_vars, cache; + bool parse(const QString &text, QHash<QString, QStringList> &place, int line_count=1); enum IncludeStatus { IncludeSuccess, @@ -100,21 +100,21 @@ class QMakeProject IncludeFlagNewParser = 0x02, IncludeFlagNewProject = 0x04 }; - IncludeStatus doProjectInclude(QString file, uchar flags, QMap<QString, QStringList> &place); + IncludeStatus doProjectInclude(QString file, uchar flags, QHash<QString, QStringList> &place); - bool doProjectCheckReqs(const QStringList &deps, QMap<QString, QStringList> &place); - bool doVariableReplace(QString &str, QMap<QString, QStringList> &place); - QStringList doVariableReplaceExpand(const QString &str, QMap<QString, QStringList> &place, bool *ok=0); - void init(QMakeProperty *, const QMap<QString, QStringList> *); - QStringList &values(const QString &v, QMap<QString, QStringList> &place); + bool doProjectCheckReqs(const QStringList &deps, QHash<QString, QStringList> &place); + bool doVariableReplace(QString &str, QHash<QString, QStringList> &place); + QStringList doVariableReplaceExpand(const QString &str, QHash<QString, QStringList> &place, bool *ok=0); + void init(QMakeProperty *, const QHash<QString, QStringList> *); + QStringList &values(const QString &v, QHash<QString, QStringList> &place); void validateModes(); public: QMakeProject() { init(0, 0); } QMakeProject(QMakeProperty *p) { init(p, 0); } - QMakeProject(QMakeProject *p, const QMap<QString, QStringList> *nvars=0); - QMakeProject(const QMap<QString, QStringList> &nvars) { init(0, &nvars); } - QMakeProject(QMakeProperty *p, const QMap<QString, QStringList> &nvars) { init(p, &nvars); } + QMakeProject(QMakeProject *p, const QHash<QString, QStringList> *nvars=0); + QMakeProject(const QHash<QString, QStringList> &nvars) { init(0, &nvars); } + QMakeProject(QMakeProperty *p, const QHash<QString, QStringList> &nvars) { init(p, &nvars); } ~QMakeProject(); enum { ReadCache=0x01, ReadConf=0x02, ReadCmdLine=0x04, ReadProFile=0x08, @@ -129,19 +129,19 @@ public: QString projectFile(); inline QMakeProperty *properties() { return prop; } - bool doProjectTest(QString str, QMap<QString, QStringList> &place); + bool doProjectTest(QString str, QHash<QString, QStringList> &place); bool doProjectTest(QString func, const QString ¶ms, - QMap<QString, QStringList> &place); + QHash<QString, QStringList> &place); bool doProjectTest(QString func, QStringList args, - QMap<QString, QStringList> &place); + QHash<QString, QStringList> &place); bool doProjectTest(QString func, QList<QStringList> args, - QMap<QString, QStringList> &place); + QHash<QString, QStringList> &place); QStringList doProjectExpand(QString func, const QString ¶ms, - QMap<QString, QStringList> &place); + QHash<QString, QStringList> &place); QStringList doProjectExpand(QString func, QStringList args, - QMap<QString, QStringList> &place); + QHash<QString, QStringList> &place); QStringList doProjectExpand(QString func, QList<QStringList> args, - QMap<QString, QStringList> &place); + QHash<QString, QStringList> &place); QStringList expand(const QString &v); QString expand(const QString &v, const QString &file, int line); @@ -149,20 +149,20 @@ public: bool test(const QString &v); bool test(const QString &func, const QList<QStringList> &args); bool isActiveConfig(const QString &x, bool regex=false, - QMap<QString, QStringList> *place=NULL); + QHash<QString, QStringList> *place=NULL); bool isSet(const QString &v); // No compat mapping, no magic variables bool isEmpty(const QString &v); // With compat mapping, but no magic variables QStringList &values(const QString &v); // With compat mapping and magic variables QString first(const QString &v); // ditto - QMap<QString, QStringList> &variables(); // No compat mapping and magic, obviously + QHash<QString, QStringList> &variables(); // No compat mapping and magic, obviously bool isRecursive() const { return recursive; } protected: friend class MakefileGenerator; - bool read(const QString &file, QMap<QString, QStringList> &place); - bool read(QTextStream &file, QMap<QString, QStringList> &place); + bool read(const QString &file, QHash<QString, QStringList> &place); + bool read(QTextStream &file, QHash<QString, QStringList> &place); }; Q_DECLARE_METATYPE(QMakeProject*) @@ -188,7 +188,7 @@ inline QString QMakeProject::first(const QString &v) return vals.first(); } -inline QMap<QString, QStringList> &QMakeProject::variables() +inline QHash<QString, QStringList> &QMakeProject::variables() { return vars; } QT_END_NAMESPACE |