diff options
Diffstat (limited to 'src/libs/qmljs/qmljsplugindumper.h')
-rw-r--r-- | src/libs/qmljs/qmljsplugindumper.h | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/src/libs/qmljs/qmljsplugindumper.h b/src/libs/qmljs/qmljsplugindumper.h index d38b09bea4..3b664d507b 100644 --- a/src/libs/qmljs/qmljsplugindumper.h +++ b/src/libs/qmljs/qmljsplugindumper.h @@ -71,18 +71,30 @@ private: QStringList typeInfoPaths; }; + class QmlTypeDescription { + public: + QStringList errors; + QStringList warnings; + QList<LanguageUtils::FakeMetaObject::ConstPtr> objects; + QList<ModuleApiInfo> moduleApis; + QStringList dependencies; + }; + + class DependencyInfo { + public: + QStringList errors; + QStringList warnings; + QList<LanguageUtils::FakeMetaObject::ConstPtr> objects; + }; + void runQmlDump(const QmlJS::ModelManagerInterface::ProjectInfo &info, const QStringList &arguments, const QString &importPath); void dump(const Plugin &plugin); - void loadQmlTypeDescription(const QStringList &path, QStringList &errors, QStringList &warnings, - QList<LanguageUtils::FakeMetaObject::ConstPtr> &objects, - QList<ModuleApiInfo> *moduleApi, - QStringList *dependencies) const; + QFuture<QmlTypeDescription> loadQmlTypeDescription(const QStringList &path) const; QString buildQmltypesPath(const QString &name) const; - void loadDependencies(const QStringList &dependencies, - QStringList &errors, - QStringList &warnings, - QList<LanguageUtils::FakeMetaObject::ConstPtr> &objects, - QSet<QString> *visited = nullptr) const; + + QFuture<PluginDumper::DependencyInfo> loadDependencies(const QStringList &dependencies, + QSharedPointer<QSet<QString>> visited) const; + void loadQmltypesFile(const QStringList &qmltypesFilePaths, const QString &libraryPath, QmlJS::LibraryInfo libraryInfo); @@ -94,6 +106,13 @@ private: private: Utils::FileSystemWatcher *pluginWatcher(); + void prepareLibraryInfo(LibraryInfo &libInfo, + const QString &libraryPath, + const QStringList &deps, + const QStringList &errors, + const QStringList &warnings, + const QList<ModuleApiInfo> &moduleApis, + QList<LanguageUtils::FakeMetaObject::ConstPtr> &objects); ModelManagerInterface *m_modelManager; Utils::FileSystemWatcher *m_pluginWatcher; |