From 4b1adeca7f98868c0c5f9b5e85829ccc78256103 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Tue, 16 Jun 2020 07:48:09 +0200 Subject: [PATCH] Android: Use QRegularExpression instead of QRegExp Task-number: QTCREATORBUG-24098 Change-Id: Ic19bd73dd2bac39b393bf87c4567193631b57c80 Reviewed-by: hjk --- src/plugins/android/androidmanager.cpp | 1 - src/plugins/android/androidqtversion.cpp | 9 ++++++--- src/plugins/android/androidtoolchain.cpp | 1 - src/plugins/android/javaparser.cpp | 11 ++++++----- src/plugins/android/javaparser.h | 4 ++-- 5 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/plugins/android/androidmanager.cpp b/src/plugins/android/androidmanager.cpp index 04b85d2beb6..9bc32babc3c 100644 --- a/src/plugins/android/androidmanager.cpp +++ b/src/plugins/android/androidmanager.cpp @@ -64,7 +64,6 @@ #include #include #include -#include #include #include diff --git a/src/plugins/android/androidqtversion.cpp b/src/plugins/android/androidqtversion.cpp index b3b602830a5..ef1f8328cfe 100644 --- a/src/plugins/android/androidqtversion.cpp +++ b/src/plugins/android/androidqtversion.cpp @@ -42,6 +42,8 @@ #include +#include + using namespace ProjectExplorer; namespace Android { @@ -168,10 +170,11 @@ void AndroidQtVersion::parseMkSpec(ProFileEvaluator *evaluator) const m_androidAbis = QStringList{evaluator->value("ANDROID_TARGET_ARCH")}; const QString androidPlatform = evaluator->value("ANDROID_PLATFORM"); if (!androidPlatform.isEmpty()) { - const QRegExp regex("android-(\\d+)"); - if (regex.exactMatch(androidPlatform)) { + const QRegularExpression regex("android-(\\d+)"); + const QRegularExpressionMatch match = regex.match(androidPlatform); + if (match.hasMatch()) { bool ok = false; - int tmp = regex.cap(1).toInt(&ok); + int tmp = match.captured(1).toInt(&ok); if (ok) m_minNdk = tmp; } diff --git a/src/plugins/android/androidtoolchain.cpp b/src/plugins/android/androidtoolchain.cpp index d140f08b0c2..a7f9994f9db 100644 --- a/src/plugins/android/androidtoolchain.cpp +++ b/src/plugins/android/androidtoolchain.cpp @@ -35,7 +35,6 @@ #include #include -#include namespace { diff --git a/src/plugins/android/javaparser.cpp b/src/plugins/android/javaparser.cpp index 04035c851d6..04b1b729adc 100644 --- a/src/plugins/android/javaparser.cpp +++ b/src/plugins/android/javaparser.cpp @@ -55,14 +55,15 @@ Utils::OutputLineParser::Result JavaParser::handleLine(const QString &line, Utils::OutputFormat type) { Q_UNUSED(type); - if (m_javaRegExp.indexIn(line) == -1) + const QRegularExpressionMatch match = m_javaRegExp.match(line); + if (!match.hasMatch()) return Status::NotHandled; bool ok; - int lineno = m_javaRegExp.cap(3).toInt(&ok); + int lineno = match.captured(3).toInt(&ok); if (!ok) lineno = -1; - Utils::FilePath file = Utils::FilePath::fromUserInput(m_javaRegExp.cap(2)); + Utils::FilePath file = Utils::FilePath::fromUserInput(match.captured(2)); if (file.isChildOf(m_buildDirectory)) { Utils::FilePath relativePath = file.relativeChildPath(m_buildDirectory); file = m_sourceDirectory.pathAppended(relativePath.toString()); @@ -76,11 +77,11 @@ Utils::OutputLineParser::Result JavaParser::handleLine(const QString &line, } CompileTask task(Task::Error, - m_javaRegExp.cap(4).trimmed(), + match.captured(4).trimmed(), absoluteFilePath(file), lineno); LinkSpecs linkSpecs; - addLinkSpecForAbsoluteFilePath(linkSpecs, task.file, task.line, m_javaRegExp, 2); + addLinkSpecForAbsoluteFilePath(linkSpecs, task.file, task.line, match, 2); scheduleTask(task, 1); return {Status::Done, linkSpecs}; } diff --git a/src/plugins/android/javaparser.h b/src/plugins/android/javaparser.h index 09b19d5bdbe..839f51626be 100644 --- a/src/plugins/android/javaparser.h +++ b/src/plugins/android/javaparser.h @@ -28,7 +28,7 @@ #include #include -#include +#include namespace Android { namespace Internal { @@ -47,7 +47,7 @@ public: private: Result handleLine(const QString &line, Utils::OutputFormat type) override; - QRegExp m_javaRegExp; + QRegularExpression m_javaRegExp; QStringList m_fileList; Utils::FilePath m_sourceDirectory; Utils::FilePath m_buildDirectory;