summaryrefslogtreecommitdiffstats
path: root/qmake/project.h
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2012-01-09 19:25:44 +0100
committerQt by Nokia <qt-info@nokia.com>2012-01-10 16:16:34 +0100
commit3e4f7ed5ed29c907815f5bae2628e417c340efbc (patch)
tree08facdfcde3ddc9f2d9b185ba93582254f7906fc /qmake/project.h
parentf5bdf7583012ab3f82ff53a5af1ee77ced9e049c (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.h50
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 &params,
- 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 &params,
- 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