Skip to content

Commit

Permalink
Disable java-style iterators
Browse files Browse the repository at this point in the history
Done long ago in Qt Creator 1b4766e26c6bd522ec49237075669ac025c47b20.

Change-Id: I251d12f367af0b2d706d84104755425e530bba22
Reviewed-by: Christian Kandeler <[email protected]>
  • Loading branch information
orgads committed Dec 25, 2024
1 parent db8af03 commit a4806a6
Show file tree
Hide file tree
Showing 13 changed files with 34 additions and 81 deletions.
1 change: 1 addition & 0 deletions cmake/QbsBuildConfig.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ set(DEFAULT_DEFINES
QT_DISABLE_DEPRECATED_UP_TO=0x050f00
QT_WARN_DEPRECATED_BEFORE=0x060700
QT_WARN_DEPRECATED_UP_TO=0x060700
QT_NO_JAVA_STYLE_ITERATORS
)
if(WIN32)
list(APPEND DEFAULT_DEFINES UNICODE _UNICODE _SCL_SECURE_NO_WARNINGS)
Expand Down
1 change: 1 addition & 0 deletions qbs-resources/imports/QbsProduct.qbs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Product {
var res = [
"QT_NO_CAST_FROM_ASCII",
"QT_NO_CAST_FROM_BYTEARRAY",
"QT_NO_JAVA_STYLE_ITERATORS",
"QT_NO_PROCESS_COMBINED_ARGUMENT_START",
"QT_DISABLE_DEPRECATED_BEFORE=0x050f00",
"QT_DISABLE_DEPRECATED_UP_TO=0x050f00",
Expand Down
9 changes: 2 additions & 7 deletions src/lib/corelib/api/changeset.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,7 @@ static bool overlaps(int posA, int lengthA, int posB, int lengthB) {

bool ChangeSet::hasOverlap(int pos, int length)
{
QListIterator<EditOp> i(m_operationList);
while (i.hasNext()) {
const EditOp &cmd = i.next();

for (const EditOp &cmd : m_operationList) {
switch (cmd.type) {
case EditOp::Replace:
if (overlaps(pos, length, cmd.pos1, cmd.length1))
Expand Down Expand Up @@ -258,9 +255,7 @@ void ChangeSet::doReplace(const EditOp &replace_helper, QList<EditOp> *replaceLi
Q_ASSERT(replace_helper.type == EditOp::Replace);

{
QMutableListIterator<EditOp> i(*replaceList);
while (i.hasNext()) {
EditOp &c = i.next();
for (EditOp &c : *replaceList) {
if (replace_helper.pos1 <= c.pos1)
c.pos1 += replace_helper.text.size();
if (replace_helper.pos1 < c.pos1)
Expand Down
14 changes: 4 additions & 10 deletions src/lib/corelib/generators/generatableprojectiterator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,8 @@ GeneratableProjectIterator::GeneratableProjectIterator(GeneratableProject projec
void GeneratableProjectIterator::accept(IGeneratableProjectVisitor *visitor)
{
visitor->visitProject(project);
QMapIterator<QString, qbs::Project> it(project.projects);
while (it.hasNext()) {
it.next();
for (auto it = project.projects.cbegin(), end = project.projects.cend(); it != end; ++it)
visitor->visitProject(it.value(), it.key());
}

accept(project, GeneratableProjectData(), project, visitor);
}
Expand All @@ -65,9 +62,7 @@ void GeneratableProjectIterator::accept(const GeneratableProject &project,
{
visitor->visitProjectData(project, parentProjectData, projectData);
visitor->visitProjectData(project, projectData);
QMapIterator<QString, qbs::ProjectData> it(projectData.data);
while (it.hasNext()) {
it.next();
for (auto it = projectData.data.cbegin(), end = projectData.data.cend(); it != end; ++it) {
visitor->visitProjectData(parentProjectData.data.value(it.key()), it.value(), it.key());
visitor->visitProjectData(it.value(), it.key());
}
Expand All @@ -78,9 +73,8 @@ void GeneratableProjectIterator::accept(const GeneratableProject &project,

for (const auto &productDataMap : projectData.products) {
visitor->visitProduct(project, projectData, productDataMap);
QMapIterator<QString, qbs::ProductData> it(productDataMap.data);
while (it.hasNext()) {
it.next();
for (auto it = productDataMap.data.cbegin(), end = productDataMap.data.cend(); it != end;
++it) {
visitor->visitProduct(it.value(), it.key());
}
}
Expand Down
20 changes: 4 additions & 16 deletions src/lib/corelib/generators/generator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -127,11 +127,8 @@ QStringList ProjectGenerator::buildConfigurationCommandLine(const Project &proje
QStringList commandLineParameters;
commandLineParameters += QStringLiteral("config:") + name;

QMapIterator<QString, QVariant> it(config);
while (it.hasNext()) {
it.next();
for (auto it = config.cbegin(), end = config.cend(); it != end; ++it)
commandLineParameters += it.key() + QStringLiteral(":") + it.value().toString();
}

return commandLineParameters;
}
Expand Down Expand Up @@ -166,22 +163,16 @@ static GeneratableProjectData _reduceProjectConfigurations(
GeneratableProjectData gproject;

// Add the project's project data for each configuration
QMapIterator<QString, ProjectData> it(map);
while (it.hasNext()) {
it.next();
for (auto it = map.cbegin(), end = map.cend(); it != end; ++it)
gproject.data.insert(it.key(), it.value());
}

// Add the project's products...
for (int i = 0; i < _productCount(map.values()); ++i) {
GeneratableProductData prod;

// once for each configuration
QMapIterator<QString, ProjectData> it(map);
while (it.hasNext()) {
it.next();
for (auto it = map.cbegin(), end = map.cend(); it != end; ++it)
prod.data.insert(it.key(), it.value().products().at(i));
}

gproject.products.push_back(prod);
}
Expand All @@ -191,11 +182,8 @@ static GeneratableProjectData _reduceProjectConfigurations(
QMap<QString, ProjectData> subprojectMap;

// once for each configuration
QMapIterator<QString, ProjectData> it(map);
while (it.hasNext()) {
it.next();
for (auto it = map.cbegin(), end = map.cend(); it != end; ++it)
subprojectMap.insert(it.key(), it.value().subProjects().at(i));
}

gproject.subProjects.push_back(_reduceProjectConfigurations(subprojectMap));
}
Expand Down
18 changes: 4 additions & 14 deletions src/lib/corelib/generators/generatordata.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,7 @@ QString GeneratableProjectData::name() const
CodeLocation GeneratableProjectData::location() const
{
CodeLocation location;
QMapIterator<QString, ProjectData> it(data);
while (it.hasNext()) {
it.next();
for (auto it = data.cbegin(), end = data.cend(); it != end; ++it) {
CodeLocation oldLocation = location;
location = it.value().location();
if (oldLocation.isValid() && oldLocation != location)
Expand All @@ -113,9 +111,7 @@ GeneratableProjectData::Id GeneratableProjectData::uniqueName() const
QDir GeneratableProject::baseBuildDirectory() const
{
Internal::Set<QString> baseBuildDirectory;
QMapIterator<QString, ProjectData> it(data);
while (it.hasNext()) {
it.next();
for (auto it = data.cbegin(), end = data.cend(); it != end; ++it) {
QDir dir(it.value().buildDirectory());
dir.cdUp();
baseBuildDirectory.insert(dir.absolutePath());
Expand All @@ -127,11 +123,8 @@ QDir GeneratableProject::baseBuildDirectory() const
QFileInfo GeneratableProject::filePath() const
{
Internal::Set<QString> filePath;
QMapIterator<QString, ProjectData> it(data);
while (it.hasNext()) {
it.next();
for (auto it = data.cbegin(), end = data.cend(); it != end; ++it)
filePath.insert(it.value().location().filePath());
}
Q_ASSERT(filePath.size() == 1);
return QFileInfo(*filePath.begin());
}
Expand All @@ -144,11 +137,8 @@ bool GeneratableProject::hasMultipleConfigurations() const
QStringList GeneratableProject::commandLine() const
{
QStringList combinedCommandLine;
QMapIterator<QString, QStringList> it(commandLines);
while (it.hasNext()) {
it.next();
for (auto it = commandLines.cbegin(), end = commandLines.cend(); it != end; ++it)
combinedCommandLine << it.value();
}
return combinedCommandLine;
}

Expand Down
5 changes: 1 addition & 4 deletions src/lib/corelib/jsextensions/propertylistutils.h
Original file line number Diff line number Diff line change
Expand Up @@ -63,11 +63,8 @@ class QPropertyListUtils
template <typename Key, typename T>
QMap<Key, T> qHashToMap(const QHash<Key, T> &hash) {
QMap<Key, T> map;
QHashIterator<Key, T> i(hash);
while (i.hasNext()) {
i.next();
for (auto i = hash.cbegin(), end = hash.cend(); i != end; ++i)
map.insert(i.key(), i.value());
}
return map;
}

Expand Down
5 changes: 1 addition & 4 deletions src/lib/corelib/jsextensions/propertylistutils.mm
Original file line number Diff line number Diff line change
Expand Up @@ -163,11 +163,8 @@ static id toObject(const QVariant &variant)
static NSDictionary *toDictionary(const QVariantMap &map)
{
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
QMapIterator<QString, QVariant> i(map);
while (i.hasNext()) {
i.next();
for (auto i = map.cbegin(), end = map.cend(); i != end; ++i)
[dict setObject:toObject(i.value()) forKey:i.key().toNSString()];
}
return [NSDictionary dictionaryWithDictionary:dict];
}

Expand Down
4 changes: 1 addition & 3 deletions src/lib/corelib/tools/architectures.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -145,9 +145,7 @@ QString canonicalArchitecture(const QString &architecture)
<< QStringLiteral("mips64eb")
<< QStringLiteral("mips64el"));

QMapIterator<QString, QStringList> i(archMap);
while (i.hasNext()) {
i.next();
for (auto i = archMap.cbegin(), end = archMap.cend(); i != end; ++i) {
if (i.value().contains(architecture.toLower()))
return i.key();
}
Expand Down
6 changes: 2 additions & 4 deletions src/plugins/generator/iarew/iarewproject.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -104,10 +104,8 @@ IarewProject::IarewProject(const GeneratableProject &genProject,
}

// Construct all file groups items.
QMapIterator<QString, qbs::ProductData> dataIt(genProduct.data);
while (dataIt.hasNext()) {
dataIt.next();
const auto groups = dataIt.value().groups();
for (auto it = genProduct.data.cbegin(), end = genProduct.data.cend(); it != end; ++it) {
const auto groups = it.value().groups();
for (const auto &group : groups) {
// Ignore disabled groups (e.g. when its condition property is false).
if (!group.isEnabled())
Expand Down
24 changes: 11 additions & 13 deletions src/plugins/generator/visualstudio/msbuildqbsproductproject.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -362,9 +362,9 @@ void MSBuildQbsProductProject::addFiles(const GeneratableProject &project,

// Create a ClCompile item for each source file, keeping track of which configurations that
// file's containing group is enabled in
QMapIterator<QString, qbs::ProductData> productDataIt(product.data);
while (productDataIt.hasNext()) {
productDataIt.next();
for (auto productDataIt = product.data.cbegin(), end = product.data.cend();
productDataIt != end;
++productDataIt) {
const auto groups = productDataIt.value().groups();
for (const auto &group : groups) {
const auto sourceArtifacts = group.allSourceArtifacts();
Expand Down Expand Up @@ -392,17 +392,15 @@ void MSBuildQbsProductProject::addFiles(const GeneratableProject &project,
// Add ExcludedFromBuild item metadata to each file for each configuration
// where that file's containing group is disabled
for (const auto &sourceFileNode : sourceFileNodes) {
QMapIterator<QString, qbs::Project> projIt(project.projects);
while (projIt.hasNext()) {
projIt.next();
if (!sourceFileEnabledConfigurations[sourceFileNode.first].contains(projIt.key())) {
for (auto it = project.projects.cbegin(), end = project.projects.cend(); it != end; ++it) {
if (!sourceFileEnabledConfigurations[sourceFileNode.first].contains(it.key())) {
const auto metadata = new MSBuildItemMetadata(
QStringLiteral("ExcludedFromBuild"),
QStringLiteral("true"),
sourceFileNode.second);
metadata->setCondition(QStringLiteral("'$(Configuration)|$(Platform)'=='")
+ MSBuildUtils::fullName(projIt.value())
+ QStringLiteral("'"));
QStringLiteral("ExcludedFromBuild"),
QStringLiteral("true"),
sourceFileNode.second);
metadata->setCondition(
QStringLiteral("'$(Configuration)|$(Platform)'=='")
+ MSBuildUtils::fullName(it.value()) + QStringLiteral("'"));
}
}
}
Expand Down
4 changes: 1 addition & 3 deletions src/plugins/generator/visualstudio/msbuildtargetproject.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,7 @@ MSBuildTargetProject::MSBuildTargetProject(const GeneratableProject &project,
const auto projectConfigurationsGroup = new MSBuildItemGroup(this);
projectConfigurationsGroup->setLabel(QStringLiteral("ProjectConfigurations"));

QMapIterator<QString, qbs::Project> it(project.projects);
while (it.hasNext()) {
it.next();
for (auto it = project.projects.cbegin(), end = project.projects.cend(); it != end; ++it) {
const auto item = new MSBuildItem(QStringLiteral("ProjectConfiguration"),
projectConfigurationsGroup);
item->setInclude(MSBuildUtils::fullName(it.value()));
Expand Down
4 changes: 1 addition & 3 deletions src/plugins/generator/visualstudio/visualstudiogenerator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -244,9 +244,7 @@ static void addDefaultGlobalSections(const GeneratableProject &topLevelProject,
static void writeProjectFiles(const QMap<QString, std::shared_ptr<MSBuildProject>> &projects)
{
// Write out all the MSBuild project files to disk
QMapIterator<QString, std::shared_ptr<MSBuildProject>> it(projects);
while (it.hasNext()) {
it.next();
for (auto it = projects.cbegin(), end = projects.cend(); it != end; ++it) {
const auto projectFilePath = it.key();
Internal::FileSaver file(projectFilePath.toStdString());
if (!file.open())
Expand Down

0 comments on commit a4806a6

Please sign in to comment.