QmlJS: Ensure linkImports() can be run in standalone test

In standalone tests there is no instance of ExtensionSystem::PluginManager.

Change-Id: I890016c4e0d2fbb41cfc0a5614e936d31e43cd0f
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
This commit is contained in:
Thomas Hartmann
2016-05-26 13:04:10 +02:00
parent 547d18c0b9
commit 1628d052fc

View File

@@ -212,10 +212,12 @@ Context::ImportsPerDocument LinkPrivate::linkImports()
Imports *imports = new Imports(valueOwner);
// Add custom imports for the opened document
auto providers = ExtensionSystem::PluginManager::getObjects<CustomImportsProvider>();
foreach (const auto &provider, providers)
foreach (const auto &import, provider->imports(valueOwner, document.data()))
importCache.insert(ImportCacheKey(import.info), import);
if (ExtensionSystem::PluginManager::instance()) {
auto providers = ExtensionSystem::PluginManager::getObjects<CustomImportsProvider>();
foreach (const auto &provider, providers)
foreach (const auto &import, provider->imports(valueOwner, document.data()))
importCache.insert(ImportCacheKey(import.info), import);
}
populateImportedTypes(imports, document);
importsPerDocument.insert(document.data(), QSharedPointer<Imports>(imports));