forked from qt-creator/qt-creator
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>
This commit is contained in:
@@ -354,6 +354,14 @@ Bind *Document::bind() const
|
|||||||
return _bind;
|
return _bind;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LibraryInfo::LibraryInfo()
|
||||||
|
: _status(NotScanned)
|
||||||
|
, _dumpStatus(NoTypeInfo)
|
||||||
|
{
|
||||||
|
static const QByteArray emptyFingerprint = calculateFingerprint();
|
||||||
|
_fingerprint = emptyFingerprint;
|
||||||
|
}
|
||||||
|
|
||||||
LibraryInfo::LibraryInfo(Status status)
|
LibraryInfo::LibraryInfo(Status status)
|
||||||
: _status(status)
|
: _status(status)
|
||||||
, _dumpStatus(NoTypeInfo)
|
, _dumpStatus(NoTypeInfo)
|
||||||
|
@@ -164,7 +164,8 @@ private:
|
|||||||
QString _dumpError;
|
QString _dumpError;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit LibraryInfo(Status status = NotScanned);
|
LibraryInfo();
|
||||||
|
explicit LibraryInfo(Status status);
|
||||||
explicit LibraryInfo(const QmlDirParser &parser, const QByteArray &fingerprint = QByteArray());
|
explicit LibraryInfo(const QmlDirParser &parser, const QByteArray &fingerprint = QByteArray());
|
||||||
~LibraryInfo();
|
~LibraryInfo();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user