diff options
author | Erik Verbruggen <erik.verbruggen@qt.io> | 2016-09-19 15:36:48 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@qt.io> | 2016-09-25 09:29:53 +0000 |
commit | 33d5e53f865d0950dc390afbe4ded442289c3090 (patch) | |
tree | be2b88e32e01c9481d3b309483efba6322589dd3 | |
parent | b83922861ce7214eb5a2b192ab040c3cc8a42a96 (diff) |
Replace Q_FOREACH/foreach with ranged-for
Change-Id: I7b4d13a49577a7d984727722ff2ae4458eab2d6e
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
-rw-r--r-- | examples/scxml/trafficlight-widgets-dynamic/trafficlight-widgets-dynamic.cpp | 3 | ||||
-rw-r--r-- | src/imports/scxmlstatemachine/eventconnection.cpp | 4 | ||||
-rw-r--r-- | src/imports/scxmlstatemachine/statemachineloader.cpp | 5 | ||||
-rw-r--r-- | src/scxml/qscxmlinvokableservice.cpp | 4 | ||||
-rw-r--r-- | src/scxml/qscxmlparser.cpp | 30 | ||||
-rw-r--r-- | src/scxml/qscxmlparser_p.h | 10 | ||||
-rw-r--r-- | src/scxml/qscxmlstatemachine.cpp | 2 | ||||
-rw-r--r-- | src/scxml/qscxmltabledata.cpp | 26 | ||||
-rw-r--r-- | tests/auto/compiled/tst_compiled.cpp | 2 | ||||
-rw-r--r-- | tests/auto/parser/tst_parser.cpp | 5 | ||||
-rw-r--r-- | tools/qscxmlc/qscxmlc.cpp | 10 | ||||
-rw-r--r-- | tools/qscxmlc/scxmlcppdumper.cpp | 16 |
12 files changed, 62 insertions, 55 deletions
diff --git a/examples/scxml/trafficlight-widgets-dynamic/trafficlight-widgets-dynamic.cpp b/examples/scxml/trafficlight-widgets-dynamic/trafficlight-widgets-dynamic.cpp index dc62133..7b0489e 100644 --- a/examples/scxml/trafficlight-widgets-dynamic/trafficlight-widgets-dynamic.cpp +++ b/examples/scxml/trafficlight-widgets-dynamic/trafficlight-widgets-dynamic.cpp @@ -60,7 +60,8 @@ int main(int argc, char **argv) QScxmlStateMachine *machine = QScxmlStateMachine::fromFile(QStringLiteral(":statemachine.scxml")); if (!machine->parseErrors().isEmpty()) { QTextStream errs(stderr, QIODevice::WriteOnly); - foreach (const QScxmlError &error, machine->parseErrors()) { + const auto errors = machine->parseErrors(); + for (const QScxmlError &error : errors) { errs << error.toString(); } diff --git a/src/imports/scxmlstatemachine/eventconnection.cpp b/src/imports/scxmlstatemachine/eventconnection.cpp index da529ab..9803a9a 100644 --- a/src/imports/scxmlstatemachine/eventconnection.cpp +++ b/src/imports/scxmlstatemachine/eventconnection.cpp @@ -76,11 +76,11 @@ void QScxmlEventConnection::setStateMachine(QScxmlStateMachine *stateMachine) void QScxmlEventConnection::doConnect() { - foreach (const QMetaObject::Connection &connection, m_connections) + for (const QMetaObject::Connection &connection : qAsConst(m_connections)) disconnect(connection); m_connections.clear(); if (m_stateMachine) { - foreach (const QString &event, m_events) { + for (const QString &event : qAsConst(m_events)) { m_connections.append(m_stateMachine->connectToEvent(event, this, &QScxmlEventConnection::occurred)); } diff --git a/src/imports/scxmlstatemachine/statemachineloader.cpp b/src/imports/scxmlstatemachine/statemachineloader.cpp index fd4e9eb..29b25a7 100644 --- a/src/imports/scxmlstatemachine/statemachineloader.cpp +++ b/src/imports/scxmlstatemachine/statemachineloader.cpp @@ -192,8 +192,9 @@ bool QScxmlStateMachineLoader::parse(const QUrl &source) qmlInfo(this) << QStringLiteral("Something went wrong while parsing '%1':") .arg(source.url()) << endl; - foreach (const QScxmlError &msg, m_stateMachine->parseErrors()) { - qmlInfo(this) << msg.toString(); + const auto errors = m_stateMachine->parseErrors(); + for (const QScxmlError &error : errors) { + qmlInfo(this) << error.toString(); } emit stateMachineChanged(); diff --git a/src/scxml/qscxmlinvokableservice.cpp b/src/scxml/qscxmlinvokableservice.cpp index b14d33b..1fdb146 100644 --- a/src/scxml/qscxmlinvokableservice.cpp +++ b/src/scxml/qscxmlinvokableservice.cpp @@ -203,7 +203,7 @@ QVariantMap QScxmlInvokableServiceFactory::calculateData(QScxmlStateMachine *par auto dataModel = parent->dataModel(); auto tableData = parent->tableData(); - foreach (const QScxmlExecutableContent::Param ¶m, d->params) { + for (const QScxmlExecutableContent::Param ¶m : qAsConst(d->params)) { auto name = tableData->string(param.name); if (param.expr != QScxmlExecutableContent::NoEvaluator) { @@ -229,7 +229,7 @@ QVariantMap QScxmlInvokableServiceFactory::calculateData(QScxmlStateMachine *par } } - foreach (QScxmlExecutableContent::StringId locid, d->namelist) { + for (QScxmlExecutableContent::StringId locid : qAsConst(d->namelist)) { QString loc; if (locid != QScxmlExecutableContent::NoString) { loc = tableData->string(locid); diff --git a/src/scxml/qscxmlparser.cpp b/src/scxml/qscxmlparser.cpp index 4802de9..1d3fe0b 100644 --- a/src/scxml/qscxmlparser.cpp +++ b/src/scxml/qscxmlparser.cpp @@ -96,7 +96,7 @@ public: doc->isVerified = true; m_doc = doc; - foreach (DocumentModel::AbstractState *state, doc->allStates) { + for (DocumentModel::AbstractState *state : qAsConst(doc->allStates)) { if (state->id.isEmpty()) { continue; #ifndef QT_NO_DEBUG @@ -127,7 +127,7 @@ private: } } else { QVector<DocumentModel::AbstractState *> initialStates; - foreach (const QString &initial, scxml->initial) { + for (const QString &initial : qAsConst(scxml->initial)) { if (DocumentModel::AbstractState *s = m_stateById.value(initial)) initialStates.append(s); else @@ -165,7 +165,7 @@ private: } else { Q_ASSERT(state->type == DocumentModel::State::Normal); QVector<DocumentModel::AbstractState *> initialStates; - foreach (const QString &initialState, state->initial) { + for (const QString &initialState : qAsConst(state->initial)) { if (DocumentModel::AbstractState *s = m_stateById.value(initialState)) { initialStates.append(s); } else { @@ -216,7 +216,7 @@ private: if (int size = transition->targets.size()) transition->targetStates.reserve(size); - foreach (const QString &target, transition->targets) { + for (const QString &target : qAsConst(transition->targets)) { if (DocumentModel::AbstractState *s = m_stateById.value(target)) { if (transition->targetStates.contains(s)) { error(transition->xmlLocation, QStringLiteral("duplicate target '%1'").arg(target)); @@ -227,7 +227,7 @@ private: error(transition->xmlLocation, QStringLiteral("unknown state '%1' in target").arg(target)); } } - foreach (const QString &event, transition->events) + for (const QString &event : qAsConst(transition->events)) checkEvent(event, transition->xmlLocation, AllowWildCards); m_parentNodes.append(transition); @@ -242,7 +242,7 @@ private: bool visit(DocumentModel::HistoryState *state) Q_DECL_OVERRIDE { bool seenTransition = false; - foreach (DocumentModel::StateOrTransition *sot, state->children) { + for (DocumentModel::StateOrTransition *sot : qAsConst(state->children)) { if (DocumentModel::State *s = sot->asState()) { error(s->xmlLocation, QStringLiteral("history state cannot have substates")); } else if (DocumentModel::Transition *t = sot->asTransition()) { @@ -441,7 +441,7 @@ private: { auto *newTransition = m_doc->newTransition(nullptr, DocumentModel::XmlLocation(-1, -1)); newTransition->type = DocumentModel::Transition::Synthetic; - foreach (auto *s, states) { + for (auto *s : states) { newTransition->targets.append(s->id); } @@ -579,7 +579,7 @@ private: b.setStaticMetacallFunction(qt_static_metacall); // signals - foreach (const QString &stateName, info.stateNames) { + for (const QString &stateName : info.stateNames) { auto name = stateName.toUtf8(); const QByteArray signalName = name + "Changed(bool)"; QMetaMethodBuilder signalBuilder = b.addSignal(signalName); @@ -588,7 +588,7 @@ private: // properties int notifier = 0; - foreach (const QString &stateName, info.stateNames) { + for (const QString &stateName : info.stateNames) { QMetaPropertyBuilder prop = b.addProperty(stateName.toUtf8(), "bool", notifier); prop.setWritable(false); ++m_propertyCount; @@ -706,7 +706,8 @@ QScxmlInvokableService *QScxmlInvokableScxmlServiceFactory::loadAndInvokeDynamic parser.setLoader(parent->loader()); parser.parse(); if (!parser.errors().isEmpty()) { - foreach (const QScxmlError &error, parser.errors()) + const auto errors = parser.errors(); + for (const QScxmlError &error : errors) qWarning() << error.toString(); return Q_NULLPTR; } @@ -714,7 +715,8 @@ QScxmlInvokableService *QScxmlInvokableScxmlServiceFactory::loadAndInvokeDynamic auto mainDoc = QScxmlParserPrivate::get(&parser)->scxmlDocument(); if (mainDoc == nullptr) { Q_ASSERT(!parser.errors().isEmpty()); - foreach (const QScxmlError &error, parser.errors()) + const auto errors = parser.errors(); + for (const QScxmlError &error : errors) qWarning() << error.toString(); return Q_NULLPTR; } @@ -1194,7 +1196,7 @@ void DocumentModel::Param::accept(DocumentModel::NodeVisitor *visitor) void DocumentModel::DoneData::accept(DocumentModel::NodeVisitor *visitor) { if (visitor->visit(this)) { - foreach (Param *param, params) + for (Param *param : qAsConst(params)) param->accept(visitor); } visitor->endVisit(this); @@ -1267,7 +1269,7 @@ void DocumentModel::State::accept(DocumentModel::NodeVisitor *visitor) visitor->visit(onExit); if (doneData) doneData->accept(visitor); - foreach (Invoke *invoke, invokes) + for (Invoke *invoke : qAsConst(invokes)) invoke->accept(visitor); } visitor->endVisit(this); @@ -2436,7 +2438,7 @@ bool QScxmlParserPrivate::checkAttributes(const QXmlStreamAttributes &attributes const QStringList &optionalNames) { QStringList required = requiredNames; - foreach (const QXmlStreamAttribute &attribute, attributes) { + for (const QXmlStreamAttribute &attribute : attributes) { const QStringRef ns = attribute.namespaceUri(); if (!ns.isEmpty() && ns != scxmlNamespace && ns != qtScxmlNamespace) continue; diff --git a/src/scxml/qscxmlparser_p.h b/src/scxml/qscxmlparser_p.h index 9a32596..ee39b0e 100644 --- a/src/scxml/qscxmlparser_p.h +++ b/src/scxml/qscxmlparser_p.h @@ -507,7 +507,7 @@ public: void visit(InstructionSequence *sequence) { Q_ASSERT(sequence); - Q_FOREACH (Instruction *instruction, *sequence) { + for (Instruction *instruction : qAsConst(*sequence)) { Q_ASSERT(instruction); instruction->accept(this); } @@ -515,7 +515,7 @@ public: void visit(const QVector<DataElement *> &dataElements) { - Q_FOREACH (DataElement *dataElement, dataElements) { + for (DataElement *dataElement : dataElements) { Q_ASSERT(dataElement); dataElement->accept(this); } @@ -523,7 +523,7 @@ public: void visit(const QVector<StateOrTransition *> &children) { - Q_FOREACH (StateOrTransition *child, children) { + for (StateOrTransition *child : children) { Q_ASSERT(child); child->accept(this); } @@ -531,7 +531,7 @@ public: void visit(const InstructionSequences &sequences) { - Q_FOREACH (InstructionSequence *sequence, sequences) { + for (InstructionSequence *sequence : sequences) { Q_ASSERT(sequence); visit(sequence); } @@ -539,7 +539,7 @@ public: void visit(const QVector<Param *> ¶ms) { - Q_FOREACH (Param *param, params) { + for (Param *param : params) { Q_ASSERT(param); param->accept(this); } diff --git a/src/scxml/qscxmlstatemachine.cpp b/src/scxml/qscxmlstatemachine.cpp index eb93042..28ca6dd 100644 --- a/src/scxml/qscxmlstatemachine.cpp +++ b/src/scxml/qscxmlstatemachine.cpp @@ -1359,7 +1359,7 @@ void QScxmlStateMachinePrivate::getEffectiveTargetStates(OrderedSet *targets, if (state.isHistoryState()) { HistoryValues::const_iterator historyValueIter = m_historyValue.find(s); if (historyValueIter != m_historyValue.end()) { - foreach (int historyState, historyValueIter.value()) { + for (int historyState : historyValueIter.value()) { targets->add(historyState); } } else { diff --git a/src/scxml/qscxmltabledata.cpp b/src/scxml/qscxmltabledata.cpp index 0e3b58f..95b1366 100644 --- a/src/scxml/qscxmltabledata.cpp +++ b/src/scxml/qscxmltabledata.cpp @@ -77,13 +77,13 @@ public: m_parents.reserve(32); m_allTransitions.resize(doc->allTransitions.size()); m_docTransitionIndices.reserve(doc->allTransitions.size()); - foreach (auto *t, doc->allTransitions) { + for (auto *t : qAsConst(doc->allTransitions)) { m_docTransitionIndices.insert(t, m_docTransitionIndices.size()); } m_docStatesIndices.reserve(doc->allStates.size()); m_transitionsForState.resize(doc->allStates.size()); m_allStates.resize(doc->allStates.size()); - foreach (DocumentModel::AbstractState *s, doc->allStates) { + for (DocumentModel::AbstractState *s : qAsConst(doc->allStates)) { m_docStatesIndices.insert(s, m_docStatesIndices.size()); } @@ -192,7 +192,7 @@ protected: // visitor } QVector<DocumentModel::AbstractState *> childStates; - foreach (DocumentModel::StateOrTransition *sot, node->children) { + for (DocumentModel::StateOrTransition *sot : qAsConst(node->children)) { if (DocumentModel::AbstractState *s = sot->asAbstractState()) { childStates.append(s); } @@ -249,13 +249,13 @@ protected: // visitor newState.exitInstructions = generate(state->onExit); if (!state->invokes.isEmpty()) { QVector<int> factoryIds; - foreach (DocumentModel::Invoke *invoke, state->invokes) { + for (DocumentModel::Invoke *invoke : qAsConst(state->invokes)) { auto ctxt = createContext(QStringLiteral("invoke")); QVector<QScxmlExecutableContent::StringId> namelist; - foreach (const QString &name, invoke->namelist) + for (const QString &name : qAsConst(invoke->namelist)) namelist += addString(name); QVector<QScxmlExecutableContent::Param> params; - foreach (DocumentModel::Param *param, invoke->params) { + for (DocumentModel::Param *param : qAsConst(invoke->params)) { QScxmlExecutableContent::Param p; p.name = addString(param->name); p.expr = createEvaluatorVariant(QStringLiteral("param"), QStringLiteral("expr"), @@ -288,7 +288,7 @@ protected: // visitor visit(state->children); QVector<DocumentModel::AbstractState *> childStates; - foreach (DocumentModel::StateOrTransition *sot, state->children) { + for (DocumentModel::StateOrTransition *sot : qAsConst(state->children)) { if (auto s = sot->asAbstractState()) { childStates.append(s); } @@ -346,7 +346,7 @@ protected: // visitor newTransition.targets = addStates(transition->targetStates); QVector<int> eventIds; - foreach (const QString &event, transition->events) + for (const QString &event : qAsConst(transition->events)) eventIds.push_back(addString(event)); newTransition.events = addArray(eventIds); @@ -508,7 +508,7 @@ protected: void generate(const QVector<DocumentModel::DataElement *> &dataElements) { - foreach (DocumentModel::DataElement *el, dataElements) { + for (DocumentModel::DataElement *el : dataElements) { auto ctxt = createContext(QStringLiteral("data"), QStringLiteral("expr"), el->expr); auto evaluator = addDataElement(el->id, el->expr, ctxt); if (evaluator != NoEvaluator) { @@ -533,7 +533,7 @@ protected: { out->count = in.size(); Param *it = out->data(); - foreach (DocumentModel::Param *f, in) { + for (DocumentModel::Param *f : in) { it->name = addString(f->name); it->expr = createEvaluatorVariant(QStringLiteral("param"), QStringLiteral("expr"), f->expr); @@ -548,7 +548,7 @@ protected: int sequencesOffset = m_instructions.offset(outSequences); int sequenceCount = 0; int entryCount = 0; - foreach (DocumentModel::InstructionSequence *sequence, inSequences) { + for (DocumentModel::InstructionSequence *sequence : inSequences) { ++sequenceCount; startNewSequence(); visit(sequence); @@ -563,7 +563,7 @@ protected: { out->count = in.size(); StringId *it = out->data(); - foreach (const QString &str, in) { + for (const QString &str : in) { *it++ = addString(str); } } @@ -683,7 +683,7 @@ protected: int addStates(const QVector<DocumentModel::AbstractState *> &states) { QVector<int> array; - foreach (auto *s, states) { + for (auto *s : states) { int si = m_docStatesIndices.value(s, -1); Q_ASSERT(si != -1); array.push_back(si); diff --git a/tests/auto/compiled/tst_compiled.cpp b/tests/auto/compiled/tst_compiled.cpp index e09300e..27e4a80 100644 --- a/tests/auto/compiled/tst_compiled.cpp +++ b/tests/auto/compiled/tst_compiled.cpp @@ -79,7 +79,7 @@ void tst_Compiled::stateNames() QCOMPARE(stateMachine.stateNames(false), ids1States); - foreach (const QString &state, ids1States) { + for (const QString &state : qAsConst(ids1States)) { QVariant prop = stateMachine.property(state.toUtf8().constData()); QVERIFY(!prop.isNull()); QVERIFY(prop.isValid()); diff --git a/tests/auto/parser/tst_parser.cpp b/tests/auto/parser/tst_parser.cpp index 41927cf..0a0c287 100644 --- a/tests/auto/parser/tst_parser.cpp +++ b/tests/auto/parser/tst_parser.cpp @@ -49,7 +49,8 @@ void tst_Parser::error_data() QTest::addColumn<QString>("errorFileName"); QDir dir(QLatin1String(":/tst_parser/data/")); - foreach (const QString &entry, dir.entryList()) { + const auto dirEntries = dir.entryList(); + for (const QString &entry : dirEntries) { if (!entry.endsWith(QLatin1String(".errors"))) { QString scxmlFileName = dir.filePath(entry); QTest::newRow(entry.toLatin1().constData()) @@ -73,7 +74,7 @@ void tst_Parser::error() const QVector<QScxmlError> errors = stateMachine->parseErrors(); if (errors.count() != expectedErrors.count()) { - foreach (const QScxmlError &error, errors) { + for (const QScxmlError &error : errors) { qDebug() << error.toString(); } } diff --git a/tools/qscxmlc/qscxmlc.cpp b/tools/qscxmlc/qscxmlc.cpp index 47db6fb..03edf5c 100644 --- a/tools/qscxmlc/qscxmlc.cpp +++ b/tools/qscxmlc/qscxmlc.cpp @@ -93,7 +93,7 @@ static void collectAllDocuments(DocumentModel::ScxmlDocument *doc, QList<DocumentModel::ScxmlDocument *> *docs) { docs->append(doc); - foreach (DocumentModel::ScxmlDocument *subDoc, doc->allSubDocuments) + for (DocumentModel::ScxmlDocument *subDoc : qAsConst(doc->allSubDocuments)) collectAllDocuments(subDoc, docs); } @@ -178,7 +178,8 @@ int run(const QStringList &arguments) parser.setFileName(file.fileName()); parser.parse(); if (!parser.errors().isEmpty()) { - foreach (const QScxmlError &error, parser.errors()) { + const auto errors = parser.errors(); + for (const QScxmlError &error : errors) { errs << error.toString() << endl; } return ParseError; @@ -187,7 +188,8 @@ int run(const QStringList &arguments) auto mainDoc = QScxmlParserPrivate::get(&parser)->scxmlDocument(); if (mainDoc == nullptr) { Q_ASSERT(!parser.errors().isEmpty()); - foreach (const QScxmlError &error, parser.errors()) { + const auto errors = parser.errors(); + for (const QScxmlError &error : errors) { errs << error.toString() << endl; } return ScxmlVerificationError; @@ -215,7 +217,7 @@ int run(const QStringList &arguments) docs.pop_front(); - foreach (DocumentModel::ScxmlDocument *doc, docs) { + for (DocumentModel::ScxmlDocument *doc : qAsConst(docs)) { auto name = doc->root->name; auto prefix = name; if (name.isEmpty()) { diff --git a/tools/qscxmlc/scxmlcppdumper.cpp b/tools/qscxmlc/scxmlcppdumper.cpp index a8941d5..56133a5 100644 --- a/tools/qscxmlc/scxmlcppdumper.cpp +++ b/tools/qscxmlc/scxmlcppdumper.cpp @@ -404,7 +404,7 @@ int createFactoryId(QStringList &factories, const QString &className, line += QStringLiteral("%1, ").arg(QString::number(idlocation)); { QStringList l; - foreach (auto name, namelist) { + for (auto name : namelist) { l.append(QString::number(name)); } line += QStringLiteral("%1, ").arg( @@ -414,7 +414,7 @@ int createFactoryId(QStringList &factories, const QString &className, : QStringLiteral("false")); { QStringList l; - foreach (const auto ¶m, params) { + for (const auto ¶m : params) { l += QStringLiteral("QScxmlExecutableContent::Param(%1, %2, %3)") .arg(QString::number(param.name), QString::number(param.expr), @@ -522,7 +522,7 @@ void CppDumper::writeHeaderStart(const QString &headerGuard, const QStringList & h << l("namespace ") << m_translationUnit->namespaceName << l(" {") << endl << endl; if (!forwardDecls.isEmpty()) { - foreach (const QString &forwardDecl, forwardDecls) + for (const QString &forwardDecl : forwardDecls) h << QStringLiteral("class %1;").arg(forwardDecl) << endl; h << endl; } @@ -545,7 +545,7 @@ void CppDumper::writeHeaderEnd(const QString &headerGuard, const QStringList &me ns = QStringLiteral("::%1").arg(m_translationUnit->namespaceName); } - foreach (const QString &name, metatypeDecls) { + for (const QString &name : metatypeDecls) { h << QStringLiteral("Q_DECLARE_METATYPE(%1::%2*)").arg(ns, name) << endl; } h << endl; @@ -561,7 +561,7 @@ void CppDumper::writeImplStart() << endl; QStringList includes; - foreach (DocumentModel::ScxmlDocument *doc, m_translationUnit->allDocuments) { + for (DocumentModel::ScxmlDocument *doc : qAsConst(m_translationUnit->allDocuments)) { switch (doc->root->dataModel) { case DocumentModel::Scxml::NullDataModel: includes += l("QScxmlNullDataModel"); @@ -583,7 +583,7 @@ void CppDumper::writeImplStart() cpp << endl << QStringLiteral("#include <qscxmlinvokableservice.h>") << endl << QStringLiteral("#include <qscxmltabledata.h>") << endl; - foreach (const QString &inc, includes) { + for (const QString &inc : qAsConst(includes)) { cpp << l("#include <") << inc << l(">") << endl; } cpp << endl @@ -725,7 +725,7 @@ QString CppDumper::generatePropertyDecls(const GeneratedTableData::MetaDataInfo { QString decls; - foreach (const QString &stateName, info.stateNames) { + for (const QString &stateName : info.stateNames) { if (!stateName.isEmpty()) { const QString decl = QString::fromLatin1( " Q_PROPERTY(bool %1 NOTIFY %2Changed)\n"); @@ -747,7 +747,7 @@ QString CppDumper::generateMetaObject(const QString &className, // stateNames: int stateIdx = 0; - foreach (const QString &stateName, info.stateNames) { + for (const QString &stateName : info.stateNames) { if (stateName.isEmpty()) continue; |