aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmldirparser.cpp
diff options
context:
space:
mode:
authorMartin Jones <martin.jones@nokia.com>2012-05-16 17:49:32 +1000
committerQt by Nokia <qt-info@nokia.com>2012-05-17 13:42:27 +0200
commit8017cf63505f7ed477c658634ec882a12d3b3ddc (patch)
tree28d023fe7e8a2b2392c564a37ef7b891d2bb41b8 /src/qml/qml/qqmldirparser.cpp
parentc556eecc25e24d6ee4f5c9965193a588c93b95fc (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.cpp')
-rw-r--r--src/qml/qml/qqmldirparser.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/qml/qml/qqmldirparser.cpp b/src/qml/qml/qqmldirparser.cpp
index 2da4a3300b..2fb47cc008 100644
--- a/src/qml/qml/qqmldirparser.cpp
+++ b/src/qml/qml/qqmldirparser.cpp
@@ -156,7 +156,7 @@ bool QQmlDirParser::parse()
}
Component entry(sections[1], sections[2], -1, -1);
entry.internal = true;
- _components.append(entry);
+ _components.insertMulti(entry.typeName, entry);
} else if (sections[0] == QLatin1String("typeinfo")) {
if (sectionCount != 2) {
reportError(lineNumber, -1,
@@ -171,7 +171,7 @@ bool QQmlDirParser::parse()
} else if (sectionCount == 2) {
// No version specified (should only be used for relative qmldir files)
const Component entry(sections[0], sections[1], -1, -1);
- _components.append(entry);
+ _components.insertMulti(entry.typeName, entry);
} else if (sectionCount == 3) {
const QString &version = sections[1];
const int dotIndex = version.indexOf(QLatin1Char('.'));
@@ -196,7 +196,7 @@ bool QQmlDirParser::parse()
_scripts.append(entry);
} else {
const Component entry(sections[0], fileName, majorVersion, minorVersion);
- _components.append(entry);
+ _components.insertMulti(entry.typeName, entry);
}
}
}
@@ -250,7 +250,7 @@ QList<QQmlDirParser::Plugin> QQmlDirParser::plugins() const
return _plugins;
}
-QList<QQmlDirParser::Component> QQmlDirParser::components() const
+QHash<QHashedStringRef,QQmlDirParser::Component> QQmlDirParser::components() const
{
return _components;
}