aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmltyperegistrar
diff options
context:
space:
mode:
authorDavid Skoland <davidskoland@gmail.com>2020-10-28 13:25:38 +0100
committerDavid Skoland <david.skoland@qt.io>2020-10-28 14:44:47 +0100
commit27bd9cab73a1e7e3d66e6025ace8510f932c5df8 (patch)
tree4c92072c9a15d681d1c6cdca97f35db88ca7dae2 /src/qmltyperegistrar
parent535adf8d9f6d26d4e9598a9276f23f938fcc7753 (diff)
Standardize QJsonArray iteration
When using refs as loop variables, the clang compiler complains (with default settings). This prevents that. Note that QJsonValueRef is used "behind the scenes", which makes this iteration method correct. Change-Id: I5a5f58ca8ad3887bce2009231cbae5a57c107697 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/qmltyperegistrar')
-rw-r--r--src/qmltyperegistrar/qmltyperegistrar.cpp23
-rw-r--r--src/qmltyperegistrar/qmltypesclassdescription.cpp10
-rw-r--r--src/qmltyperegistrar/qmltypescreator.cpp16
3 files changed, 25 insertions, 24 deletions
diff --git a/src/qmltyperegistrar/qmltyperegistrar.cpp b/src/qmltyperegistrar/qmltyperegistrar.cpp
index c2918e515e..2f37d3a963 100644
--- a/src/qmltyperegistrar/qmltyperegistrar.cpp
+++ b/src/qmltyperegistrar/qmltyperegistrar.cpp
@@ -57,7 +57,7 @@ enum RegistrationMode {
static RegistrationMode qmlTypeRegistrationMode(const QJsonObject &classDef)
{
const QJsonArray classInfos = classDef[QLatin1String("classInfos")].toArray();
- for (const QJsonValue &info: classInfos) {
+ for (const QJsonValue info : classInfos) {
const QString name = info[QLatin1String("name")].toString();
if (name == QLatin1String("QML.Element")) {
if (classDef[QLatin1String("object")].toBool())
@@ -127,7 +127,7 @@ static QVector<QJsonObject> foreignRelatedTypes(const QVector<QJsonObject> &type
for (const QJsonObject &type : types) {
processedRelatedNames.insert(type.value(qualifiedClassNameKey).toString());
const auto classInfos = type.value(classInfosKey).toArray();
- for (const QJsonValue &classInfo : classInfos) {
+ for (const QJsonValue classInfo : classInfos) {
const QJsonObject obj = classInfo.toObject();
if (obj.value(nameKey).toString() == qmlForeignName) {
processedRelatedNames.insert(obj.value(valueKey).toString());
@@ -141,7 +141,7 @@ static QVector<QJsonObject> foreignRelatedTypes(const QVector<QJsonObject> &type
for (const QJsonObject &foreignType : foreignTypes) {
const auto classInfos = foreignType.value(classInfosKey).toArray();
bool seenQmlPrefix = false;
- for (const QJsonValue &classInfo : classInfos) {
+ for (const QJsonValue classInfo : classInfos) {
const QJsonObject obj = classInfo.toObject();
const QString name = obj.value(nameKey).toString();
if (!seenQmlPrefix && name.startsWith(qmlNamePrefix)) {
@@ -171,7 +171,7 @@ static QVector<QJsonObject> foreignRelatedTypes(const QVector<QJsonObject> &type
const QJsonObject classDef = typeQueue.dequeue();
const auto classInfos = classDef.value(classInfosKey).toArray();
- for (const QJsonValue &classInfo : classInfos) {
+ for (const QJsonValue classInfo : classInfos) {
const QJsonObject obj = classInfo.toObject();
if (obj.value(nameKey).toString() == qmlAttachedName) {
addType(obj.value(valueKey).toString());
@@ -187,7 +187,7 @@ static QVector<QJsonObject> foreignRelatedTypes(const QVector<QJsonObject> &type
}
const auto otherClassInfos = other->value(classInfosKey).toArray();
- for (const QJsonValue &otherClassInfo : otherClassInfos) {
+ for (const QJsonValue otherClassInfo : otherClassInfos) {
const QJsonObject obj = otherClassInfo.toObject();
if (obj.value(nameKey).toString() == qmlAttachedName) {
addType(obj.value(valueKey).toString());
@@ -335,7 +335,7 @@ int main(int argc, char **argv)
auto processMetaObject = [&](const QJsonObject &metaObject) {
const QString include = resolvedInclude(metaObject[QLatin1String("inputFile")].toString());
const QJsonArray classes = metaObject[QLatin1String("classes")].toArray();
- for (const auto &cls : classes) {
+ for (const QJsonValue cls : classes) {
QJsonObject classDef = cls.toObject();
classDef.insert(QLatin1String("inputFile"), include);
@@ -357,7 +357,8 @@ int main(int argc, char **argv)
includes.append(include);
{
bool shouldRegister = true;
- for (const QJsonValue &v : classDef.value(QLatin1String("classInfos")).toArray()) {
+ for (const QJsonValue v :
+ classDef.value(QLatin1String("classInfos")).toArray()) {
if (v[QLatin1String("name")].toString() == QLatin1String("QML.ManualRegistration"))
shouldRegister = QStringView(u"true").compare(v[QLatin1String("value")].toString(), Qt::CaseInsensitive) != 0;
}
@@ -376,7 +377,7 @@ int main(int argc, char **argv)
if (metaObjects.isArray()) {
const QJsonArray metaObjectsArray = metaObjects.array();
- for (const auto &metaObject : metaObjectsArray) {
+ for (const QJsonValue metaObject : metaObjectsArray) {
if (!metaObject.isObject()) {
fprintf(stderr, "Error parsing %s: JSON is not an object\n",
qPrintable(source));
@@ -435,7 +436,7 @@ int main(int argc, char **argv)
if (classDef.value(QLatin1String("namespace")).toBool()) {
QString targetName = className;
- for (const QJsonValue &v : classDef.value(QLatin1String("classInfos")).toArray()) {
+ for (const QJsonValue v : classDef.value(QLatin1String("classInfos")).toArray()) {
if (v[QLatin1String("name")].toString() == QLatin1String("QML.Foreign"))
targetName = v[QLatin1String("value")].toString();
}
@@ -474,7 +475,7 @@ int main(int argc, char **argv)
}
const QJsonArray foreignObjectsArray = foreignMetaObjects.array();
- for (const auto &metaObject : foreignObjectsArray) {
+ for (const QJsonValue metaObject : foreignObjectsArray) {
if (!metaObject.isObject()) {
fprintf(stderr, "Error parsing %s: JSON is not an object\n",
qPrintable(types));
@@ -484,7 +485,7 @@ int main(int argc, char **argv)
auto const asObject = metaObject.toObject();
const QString include = asObject[QLatin1String("inputFile")].toString();
const QJsonArray classes = asObject[QLatin1String("classes")].toArray();
- for (const auto &cls : classes) {
+ for (const QJsonValue cls : classes) {
QJsonObject classDef = cls.toObject();
classDef.insert(QLatin1String("inputFile"), include);
foreignTypes.append(classDef);
diff --git a/src/qmltyperegistrar/qmltypesclassdescription.cpp b/src/qmltyperegistrar/qmltypesclassdescription.cpp
index 9f58d824fe..20f5d4c46a 100644
--- a/src/qmltyperegistrar/qmltypesclassdescription.cpp
+++ b/src/qmltyperegistrar/qmltypesclassdescription.cpp
@@ -35,7 +35,7 @@ static void collectExtraVersions(const QJsonObject *component, const QString &ke
QList<QTypeRevision> &extraVersions)
{
const QJsonArray &items = component->value(key).toArray();
- for (const QJsonValue &item : items) {
+ for (const QJsonValue item : items) {
const QJsonObject obj = item.toObject();
const auto revision = obj.find(QLatin1String("revision"));
if (revision != obj.end()) {
@@ -67,7 +67,7 @@ void QmlTypesClassDescription::collect(const QJsonObject *classDef,
if (file.isEmpty() && classDef->value(QLatin1String("registerable")).toBool())
file = classDef->value(QLatin1String("inputFile")).toString();
const auto classInfos = classDef->value(QLatin1String("classInfos")).toArray();
- for (const QJsonValue &classInfo : classInfos) {
+ for (const QJsonValue classInfo : classInfos) {
const QJsonObject obj = classInfo.toObject();
const QString name = obj[QLatin1String("name")].toString();
const QString value = obj[QLatin1String("value")].toString();
@@ -108,7 +108,7 @@ void QmlTypesClassDescription::collect(const QJsonObject *classDef,
classDef = other;
// Foreign type can have a default property or an attached types
const auto classInfos = classDef->value(QLatin1String("classInfos")).toArray();
- for (const QJsonValue &classInfo : classInfos) {
+ for (const QJsonValue classInfo : classInfos) {
const QJsonObject obj = classInfo.toObject();
const QString foreignName = obj[QLatin1String("name")].toString();
const QString foreignValue = obj[QLatin1String("value")].toString();
@@ -136,11 +136,11 @@ void QmlTypesClassDescription::collect(const QJsonObject *classDef,
auto supers = classDef->value(QLatin1String("superClasses")).toArray();
if (classDef != origClassDef) {
const QJsonArray origSupers = origClassDef->value(QLatin1String("superClasses")).toArray();
- for (const QJsonValue &origSuper : origSupers)
+ for (const QJsonValue origSuper : origSupers)
supers.append(origSuper);
}
- for (const QJsonValue &superValue : qAsConst(supers)) {
+ for (const QJsonValue superValue : qAsConst(supers)) {
const QJsonObject superObject = superValue.toObject();
if (superObject[QLatin1String("access")].toString() == QLatin1String("public")) {
const QString superName = superObject[QLatin1String("name")].toString();
diff --git a/src/qmltyperegistrar/qmltypescreator.cpp b/src/qmltyperegistrar/qmltypescreator.cpp
index 3d8906732f..50980685e9 100644
--- a/src/qmltyperegistrar/qmltypescreator.cpp
+++ b/src/qmltyperegistrar/qmltypescreator.cpp
@@ -150,7 +150,7 @@ void QmlTypesCreator::writeType(const QJsonObject &property, const QString &key,
void QmlTypesCreator::writeProperties(const QJsonArray &properties, QSet<QString> &notifySignals)
{
- for (const QJsonValue &property : properties) {
+ for (const QJsonValue property : properties) {
const QJsonObject obj = property.toObject();
const QString name = obj[QLatin1String("name")].toString();
m_qml.writeStartObject(QLatin1String("Property"));
@@ -173,7 +173,7 @@ void QmlTypesCreator::writeProperties(const QJsonArray &properties, QSet<QString
void QmlTypesCreator::writeMethods(const QJsonArray &methods, const QString &type,
const QSet<QString> &notifySignals)
{
- for (const QJsonValue &method : methods) {
+ for (const QJsonValue method : methods) {
const QJsonObject obj = method.toObject();
const QString name = obj[QLatin1String("name")].toString();
if (name.isEmpty())
@@ -187,7 +187,7 @@ void QmlTypesCreator::writeMethods(const QJsonArray &methods, const QString &typ
if (revision != obj.end())
m_qml.writeScriptBinding(QLatin1String("revision"), QString::number(revision.value().toInt()));
writeType(obj, QLatin1String("returnType"), false, false);
- for (const QJsonValue &argument : arguments) {
+ for (const QJsonValue argument : arguments) {
const QJsonObject obj = argument.toObject();
m_qml.writeStartObject(QLatin1String("Parameter"));
const QString name = obj[QLatin1String("name")].toString();
@@ -202,12 +202,12 @@ void QmlTypesCreator::writeMethods(const QJsonArray &methods, const QString &typ
void QmlTypesCreator::writeEnums(const QJsonArray &enums)
{
- for (const auto &item : enums) {
+ for (const QJsonValue item : enums) {
const QJsonObject obj = item.toObject();
const QJsonArray values = obj.value(QLatin1String("values")).toArray();
QStringList valueList;
- for (const QJsonValue &value : values)
+ for (const QJsonValue value : values)
valueList.append(enquote(value.toString()));
m_qml.writeStartObject(QLatin1String("Enum"));
@@ -242,14 +242,14 @@ static QJsonArray members(const QJsonObject *classDef, const QJsonObject *origCl
QJsonArray classDefMembers;
const QJsonArray candidates = classDef->value(key).toArray();
- for (const auto &member : candidates) {
+ for (const QJsonValue member : candidates) {
if (isAllowedInMajorVersion(member, maxMajorVersion))
classDefMembers.append(member);
}
if (classDef != origClassDef) {
const QJsonArray origClassDefMembers = origClassDef->value(key).toArray();
- for (const auto &member : origClassDefMembers) {
+ for (const QJsonValue member : origClassDefMembers) {
if (isAllowedInMajorVersion(member, maxMajorVersion))
classDefMembers.append(member);
}
@@ -315,7 +315,7 @@ void QmlTypesCreator::writeComponents()
// Hide deleteLater() methods
QJsonArray componentMethods = members(classDef, &component, methodsKey, m_version);
const QJsonArray componentSlots = members(classDef, &component, slotsKey, m_version);
- for (const QJsonValue &componentSlot : componentSlots)
+ for (const QJsonValue componentSlot : componentSlots)
componentMethods.append(componentSlot);
for (auto it = componentMethods.begin(); it != componentMethods.end();) {
if (it->toObject().value(nameKey).toString() == deleteLaterName)