diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2018-07-14 01:02:04 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2018-07-16 09:38:30 +0200 |
commit | 43645fd59c6bcb0a3e37eef530ef970f51ed48af (patch) | |
tree | d377a19c36e9e853377db59b58d937db0ea67e0d /tools | |
parent | ad0f200df54e5afcb1fdcb977794259bdb9216b5 (diff) | |
parent | f42207cbdb0cbe5e345bfd9e000b3e77b34a503c (diff) |
Merge remote-tracking branch 'origin/5.11' into dev
Conflicts:
src/quick/items/qquickloader.cpp
tests/auto/quick/qquickanimations/tst_qquickanimations.cpp
Change-Id: I0cb9f637d24ccd0ecfb50c455cc210119f744b02
Diffstat (limited to 'tools')
-rw-r--r-- | tools/qmlimportscanner/main.cpp | 49 |
1 files changed, 28 insertions, 21 deletions
diff --git a/tools/qmlimportscanner/main.cpp b/tools/qmlimportscanner/main.cpp index 5bd66243e6..60e0f1773f 100644 --- a/tools/qmlimportscanner/main.cpp +++ b/tools/qmlimportscanner/main.cpp @@ -53,18 +53,23 @@ QT_USE_NAMESPACE -QStringList g_qmlImportPaths; +namespace { -static inline QString typeLiteral() { return QStringLiteral("type"); } -static inline QString versionLiteral() { return QStringLiteral("version"); } -static inline QString nameLiteral() { return QStringLiteral("name"); } -static inline QString relativePathLiteral() { return QStringLiteral("relativePath"); } -static inline QString pluginsLiteral() { return QStringLiteral("plugins"); } -static inline QString pathLiteral() { return QStringLiteral("path"); } -static inline QString classnamesLiteral() { return QStringLiteral("classnames"); } -static inline QString dependenciesLiteral() { return QStringLiteral("dependencies"); } +QStringList g_qmlImportPaths; -static void printUsage(const QString &appNameIn) +inline QString typeLiteral() { return QStringLiteral("type"); } +inline QString versionLiteral() { return QStringLiteral("version"); } +inline QString nameLiteral() { return QStringLiteral("name"); } +inline QString relativePathLiteral() { return QStringLiteral("relativePath"); } +inline QString pluginsLiteral() { return QStringLiteral("plugins"); } +inline QString pathLiteral() { return QStringLiteral("path"); } +inline QString classnamesLiteral() { return QStringLiteral("classnames"); } +inline QString dependenciesLiteral() { return QStringLiteral("dependencies"); } +inline QString moduleLiteral() { return QStringLiteral("module"); } +inline QString javascriptLiteral() { return QStringLiteral("javascript"); } +inline QString directoryLiteral() { return QStringLiteral("directory"); } + +void printUsage(const QString &appNameIn) { const std::wstring appName = appNameIn.toStdWString(); #ifndef QT_BOOTSTRAPPED @@ -95,9 +100,9 @@ QVariantList findImportsInAst(QQmlJS::AST::UiHeaderItemList *headerItemList, con QString name = importNode->fileName.toString(); import[nameLiteral()] = name; if (name.endsWith(QLatin1String(".js"))) { - import[typeLiteral()] = QStringLiteral("javascript"); + import[typeLiteral()] = javascriptLiteral(); } else { - import[typeLiteral()] = QStringLiteral("directory"); + import[typeLiteral()] = directoryLiteral(); } import[pathLiteral()] = QDir::cleanPath(path + QLatin1Char('/') + name); @@ -113,7 +118,7 @@ QVariantList findImportsInAst(QQmlJS::AST::UiHeaderItemList *headerItemList, con name.chop(1); // remove trailing "." if (!name.isEmpty()) import[nameLiteral()] = name; - import[typeLiteral()] = QStringLiteral("module"); + import[typeLiteral()] = moduleLiteral(); import[versionLiteral()] = code.mid(importNode->versionToken.offset, importNode->versionToken.length); } @@ -223,7 +228,7 @@ QVariantList findPathsForModuleImports(const QVariantList &imports) for (int i = 0; i < importsCopy.length(); ++i) { QVariantMap import = qvariant_cast<QVariantMap>(importsCopy.at(i)); - if (import.value(typeLiteral()) == QLatin1String("module")) { + if (import.value(typeLiteral()) == moduleLiteral()) { const QPair<QString, QString> paths = resolveImportPath(import.value(nameLiteral()).toString(), import.value(versionLiteral()).toString()); if (!paths.first.isEmpty()) { @@ -242,7 +247,7 @@ QVariantList findPathsForModuleImports(const QVariantList &imports) for (const QString &line : dependencies) { const auto dep = line.splitRef(QLatin1Char(' ')); QVariantMap depImport; - depImport[typeLiteral()] = QStringLiteral("module"); + depImport[typeLiteral()] = moduleLiteral(); depImport[nameLiteral()] = dep[0].toString(); depImport[versionLiteral()] = dep[1].toString(); importsCopy.append(depImport); @@ -255,7 +260,7 @@ QVariantList findPathsForModuleImports(const QVariantList &imports) } // Scan a single qml file for import statements -static QVariantList findQmlImportsInQmlCode(const QString &filePath, const QString &code) +QVariantList findQmlImportsInQmlCode(const QString &filePath, const QString &code) { QQmlJS::Engine engine; QQmlJS::Lexer lexer(&engine); @@ -275,7 +280,7 @@ static QVariantList findQmlImportsInQmlCode(const QString &filePath, const QStri } // Scan a single qml file for import statements -static QVariantList findQmlImportsInQmlFile(const QString &filePath) +QVariantList findQmlImportsInQmlFile(const QString &filePath) { QFile file(filePath); if (!file.open(QIODevice::ReadOnly)) { @@ -294,7 +299,7 @@ struct ImportCollector : public QQmlJS::Directives void importFile(const QString &jsfile, const QString &module, int line, int column) override { QVariantMap entry; - entry[typeLiteral()] = QStringLiteral("javascript"); + entry[typeLiteral()] = javascriptLiteral(); entry[pathLiteral()] = jsfile; imports << entry; @@ -307,10 +312,10 @@ struct ImportCollector : public QQmlJS::Directives { QVariantMap entry; if (uri.contains(QLatin1Char('/'))) { - entry[typeLiteral()] = QStringLiteral("directory"); + entry[typeLiteral()] = directoryLiteral(); entry[nameLiteral()] = uri; } else { - entry[typeLiteral()] = QStringLiteral("module"); + entry[typeLiteral()] = moduleLiteral(); entry[nameLiteral()] = uri; entry[versionLiteral()] = version; } @@ -444,7 +449,7 @@ QSet<QString> importModulePaths(const QVariantList &imports) { QVariantMap import = qvariant_cast<QVariantMap>(importVariant); QString path = import.value(pathLiteral()).toString(); QString type = import.value(typeLiteral()).toString(); - if (type == QLatin1String("module") && !path.isEmpty()) + if (type == moduleLiteral() && !path.isEmpty()) ret.insert(QDir(path).canonicalPath()); } return ret; @@ -490,6 +495,8 @@ QVariantList findQmlImportsRecursively(const QStringList &qmlDirs, const QString return ret; } +} // namespace + int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); |