diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-05-10 15:14:40 +0200 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-05-10 17:16:44 +0200 |
| commit | 3e40f27cb539e0106511790a40327f5a03e48fab (patch) | |
| tree | 1a75c141f6984670783539602e2d84f2a0d04787 /sources/shiboken6/ApiExtractor/abstractmetabuilder.cpp | |
| parent | 3a75dfa84129e4e034d25722fc231928fca750d9 (diff) | |
shiboken6: Fix passing static class fields as enum default values
Occurs in Qt 6.6:
class QNativeIpcKey
{
enum class Type { SystemV = 0x51, PosixRealtime = 0x100, Windows };
static constexpr Type DefaultTypeForOs = Type::Windows
...
QNativeIpcKey(Type type = DefaultTypeForOs)
};
Pick-to: 6.5
Change-Id: Icf9abdd9ebe24eb4e1d145e65b27496545e327ef
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'sources/shiboken6/ApiExtractor/abstractmetabuilder.cpp')
| -rw-r--r-- | sources/shiboken6/ApiExtractor/abstractmetabuilder.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sources/shiboken6/ApiExtractor/abstractmetabuilder.cpp b/sources/shiboken6/ApiExtractor/abstractmetabuilder.cpp index 699bbef58..22ed7db2f 100644 --- a/sources/shiboken6/ApiExtractor/abstractmetabuilder.cpp +++ b/sources/shiboken6/ApiExtractor/abstractmetabuilder.cpp @@ -2847,9 +2847,10 @@ static bool isUnderQualifiedSpec(QStringView qualifiedType, QStringView candidat } QString AbstractMetaBuilder::fixEnumDefault(const AbstractMetaType &type, - const QString &expr) const + const QString &expr, + const AbstractMetaClassCPtr &klass) const { - return d->fixEnumDefault(type, expr); + return d->fixEnumDefault(type, expr, klass); } void AbstractMetaBuilder::setCodeModelTestMode(bool b) @@ -2887,7 +2888,7 @@ QString AbstractMetaBuilderPrivate::fixDefaultValue(QString expr, const Abstract return expr; if (type.isFlags() || type.isEnum()) { - expr = fixEnumDefault(type, expr); + expr = fixEnumDefault(type, expr, implementingClass); } else if (type.isContainer() && expr.contains(u'<')) { // Expand a container of a nested class, fex // "QList<FormatRange>()" -> "QList<QTextLayout::FormatRange>()" |
