diff options
author | Marco Bubke <marco.bubke@qt.io> | 2023-04-25 18:57:07 +0200 |
---|---|---|
committer | Marco Bubke <marco.bubke@qt.io> | 2023-04-26 13:21:23 +0000 |
commit | 5223a909772d92db803dcc54af99f59653bb2979 (patch) | |
tree | 44c1562a76c32771e928ef93220d57bc76a17d5f | |
parent | cadca7212eeb367a2c1f2d3c50f976734d9a4dff (diff) | |
download | qt-creator-5223a909772d92db803dcc54af99f59653bb2979.tar.gz |
QmlDesigner: Fix QmlTypesParser
Change-Id: I826e1a37747a51602f3f7a8ea675320787080272
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
(cherry picked from commit b929cbfd64bba1950b2252576e2c620ad03485d8)
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
4 files changed, 13 insertions, 15 deletions
diff --git a/src/plugins/qmldesigner/designercore/projectstorage/qmltypesparser.cpp b/src/plugins/qmldesigner/designercore/projectstorage/qmltypesparser.cpp index ac1761318d..aebe57a14b 100644 --- a/src/plugins/qmldesigner/designercore/projectstorage/qmltypesparser.cpp +++ b/src/plugins/qmldesigner/designercore/projectstorage/qmltypesparser.cpp @@ -4,11 +4,10 @@ #include "qmltypesparser.h" #include "projectstorage.h" -#include "sourcepathcache.h" #include <sqlitedatabase.h> -#ifdef QDS_HAS_QMLPRIVATE +#ifdef HasQQmlJSTypeDescriptionReader #include <private/qqmldomtop_p.h> #include <private/qqmljstypedescriptionreader_p.h> #endif @@ -20,7 +19,7 @@ namespace QmlDesigner { -#if defined(QDS_HAS_QMLPRIVATE) && QT_VERSION >= QT_VERSION_CHECK(6, 5, 0) +#ifdef HasQQmlJSTypeDescriptionReader namespace QmlDom = QQmlJS::Dom; diff --git a/src/plugins/qmldesigner/designercore/projectstorage/qmltypesparser.h b/src/plugins/qmldesigner/designercore/projectstorage/qmltypesparser.h index 522e5d3292..0af85be757 100644 --- a/src/plugins/qmldesigner/designercore/projectstorage/qmltypesparser.h +++ b/src/plugins/qmldesigner/designercore/projectstorage/qmltypesparser.h @@ -10,6 +10,10 @@ namespace Sqlite { class Database; } +#if defined(QDS_HAS_QMLPRIVATE) && QT_VERSION >= QT_VERSION_CHECK(6, 5, 0) +#define HasQQmlJSTypeDescriptionReader +#endif + namespace QmlDesigner { template<typename Database> @@ -22,16 +26,13 @@ class QmlTypesParser : public QmlTypesParserInterface { public: using ProjectStorage = QmlDesigner::ProjectStorage<Sqlite::Database>; - using PathCache = QmlDesigner::SourcePathCache<ProjectStorage, NonLockingMutex>; -#ifdef QDS_HAS_QMLPRIVATE - QmlTypesParser(PathCache &pathCache, ProjectStorage &storage) - : m_pathCache{pathCache} - , m_storage{storage} +#ifdef HasQQmlJSTypeDescriptionReader + QmlTypesParser(ProjectStorage &storage) + : m_storage{storage} {} #else - QmlTypesParser(PathCache &, ProjectStorage &) - {} + QmlTypesParser(ProjectStorage &) {} #endif void parse(const QString &sourceContent, @@ -40,9 +41,7 @@ public: const Storage::Synchronization::ProjectData &projectData) override; private: - // m_pathCache and m_storage are only used when compiled for QDS -#ifdef QDS_HAS_QMLPRIVATE - PathCache &m_pathCache; +#ifdef HasQQmlJSTypeDescriptionReader ProjectStorage &m_storage; #endif }; diff --git a/src/plugins/qmldesigner/qmldesignerprojectmanager.cpp b/src/plugins/qmldesigner/qmldesignerprojectmanager.cpp index c100391581..ef36b3957a 100644 --- a/src/plugins/qmldesigner/qmldesignerprojectmanager.cpp +++ b/src/plugins/qmldesigner/qmldesignerprojectmanager.cpp @@ -185,7 +185,7 @@ public: FileSystem fileSystem{pathCache}; FileStatusCache fileStatusCache{fileSystem}; QmlDocumentParser qmlDocumentParser{storage, pathCache}; - QmlTypesParser qmlTypesParser{pathCache, storage}; + QmlTypesParser qmlTypesParser{storage}; ProjectStoragePathWatcher<QFileSystemWatcher, QTimer, ProjectStorageUpdater::PathCache> pathWatcher{pathCache, fileSystem, &updater}; ProjectPartId projectPartId; diff --git a/tests/unit/unittest/qmltypesparser-test.cpp b/tests/unit/unittest/qmltypesparser-test.cpp index 405eec57df..cc4fe6def4 100644 --- a/tests/unit/unittest/qmltypesparser-test.cpp +++ b/tests/unit/unittest/qmltypesparser-test.cpp @@ -149,7 +149,7 @@ protected: QmlDesigner::ProjectStorage<Sqlite::Database> storage{database, database.isInitialized()}; QmlDesigner::SourcePathCache<QmlDesigner::ProjectStorage<Sqlite::Database>> sourcePathCache{ storage}; - QmlDesigner::QmlTypesParser parser{sourcePathCache, storage}; + QmlDesigner::QmlTypesParser parser{storage}; Storage::Imports imports; Storage::Types types; SourceId qmltypesFileSourceId{sourcePathCache.sourceId("path/to/types.qmltypes")}; |