diff options
author | Christian Kamm <christian.d.kamm@nokia.com> | 2011-02-25 16:16:37 +0100 |
---|---|---|
committer | Christian Kamm <christian.d.kamm@nokia.com> | 2011-02-25 16:23:12 +0100 |
commit | aeb8c352eef3bfb7d89caa634e8e0a1f920a53a3 (patch) | |
tree | 604cad8e67e7a2eef49fe11b10ed9633fbcfc916 /src/libs/qmljs/qmljslink.h | |
parent | 42077be2a0f953e039c1da41e5c949cfde30a300 (diff) |
QmlJS: Try to implicitly import libraries in the same directory.
In QML, the current directory that holds a QML file is imported
implicitly. If it contains a qmldir file, the library is imported.
Since there is no explicit import statement, Creator can't know the URI
of this library. However, if type information is available for it
already - either through a previous dump or a qmltypes file - we can
guess the URI by looking at the contained exports.
Task-number: QTCREATORBUG-3768
Diffstat (limited to 'src/libs/qmljs/qmljslink.h')
-rw-r--r-- | src/libs/qmljs/qmljslink.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libs/qmljs/qmljslink.h b/src/libs/qmljs/qmljslink.h index 6b09ccf039..ad19a54781 100644 --- a/src/libs/qmljs/qmljslink.h +++ b/src/libs/qmljs/qmljslink.h @@ -37,6 +37,7 @@ #include <qmljs/qmljsdocument.h> #include <qmljs/qmljsinterpreter.h> #include <qmljs/parser/qmljsastfwd_p.h> +#include <languageutils/componentversion.h> #include <QtCore/QCoreApplication> @@ -73,6 +74,14 @@ private: Interpreter::ObjectValue *importNonFile(Document::Ptr doc, const Interpreter::ImportInfo &importInfo); void importObject(Bind *bind, const QString &name, Interpreter::ObjectValue *object, NameId *targetNamespace); + void loadQmldirComponents(Interpreter::ObjectValue *import, + LanguageUtils::ComponentVersion version, + const LibraryInfo &libraryInfo, + const QString &libraryPath); + void loadImplicitDirectoryImports(Interpreter::TypeEnvironment *typeEnv, Document::Ptr doc); + void loadImplicitLibraryImports(Interpreter::TypeEnvironment *typeEnv, const QString &path); + void loadImplicitDefaultImports(Interpreter::TypeEnvironment *typeEnv); + void error(const Document::Ptr &doc, const AST::SourceLocation &loc, const QString &message); void warning(const Document::Ptr &doc, const AST::SourceLocation &loc, const QString &message); |