diff options
Diffstat (limited to 'sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/lib/enum_sig.py')
-rw-r--r-- | sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/lib/enum_sig.py | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/lib/enum_sig.py b/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/lib/enum_sig.py index f11f3cf3d..814926a59 100644 --- a/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/lib/enum_sig.py +++ b/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/lib/enum_sig.py @@ -1,6 +1,6 @@ ############################################################################# ## -## Copyright (C) 2018 The Qt Company Ltd. +## Copyright (C) 2020 The Qt Company Ltd. ## Contact: https://www.qt.io/licensing/ ## ## This file is part of Qt for Python. @@ -100,17 +100,19 @@ class ExactEnumerator(object): return ret def klass(self, class_name, klass): + ret = self.result_type() + if "<" in class_name: + # This is happening in QtQuick for some reason: + ## class QSharedPointer<QQuickItemGrabResult >: + # We simply skip over this class. + return ret bases_list = [] for base in klass.__bases__: name = base.__name__ - if name in ("object", "type"): - pass - else: - modname = base.__module__ - name = modname + "." + base.__name__ + if name not in ("object", "type"): + name = base.__module__ + "." + name bases_list.append(name) class_str = "{}({})".format(class_name, ", ".join(bases_list)) - ret = self.result_type() # class_members = inspect.getmembers(klass) # gives us also the inherited things. class_members = sorted(list(klass.__dict__.items())) @@ -152,14 +154,12 @@ class ExactEnumerator(object): self.fmt.class_name = class_name ret.update(self.function("__init__", klass)) for func_name, func in functions: - func_kind = get_signature(func, "__func_kind__") - modifier = func_kind if func_kind in ( - "staticmethod", "classmethod") else None - ret.update(self.function(func_name, func, modifier)) + if func_name != "__init__": + ret.update(self.function(func_name, func)) self.fmt.level -= 1 return ret - def function(self, func_name, func, modifier=None): + def function(self, func_name, func): self.fmt.level += 1 ret = self.result_type() signature = func.__signature__ @@ -190,7 +190,7 @@ class SimplifyingEnumerator(ExactEnumerator): is desired. """ - def function(self, func_name, func, modifier=None): + def function(self, func_name, func): ret = self.result_type() signature = get_signature(func, 'existence') sig = stringify(signature) if signature is not None else None @@ -207,11 +207,11 @@ class HintingEnumerator(ExactEnumerator): hinting stubs. Only default values are replaced by "...". """ - def function(self, func_name, func, modifier=None): + def function(self, func_name, func): ret = self.result_type() signature = get_signature(func, 'hintingstub') if signature is not None: - with self.fmt.function(func_name, signature, modifier) as key: + with self.fmt.function(func_name, signature) as key: ret[key] = signature return ret |