diff options
author | Martin Jones <martin.jones@nokia.com> | 2012-05-16 17:49:32 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-05-17 13:42:27 +0200 |
commit | 8017cf63505f7ed477c658634ec882a12d3b3ddc (patch) | |
tree | 28d023fe7e8a2b2392c564a37ef7b891d2bb41b8 /src/qml/qml/qqmldirparser_p.h | |
parent | c556eecc25e24d6ee4f5c9965193a588c93b95fc (diff) |
Optimize type resolution
Faster qmlType() and resolveType() lookup.
Change-Id: I096439f23bf6071e8bfdf0cda366cc71e00293ba
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Diffstat (limited to 'src/qml/qml/qqmldirparser_p.h')
-rw-r--r-- | src/qml/qml/qqmldirparser_p.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/qml/qml/qqmldirparser_p.h b/src/qml/qml/qqmldirparser_p.h index 77fe277a7e..4de39e04d9 100644 --- a/src/qml/qml/qqmldirparser_p.h +++ b/src/qml/qml/qqmldirparser_p.h @@ -56,6 +56,7 @@ #include <QtCore/QUrl> #include <QtCore/QHash> #include <QtCore/QDebug> +#include <private/qhashedstring_p.h> QT_BEGIN_NAMESPACE @@ -120,7 +121,7 @@ public: int minorVersion; }; - QList<Component> components() const; + QHash<QHashedStringRef,Component> components() const; QList<Script> scripts() const; QList<Plugin> plugins() const; @@ -143,7 +144,7 @@ private: private: QList<QQmlError> _errors; QString _source; - QList<Component> _components; + QHash<QHashedStringRef,Component> _components; // multi hash QList<Script> _scripts; QList<Plugin> _plugins; #ifdef QT_CREATOR @@ -152,7 +153,7 @@ private: unsigned _isParsed: 1; }; -typedef QList<QQmlDirParser::Component> QQmlDirComponents; +typedef QHash<QHashedStringRef,QQmlDirParser::Component> QQmlDirComponents; typedef QList<QQmlDirParser::Script> QQmlDirScripts; QDebug &operator<< (QDebug &, const QQmlDirParser::Component &); |