From 5223a909772d92db803dcc54af99f59653bb2979 Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Tue, 25 Apr 2023 18:57:07 +0200 Subject: [PATCH] QmlDesigner: Fix QmlTypesParser Change-Id: I826e1a37747a51602f3f7a8ea675320787080272 Reviewed-by: Tim Jenssen (cherry picked from commit b929cbfd64bba1950b2252576e2c620ad03485d8) Reviewed-by: Thomas Hartmann --- .../projectstorage/qmltypesparser.cpp | 5 ++--- .../projectstorage/qmltypesparser.h | 19 +++++++++---------- .../qmldesigner/qmldesignerprojectmanager.cpp | 2 +- tests/unit/unittest/qmltypesparser-test.cpp | 2 +- 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 ac1761318d0..aebe57a14b0 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 -#ifdef QDS_HAS_QMLPRIVATE +#ifdef HasQQmlJSTypeDescriptionReader #include #include #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 522e5d3292e..0af85be7570 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 @@ -22,16 +26,13 @@ class QmlTypesParser : public QmlTypesParserInterface { public: using ProjectStorage = QmlDesigner::ProjectStorage; - using PathCache = QmlDesigner::SourcePathCache; -#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 c1003915813..ef36b3957a1 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 pathWatcher{pathCache, fileSystem, &updater}; ProjectPartId projectPartId; diff --git a/tests/unit/unittest/qmltypesparser-test.cpp b/tests/unit/unittest/qmltypesparser-test.cpp index 405eec57df6..cc4fe6def47 100644 --- a/tests/unit/unittest/qmltypesparser-test.cpp +++ b/tests/unit/unittest/qmltypesparser-test.cpp @@ -149,7 +149,7 @@ protected: QmlDesigner::ProjectStorage storage{database, database.isInitialized()}; QmlDesigner::SourcePathCache> 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")};