diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2015-06-20 12:58:10 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2015-06-21 13:42:49 +0000 |
commit | 2422251ee5025a067b14b989153764ab36e43f10 (patch) | |
tree | 8758c5b128a38f0aa6266a156385112aa3527e03 /src/tools/qdoc/qmlmarkupvisitor.cpp | |
parent | 08e0963e0862726feaa10c09b0e3b401c89b9224 (diff) |
qdoc: don't hold QQmlJS::AST::SourceLocation in QLists
QQmlJS::AST::SourceLocation wasn't marked as movable, and it is larger
than void*, so QList<SourceLocation> is horribly inefficient.
Fix by marking as movable primitive and holding in QVector instead.
The same fix probably is required in QtDeclarative, too.
Change-Id: I4e0d2cd32b7e03205d59cbc9900287f77045154a
Reviewed-by: Martin Smith <martin.smith@digia.com>
Diffstat (limited to 'src/tools/qdoc/qmlmarkupvisitor.cpp')
-rw-r--r-- | src/tools/qdoc/qmlmarkupvisitor.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/tools/qdoc/qmlmarkupvisitor.cpp b/src/tools/qdoc/qmlmarkupvisitor.cpp index 735dea548d..3a7635778e 100644 --- a/src/tools/qdoc/qmlmarkupvisitor.cpp +++ b/src/tools/qdoc/qmlmarkupvisitor.cpp @@ -42,7 +42,7 @@ QT_BEGIN_NAMESPACE QmlMarkupVisitor::QmlMarkupVisitor(const QString &source, - const QList<QQmlJS::AST::SourceLocation> &pragmas, + const QVector<QQmlJS::AST::SourceLocation> &pragmas, QQmlJS::Engine *engine) { this->source = source; @@ -54,7 +54,7 @@ QmlMarkupVisitor::QmlMarkupVisitor(const QString &source, // Merge the lists of locations of pragmas and comments in the source code. int i = 0; int j = 0; - const QList<QQmlJS::AST::SourceLocation> comments = engine->comments(); + const QVector<QQmlJS::AST::SourceLocation> comments = engine->comments(); while (i < comments.size() && j < pragmas.length()) { if (comments[i].offset < pragmas[j].offset) { extraTypes.append(Comment); |