From 8017cf63505f7ed477c658634ec882a12d3b3ddc Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Wed, 16 May 2012 17:49:32 +1000 Subject: Optimize type resolution Faster qmlType() and resolveType() lookup. Change-Id: I096439f23bf6071e8bfdf0cda366cc71e00293ba Reviewed-by: Aaron Kennedy --- src/qml/qml/qqmldirparser.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/qml/qml/qqmldirparser.cpp') 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::plugins() const return _plugins; } -QList QQmlDirParser::components() const +QHash QQmlDirParser::components() const { return _components; } -- cgit v1.2.3