QmlJS: Support .import directives in js files.

* Allow .import...
* Fix parsing of JS files when using Lexer::scanDirectives()
* Clean up ImportInfo construction.
* Rename ImportInfo::id to ImportInfo::as.

Change-Id: I888da248f06dc6184db99aa74c3b50d7f2f5e491
Reviewed-on: http://codereview.qt-project.org/5625
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
This commit is contained in:
Christian Kamm
2011-09-27 15:12:22 +02:00
parent faa792f3cd
commit 82cbd0a974
10 changed files with 186 additions and 95 deletions

View File

@@ -52,9 +52,11 @@ class QMLJS_EXPORT Bind: protected AST::Visitor
Q_DECLARE_TR_FUNCTIONS(QmlJS::Bind)
public:
Bind(Document *doc, QList<DiagnosticMessage> *messages);
Bind(Document *doc, QList<DiagnosticMessage> *messages,
bool isJsLibrary, const QList<ImportInfo> &jsImports);
virtual ~Bind();
bool isJsLibrary() const;
QList<ImportInfo> imports() const;
ObjectValue *idEnvironment() const;
@@ -105,8 +107,8 @@ private:
QMultiHash<QString, const ObjectValue *> _qmlObjectsByPrototypeName;
QSet<AST::Node *> _groupedPropertyBindings;
QHash<AST::Node *, ObjectValue *> _attachedJSScopes;
QStringList _includedScripts;
bool _isJsLibrary;
QList<ImportInfo> _imports;
QList<DiagnosticMessage> *_diagnosticMessages;