qmljs: fixing used imports

Task-number: QTCREATORBUG-12782
Change-Id: I44808f10504991fb9fc621acedd43035698c6afb
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
This commit is contained in:
Fawzi Mohamed
2014-08-27 19:16:54 +02:00
parent c2be9c01aa
commit 9f2d54c959
3 changed files with 6 additions and 4 deletions

View File

@@ -2312,8 +2312,10 @@ const Value *TypeScope::lookupMember(const QString &name, const Context *context
continue; continue;
} }
if (const Value *v = import->lookupMember(name, context, foundInObject)) if (const Value *v = import->lookupMember(name, context, foundInObject)) {
i.used = true;
return v; return v;
}
} }
if (foundInObject) if (foundInObject)
*foundInObject = 0; *foundInObject = 0;
@@ -2491,7 +2493,7 @@ bool Imports::importFailed() const
return m_importFailed; return m_importFailed;
} }
QList<Import> Imports::all() const const QList<Import> &Imports::all() const
{ {
return m_imports; return m_imports;
} }

View File

@@ -1038,7 +1038,7 @@ public:
QString nameForImportedObject(const ObjectValue *value, const Context *context) const; QString nameForImportedObject(const ObjectValue *value, const Context *context) const;
bool importFailed() const; bool importFailed() const;
QList<Import> all() const; const QList<Import> &all() const;
const TypeScope *typeScope() const; const TypeScope *typeScope() const;
const JSImportScope *jsImportScope() const; const JSImportScope *jsImportScope() const;

View File

@@ -868,7 +868,6 @@ bool TextToModelMerger::load(const QString &data, DifferenceHandler &differenceH
setupImports(doc, differenceHandler); setupImports(doc, differenceHandler);
setupPossibleImports(snapshot, vContext); setupPossibleImports(snapshot, vContext);
setupUsedImports();
if (m_rewriterView->model()->imports().isEmpty()) { if (m_rewriterView->model()->imports().isEmpty()) {
const QmlJS::DiagnosticMessage diagnosticMessage(QmlJS::Severity::Error, AST::SourceLocation(0, 0, 0, 0), QCoreApplication::translate("QmlDesigner::TextToModelMerger", "No import statements found")); const QmlJS::DiagnosticMessage diagnosticMessage(QmlJS::Severity::Error, AST::SourceLocation(0, 0, 0, 0), QCoreApplication::translate("QmlDesigner::TextToModelMerger", "No import statements found"));
@@ -944,6 +943,7 @@ bool TextToModelMerger::load(const QString &data, DifferenceHandler &differenceH
} }
} }
} }
setupUsedImports();
UiObjectMember *astRootNode = 0; UiObjectMember *astRootNode = 0;
if (UiProgram *program = doc->qmlProgram()) if (UiProgram *program = doc->qmlProgram())