aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/qmljs/qmljsplugindumper.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/qmljs/qmljsplugindumper.h')
-rw-r--r--src/libs/qmljs/qmljsplugindumper.h37
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;