diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-01-24 13:17:20 +0100 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-01-24 16:11:55 +0100 |
| commit | dd79ee6d29b4a628aad61e24ae361ac6cab20ebf (patch) | |
| tree | 4b7d4f9e6b7a5763826b5354db636165a41f5e6a /sources/pyside-tools/metaobjectdump.py | |
| parent | 0ada8b37d32cac3e6ece7fa8a3f00bab5cdde8c1 (diff) | |
pyside6-metaobjectdump: Skip call operators in base class specification
Fixes: PYSIDE-2202
Pick-to: 6.4
Change-Id: I9187925491696a6ecbff9c13add787fbd5420e36
Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Diffstat (limited to 'sources/pyside-tools/metaobjectdump.py')
| -rw-r--r-- | sources/pyside-tools/metaobjectdump.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/sources/pyside-tools/metaobjectdump.py b/sources/pyside-tools/metaobjectdump.py index 9042ccca6..c69d9e78f 100644 --- a/sources/pyside-tools/metaobjectdump.py +++ b/sources/pyside-tools/metaobjectdump.py @@ -158,12 +158,14 @@ class MetaObjectDumpVisitor(ast.NodeVisitor): q_object = False bases = [] for b in node.bases: - base_name = _name(b) - if base_name in self._context.qobject_derived: - q_object = True - self._context.qobject_derived.append(name) - base_dict = {"access": "public", "name": base_name} - bases.append(base_dict) + # PYSIDE-2202: catch weird constructs like "class C(type(Base)):" + if isinstance(b, ast.Name): + base_name = _name(b) + if base_name in self._context.qobject_derived: + q_object = True + self._context.qobject_derived.append(name) + base_dict = {"access": "public", "name": base_name} + bases.append(base_dict) data["object"] = q_object if bases: |
