diff --git a/src/kconfig_compiler/kconfig_compiler.cpp b/src/kconfig_compiler/kconfig_compiler.cpp --- a/src/kconfig_compiler/kconfig_compiler.cpp +++ b/src/kconfig_compiler/kconfig_compiler.cpp @@ -1012,52 +1012,38 @@ QString param(const QString &t) { const QString type = t.toLower(); - if (type == QLatin1String("string")) { - return QStringLiteral("const QString &"); - } else if (type == QLatin1String("stringlist")) { - return QStringLiteral("const QStringList &"); - } else if (type == QLatin1String("font")) { - return QStringLiteral("const QFont &"); - } else if (type == QLatin1String("rect")) { - return QStringLiteral("const QRect &"); - } else if (type == QLatin1String("size")) { - return QStringLiteral("const QSize &"); - } else if (type == QLatin1String("color")) { - return QStringLiteral("const QColor &"); - } else if (type == QLatin1String("point")) { - return QStringLiteral("const QPoint &"); - } else if (type == QLatin1String("int")) { - return QStringLiteral("int"); - } else if (type == QLatin1String("uint")) { - return QStringLiteral("uint"); - } else if (type == QLatin1String("bool")) { - return QStringLiteral("bool"); - } else if (type == QLatin1String("double")) { - return QStringLiteral("double"); - } else if (type == QLatin1String("datetime")) { - return QStringLiteral("const QDateTime &"); - } else if (type == QLatin1String("longlong")) { - return QStringLiteral("qint64"); - } else if (type == QLatin1String("ulonglong")) { - return QStringLiteral("quint64"); - } else if (type == QLatin1String("intlist")) { - return QStringLiteral("const QList &"); - } else if (type == QLatin1String("enum")) { - return QStringLiteral("int"); - } else if (type == QLatin1String("path")) { - return QStringLiteral("const QString &"); - } else if (type == QLatin1String("pathlist")) { - return QStringLiteral("const QStringList &"); - } else if (type == QLatin1String("password")) { - return QStringLiteral("const QString &"); - } else if (type == QLatin1String("url")) { - return QStringLiteral("const QUrl &"); - } else if (type == QLatin1String("urllist")) { - return QStringLiteral("const QList &"); - } else { - cerr << "kconfig_compiler_kf5 does not support type \"" << type << "\"" << endl; - return QStringLiteral("QString"); //For now, but an assert would be better - } + if (QVector({ + QLatin1String("int"), + QLatin1String("uint"), + QLatin1String("bool"), + QLatin1String("double")} + ).contains(type)) { + return type; + } + + auto valueMap = std::map { + {QStringLiteral("string"), QStringLiteral("const QString &")}, + {QStringLiteral("stringlist"), QStringLiteral("const QStringList &")}, + {QStringLiteral("font"), QStringLiteral("const QFont &") }, + {QStringLiteral("rect"), QStringLiteral("const QRect &")}, + {QStringLiteral("size"), QStringLiteral("const QSize &")}, + {QStringLiteral("color"), QStringLiteral("const QColor &")}, + {QStringLiteral("point"), QStringLiteral("const QPoint &")}, + {QStringLiteral("datetime"), QStringLiteral("const QDateTime &")}, + {QStringLiteral("longlong"), QStringLiteral("qint64")}, + {QStringLiteral("ulonglong"), QStringLiteral("quint64")}, + {QStringLiteral("intlist"), QStringLiteral("const QList &")}, + {QStringLiteral("enum"), QStringLiteral("int")}, + {QStringLiteral("path"), QStringLiteral("const QString &")}, + {QStringLiteral("pathlist"), QStringLiteral("const QStringList &")}, + {QStringLiteral("password"), QStringLiteral("const QString &")}, + {QStringLiteral("url"), QStringLiteral("const QUrl &")}, + {QStringLiteral("urllist"), QStringLiteral("const QList &")}, + }; + auto it = valueMap.find(type); + Q_ASSERT(it != valueMap.end()); + + return it->second; } /**