diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2019-07-12 20:47:41 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2019-07-17 13:09:50 +0200 |
commit | 140634d2029bfcffd77b16175906082bd03d2d0c (patch) | |
tree | 1803d693e778dfcd50b10720a2f57b2bbb3da71a /src/qml/qmldirparser/qqmldirparser.cpp | |
parent | d2c6ac8d5eaa1d4b53b647f01c53d821bbba4665 (diff) |
Add support for implicit module imports
This allows a module to make another module import with the same minor
version and in the same qualified namespace. This will be used to make
import QtQuick 2.5 implicitly import QtQml 2.5, to maintain compatibility.
It used to be implemented by means of calling C++ type registration functions
directly.
Change-Id: I64c7bfe25d75b9a45f5d44a10d035fc2f86d30ca
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'src/qml/qmldirparser/qqmldirparser.cpp')
-rw-r--r-- | src/qml/qmldirparser/qqmldirparser.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/qml/qmldirparser/qqmldirparser.cpp b/src/qml/qmldirparser/qqmldirparser.cpp index d7662b11f5..5bf33d3602 100644 --- a/src/qml/qmldirparser/qqmldirparser.cpp +++ b/src/qml/qmldirparser/qqmldirparser.cpp @@ -262,6 +262,13 @@ bool QQmlDirParser::parse(const QString &source) } else { reportError(lineNumber, 0, QStringLiteral("invalid version %1, expected <major>.<minor>").arg(sections[2])); } + } else if (sections[0] == QLatin1String("import")) { + if (sectionCount != 2) { + reportError(lineNumber, 0, + QStringLiteral("import requires 2 arguments, but %1 were provided").arg(sectionCount - 1)); + continue; + } + _imports << sections[1]; } else if (sectionCount == 2) { // No version specified (should only be used for relative qmldir files) const Component entry(sections[0], sections[1], -1, -1); @@ -354,6 +361,11 @@ QHash<QString, QQmlDirParser::Component> QQmlDirParser::dependencies() const return _dependencies; } +QStringList QQmlDirParser::imports() const +{ + return _imports; +} + QList<QQmlDirParser::Script> QQmlDirParser::scripts() const { return _scripts; |