From 24d3a2fa4835e7634f4955bf925c6af66939a1d8 Mon Sep 17 00:00:00 2001 From: Volker Hilsheimer Date: Tue, 3 Dec 2024 13:25:34 +0100 Subject: [PATCH] lexgen: Update generated code to Qt 6 Use .size() instead of .length(), and qsizetype instead of int. Use the deterministic global seed for QHash to reduce variations between reruns. Task-number: QTBUG-131842 Change-Id: I95d13840ad1804aba064b1a7e5dada45f4032d1d Reviewed-by: Edward Welbourne --- util/lexgen/generator.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/util/lexgen/generator.cpp b/util/lexgen/generator.cpp index 991091d9500..cdc768361a4 100644 --- a/util/lexgen/generator.cpp +++ b/util/lexgen/generator.cpp @@ -371,9 +371,9 @@ QString Generator::generate() Class klass(cfg.className); klass.addMember(Class::PublicMember, "QString input"); - klass.addMember(Class::PublicMember, "int pos"); - klass.addMember(Class::PublicMember, "int lexemStart"); - klass.addMember(Class::PublicMember, "int lexemLength"); + klass.addMember(Class::PublicMember, "qsizetype pos"); + klass.addMember(Class::PublicMember, "qsizetype lexemStart"); + klass.addMember(Class::PublicMember, "qsizetype lexemLength"); { CodeBlock body; @@ -388,9 +388,9 @@ QString Generator::generate() Function next("QChar", "next()"); next.setInline(true); if (cfg.caseSensitivity == Qt::CaseSensitive) - next.addBody("return (pos < input.length()) ? input.at(pos++) : QChar();"); + next.addBody("return (pos < input.size()) ? input.at(pos++) : QChar();"); else - next.addBody("return (pos < input.length()) ? input.at(pos++).toLower() : QChar();"); + next.addBody("return (pos < input.size()) ? input.at(pos++).toLower() : QChar();"); klass.addMember(Class::PublicMember, next); } @@ -417,8 +417,8 @@ QString Generator::generate() CodeBlock body; body << "lexemStart = pos;"; body << "lexemLength = 0;"; - body << "int lastAcceptingPos = -1;"; - body << "int token = -1;"; + body << "qsizetype lastAcceptingPos = -1;"; + body << "qsizetype token = -1;"; body << "QChar ch;"; body.addNewLine();