diff options
author | Lars Knoll <lars.knoll@qt.io> | 2020-04-01 10:18:10 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2020-05-09 10:39:54 +0200 |
commit | 501186daee80601d77d21d590a9fa3d6217cfbe8 (patch) | |
tree | 2a8b95af17a03ae0f967b7d2b98621d44bb66f07 /src/linguist/shared/qmakeevaluator.cpp | |
parent | 85803440b28aadd3f4fe3e99a52e52378671b9e0 (diff) |
Port linguist from QRegExp to QRegularExpression
Use the DotMatchesEverythingOption in qmakebuiltins.cpp,
where we interpret .pro files, to increase compatibility
with QRegExp.
Change-Id: Ieb460c9647b53d6b8ca3d876e239fc8171ab7802
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/linguist/shared/qmakeevaluator.cpp')
-rw-r--r-- | src/linguist/shared/qmakeevaluator.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/linguist/shared/qmakeevaluator.cpp b/src/linguist/shared/qmakeevaluator.cpp index 6c0ebc244..f3805255f 100644 --- a/src/linguist/shared/qmakeevaluator.cpp +++ b/src/linguist/shared/qmakeevaluator.cpp @@ -41,7 +41,7 @@ #include <qfile.h> #include <qfileinfo.h> #include <qlist.h> -#include <qregexp.h> +#include <qregularexpression.h> #include <qset.h> #include <qstack.h> #include <qstring.h> @@ -334,7 +334,7 @@ ProStringList QMakeEvaluator::split_value_list(const QStringRef &vals, int sourc } static void replaceInList(ProStringList *varlist, - const QRegExp ®exp, const QString &replace, bool global, QString &tmp) + const QRegularExpression ®exp, const QString &replace, bool global, QString &tmp) { for (ProStringList::Iterator varit = varlist->begin(); varit != varlist->end(); ) { ProStringRoUser u1(*varit, tmp); @@ -898,9 +898,11 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::visitProVariable( QString pattern = func[1].toString(); QString replace = func[2].toString(); if (quote) - pattern = QRegExp::escape(pattern); + pattern = QRegularExpression::escape(pattern); - QRegExp regexp(pattern, case_sense ? Qt::CaseSensitive : Qt::CaseInsensitive); + QRegularExpression regexp(pattern, case_sense ? + QRegularExpression::NoPatternOption : + QRegularExpression::CaseInsensitiveOption); // We could make a union of modified and unmodified values, // but this will break just as much as it fixes, so leave it as is. @@ -1635,17 +1637,17 @@ bool QMakeEvaluator::isActiveConfig(const QStringRef &config, bool regex) return m_hostBuild; if (regex && (config.contains(QLatin1Char('*')) || config.contains(QLatin1Char('?')))) { - QRegExp re(config.toString(), Qt::CaseSensitive, QRegExp::Wildcard); + QRegularExpression re(QRegularExpression::wildcardToRegularExpression(config.toString())); // mkspecs - if (re.exactMatch(m_qmakespecName)) + if (re.match(m_qmakespecName).hasMatch()) return true; // CONFIG variable const auto configValues = values(statics.strCONFIG); for (const ProString &configValue : configValues) { ProStringRoUser u1(configValue, m_tmp[m_toggle ^= 1]); - if (re.exactMatch(u1.str())) + if (re.match(u1.str()).hasMatch()) return true; } } else { |