From 99ae8b19e6b212a08cd7a26c9e81fb9834a2e583 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Tue, 20 Jul 2021 11:59:59 +0200 Subject: [PATCH] QmlJS: Fix build with Qt5.14 Amends af88a7876b5. Change-Id: If3f45922dd822797d477ac8116b4fcbed86c746a Reviewed-by: Fawzi Mohamed Reviewed-by: Fabian Kosmale --- src/libs/qmljs/parser/qmlimportresolver.cpp | 13 +++++++++++-- src/libs/qmljs/parser/qmljsast.cpp | 2 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/libs/qmljs/parser/qmlimportresolver.cpp b/src/libs/qmljs/parser/qmlimportresolver.cpp index e74c5840c1c..a682f56ac30 100644 --- a/src/libs/qmljs/parser/qmlimportresolver.cpp +++ b/src/libs/qmljs/parser/qmlimportresolver.cpp @@ -25,6 +25,8 @@ #include "qmlimportresolver_p.h" +#include + QT_QML_BEGIN_NAMESPACE enum ImportVersion { FullyVersioned, PartiallyVersioned, Unversioned }; @@ -46,7 +48,14 @@ QStringList qQmlResolveImportPaths(QStringView uri, const QStringList &basePaths static const QLatin1Char Slash('/'); static const QLatin1Char Backslash('\\'); - const QList parts = uri.split(u'.', Qt::SkipEmptyParts); + const QList parts +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 2) + = uri.split(u'.', Qt::SkipEmptyParts); +#else + = Utils::transform(uri.toString().split('.', Qt::SkipEmptyParts), [](const QString &s) { + return QStringView(s); + }); +#endif QStringList importPaths; // fully & partially versioned parts + 1 unversioned for each base path @@ -72,7 +81,7 @@ QStringList qQmlResolveImportPaths(QStringView uri, const QStringList &basePaths for (auto it = refs.cbegin(); it != refs.cend(); ++it) { if (it != refs.cbegin()) str += sep; - str += *it; + str += (*it).toString(); } return str; }; diff --git a/src/libs/qmljs/parser/qmljsast.cpp b/src/libs/qmljs/parser/qmljsast.cpp index fd99d9e4d59..19db1058a23 100644 --- a/src/libs/qmljs/parser/qmljsast.cpp +++ b/src/libs/qmljs/parser/qmljsast.cpp @@ -1582,7 +1582,7 @@ QString Type::toString() const void Type::toString(QString *out) const { for (QmlJS::AST::UiQualifiedId *it = typeId; it; it = it->next) { - out->append(it->name); + out->append(it->name.toString()); if (it->next) out->append(QLatin1Char('.'));