aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/qmljs/qmljslink.h
diff options
context:
space:
mode:
authorChristian Kamm <christian.d.kamm@nokia.com>2011-02-25 16:16:37 +0100
committerChristian Kamm <christian.d.kamm@nokia.com>2011-02-25 16:23:12 +0100
commitaeb8c352eef3bfb7d89caa634e8e0a1f920a53a3 (patch)
tree604cad8e67e7a2eef49fe11b10ed9633fbcfc916 /src/libs/qmljs/qmljslink.h
parent42077be2a0f953e039c1da41e5c949cfde30a300 (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.h9
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);