diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2018-07-13 15:59:26 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2018-10-16 13:28:05 +0000 |
commit | fb1c562c2ed9cd43f16773f3228d64bd8ff32173 (patch) | |
tree | 47dc812e0a213d643c668b023ee5bd88175c7f95 | |
parent | 8fc53e97644657e349fe1682a73429df7675f9e3 (diff) |
QmlJS: Don't recalculate the empty library's fingerprint
LibraryInfo::calculateFingerprint() is expensive. The default ctor will
always result in the same fingerprint. We only need to calculate it
once.
Change-Id: I680dc63624d68ddeca7f3467f4518d767274b246
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
-rw-r--r-- | src/libs/qmljs/qmljsdocument.cpp | 8 | ||||
-rw-r--r-- | src/libs/qmljs/qmljsdocument.h | 3 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/libs/qmljs/qmljsdocument.cpp b/src/libs/qmljs/qmljsdocument.cpp index 6de0a75fcb..0474fca121 100644 --- a/src/libs/qmljs/qmljsdocument.cpp +++ b/src/libs/qmljs/qmljsdocument.cpp @@ -354,6 +354,14 @@ Bind *Document::bind() const return _bind; } +LibraryInfo::LibraryInfo() + : _status(NotScanned) + , _dumpStatus(NoTypeInfo) +{ + static const QByteArray emptyFingerprint = calculateFingerprint(); + _fingerprint = emptyFingerprint; +} + LibraryInfo::LibraryInfo(Status status) : _status(status) , _dumpStatus(NoTypeInfo) diff --git a/src/libs/qmljs/qmljsdocument.h b/src/libs/qmljs/qmljsdocument.h index 937c763573..4029373992 100644 --- a/src/libs/qmljs/qmljsdocument.h +++ b/src/libs/qmljs/qmljsdocument.h @@ -164,7 +164,8 @@ private: QString _dumpError; public: - explicit LibraryInfo(Status status = NotScanned); + LibraryInfo(); + explicit LibraryInfo(Status status); explicit LibraryInfo(const QmlDirParser &parser, const QByteArray &fingerprint = QByteArray()); ~LibraryInfo(); |