Commit eed81ea8 authored by Fawzi Mohamed's avatar Fawzi Mohamed
Browse files

qmljs: simple tracking of used modules



Change-Id: Idc977a8c5a6c6caa3749599cb6f4a236046f53d7
Reviewed-by: default avatarFawzi Mohamed <fawzi.mohamed@digia.com>
parent 0a4310d3
......@@ -2181,9 +2181,14 @@ UiImport *ImportInfo::ast() const
}
Import::Import()
: object(0)
: object(0), valid(false), used(false)
{}
Import::Import(const Import &other)
: object(other.object), info(other.info), libraryPath(other.libraryPath),
valid(other.valid), used(false)
{ }
TypeScope::TypeScope(const Imports *imports, ValueOwner *valueOwner)
: ObjectValue(valueOwner)
, _imports(imports)
......@@ -2208,6 +2213,7 @@ const Value *TypeScope::lookupMember(const QString &name, const Context *context
if (info.as() == name) {
if (foundInObject)
*foundInObject = this;
i.used = true;
return import;
}
continue;
......@@ -2264,6 +2270,7 @@ const Value *JSImportScope::lookupMember(const QString &name, const Context *,
if (info.as() == name) {
if (foundInObject)
*foundInObject = this;
i.used = true;
return import;
}
}
......
......@@ -40,6 +40,7 @@
#include <QHash>
#include <QSet>
#include <QMutex>
#include <QSharedPointer>
namespace QmlJS {
......@@ -906,6 +907,7 @@ private:
class QMLJS_EXPORT Import {
public:
Import();
Import(const Import &other);
// const!
ObjectValue *object;
......@@ -914,6 +916,7 @@ public:
QString libraryPath;
// whether the import succeeded
bool valid;
mutable bool used;
};
class Imports;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment