QmlJS: Don't warn user about imports if static info is available

Don't underline the import if a qmldump fails,
but the typeinfo is available via a .qmltypes file. That should allow
users to 'fix' qmldump issues by shipping a .qmltypes file.

Reviewed-by: Erik Verbruggen
This commit is contained in:
Kai Koehne
2011-04-12 09:14:31 +02:00
parent f19669e661
commit 3e07024e10
6 changed files with 32 additions and 2 deletions

View File

@@ -347,8 +347,16 @@ bool Link::importLibrary(Document::Ptr doc, Interpreter::ObjectValue *import,
tr("Library contains C++ plugins, type dump is in progress."));
}
} else if (libraryInfo.dumpStatus() == LibraryInfo::DumpError) {
if (errorLoc.isValid()) {
error(doc, errorLoc, libraryInfo.dumpError());
ModelManagerInterface *modelManager = ModelManagerInterface::instance();
// Only underline import if package/version isn't described in .qmltypes anyway
const QmlJS::ModelManagerInterface::BuiltinPackagesHash builtinPackages
= modelManager->builtinPackages();
const QString packageName = importInfo.name().replace(QDir::separator(), QLatin1Char('.'));
if (!builtinPackages.value(packageName).contains(importInfo.version())) {
if (errorLoc.isValid()) {
error(doc, errorLoc, libraryInfo.dumpError());
}
}
} else {
QList<QmlObjectValue *> loadedObjects =