diff options
author | Christian Tismer <tismer@stackless.com> | 2021-01-21 13:09:52 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-01-22 11:38:23 +0000 |
commit | cc7504e0b9090f9d0782ef27a9a8ce74fc5df552 (patch) | |
tree | 2d902131c984324560ba9e8cbd429dd7a199dd8e /sources/pyside6 | |
parent | fadc307586f2f762bb9d0907d2f458b39c5b5770 (diff) |
signature: Provide fixes and improvements, Part 1
The signature module is modified again to be more correct when
using the mypy application.
This part splits some changes which occurred when working on
Shiboken.Enum inheritance.
There will be a number of follow-ups:
- signatures for all shiboken types
- test cases for signatures
- signature support for different __feature__ selections
Change-Id: Ifb0d92bf7641f2909ab950e3458b3c3c68c20dad
Task-number: PYSIDE-510
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
(cherry picked from commit 123e27090e0ec4f8d32f301700c9ff9d1b49ba2a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'sources/pyside6')
-rw-r--r-- | sources/pyside6/PySide6/QtQml/pysideqmlregistertype.cpp | 6 | ||||
-rw-r--r-- | sources/pyside6/PySide6/support/generate_pyi.py | 3 | ||||
-rw-r--r-- | sources/pyside6/libpyside/pysideclassinfo.cpp | 2 | ||||
-rw-r--r-- | sources/pyside6/libpyside/pysidemetafunction.cpp | 2 | ||||
-rw-r--r-- | sources/pyside6/libpyside/pysidesignal.cpp | 10 | ||||
-rw-r--r-- | sources/pyside6/libpyside/pysideslot.cpp | 2 |
6 files changed, 13 insertions, 12 deletions
diff --git a/sources/pyside6/PySide6/QtQml/pysideqmlregistertype.cpp b/sources/pyside6/PySide6/QtQml/pysideqmlregistertype.cpp index 32be83334..29fd8be77 100644 --- a/sources/pyside6/PySide6/QtQml/pysideqmlregistertype.cpp +++ b/sources/pyside6/PySide6/QtQml/pysideqmlregistertype.cpp @@ -616,13 +616,13 @@ PyTypeObject *QtQml_VolatileBoolTypeF(void) } static const char *PropertyList_SignatureStrings[] = { - "PySide6.QtQml.ListProperty(type:type,append:typing.Callable," + "PySide6.QtQml.ListProperty(self,type:type,append:typing.Callable," "at:typing.Callable=None,clear:typing.Callable=None,count:typing.Callable=None)", nullptr}; // Sentinel static const char *VolatileBool_SignatureStrings[] = { - "PySide6.QtQml.VolatileBool.get()->bool", - "PySide6.QtQml.VolatileBool.set(a:object)", + "PySide6.QtQml.VolatileBool.get(self)->bool", + "PySide6.QtQml.VolatileBool.set(self,a:object)", nullptr}; // Sentinel void PySide::initQmlSupport(PyObject *module) diff --git a/sources/pyside6/PySide6/support/generate_pyi.py b/sources/pyside6/PySide6/support/generate_pyi.py index 627e8efc1..32f43d804 100644 --- a/sources/pyside6/PySide6/support/generate_pyi.py +++ b/sources/pyside6/PySide6/support/generate_pyi.py @@ -128,6 +128,7 @@ class Formatter(Writer): self.optional_replacer = optional_replacer # self.level is maintained by enum_sig.py # self.after_enum() is a one-shot set by enum_sig.py . + # self.is_method() is true for non-plain functions. @contextmanager def module(self, mod_name): @@ -184,7 +185,7 @@ class Formatter(Writer): yield key def _function(self, func_name, signature, spaces): - if "self" not in tuple(signature.parameters.keys()): + if self.is_method() and "self" not in tuple(signature.parameters.keys()): self.print(f'{spaces}@staticmethod') signature = self.optional_replacer(signature) self.print(f'{spaces}def {func_name}{signature}: ...') diff --git a/sources/pyside6/libpyside/pysideclassinfo.cpp b/sources/pyside6/libpyside/pysideclassinfo.cpp index 67334f2f4..2a9914a68 100644 --- a/sources/pyside6/libpyside/pysideclassinfo.cpp +++ b/sources/pyside6/libpyside/pysideclassinfo.cpp @@ -179,7 +179,7 @@ void classInfoFree(void *self) namespace PySide { namespace ClassInfo { static const char *ClassInfo_SignatureStrings[] = { - "PySide6.QtCore.ClassInfo(**info:typing.Dict[str,str])", + "PySide6.QtCore.ClassInfo(self,**info:typing.Dict[str,str])", nullptr}; // Sentinel void init(PyObject *module) diff --git a/sources/pyside6/libpyside/pysidemetafunction.cpp b/sources/pyside6/libpyside/pysidemetafunction.cpp index 6d93e7629..939e52e12 100644 --- a/sources/pyside6/libpyside/pysidemetafunction.cpp +++ b/sources/pyside6/libpyside/pysidemetafunction.cpp @@ -102,7 +102,7 @@ PyObject *functionCall(PyObject *self, PyObject *args, PyObject * /* kw */) namespace PySide { namespace MetaFunction { static const char *MetaFunction_SignatureStrings[] = { - "PySide6.QtCore.MetaFunction.__call__(*args:typing.Any)->typing.Any", + "PySide6.QtCore.MetaFunction.__call__(self,*args:typing.Any)->typing.Any", nullptr}; // Sentinel void init(PyObject *module) diff --git a/sources/pyside6/libpyside/pysidesignal.cpp b/sources/pyside6/libpyside/pysidesignal.cpp index d14f32525..8533c2a48 100644 --- a/sources/pyside6/libpyside/pysidesignal.cpp +++ b/sources/pyside6/libpyside/pysidesignal.cpp @@ -620,17 +620,17 @@ namespace PySide { namespace Signal { static const char *MetaSignal_SignatureStrings[] = { - "PySide6.QtCore.MetaSignal.__instancecheck__(object:object)->bool", + "PySide6.QtCore.MetaSignal.__instancecheck__(self,object:object)->bool", nullptr}; // Sentinel static const char *Signal_SignatureStrings[] = { - "PySide6.QtCore.Signal(*types:type,name:str=nullptr,arguments:str=nullptr)", + "PySide6.QtCore.Signal(self,*types:type,name:str=nullptr,arguments:str=nullptr)", nullptr}; // Sentinel static const char *SignalInstance_SignatureStrings[] = { - "PySide6.QtCore.SignalInstance.connect(slot:object,type:type=nullptr)", - "PySide6.QtCore.SignalInstance.disconnect(slot:object=nullptr)", - "PySide6.QtCore.SignalInstance.emit(*args:typing.Any)", + "PySide6.QtCore.SignalInstance.connect(self,slot:object,type:type=nullptr)", + "PySide6.QtCore.SignalInstance.disconnect(self,slot:object=nullptr)", + "PySide6.QtCore.SignalInstance.emit(self,*args:typing.Any)", nullptr}; // Sentinel void init(PyObject *module) diff --git a/sources/pyside6/libpyside/pysideslot.cpp b/sources/pyside6/libpyside/pysideslot.cpp index 850fee544..81f93c555 100644 --- a/sources/pyside6/libpyside/pysideslot.cpp +++ b/sources/pyside6/libpyside/pysideslot.cpp @@ -183,7 +183,7 @@ namespace PySide { namespace Slot { static const char *Slot_SignatureStrings[] = { - "PySide6.QtCore.Slot(*types:type,name:str=nullptr,result:str=nullptr)->typing.Callable[...,typing.Optional[str]]", + "PySide6.QtCore.Slot(self,*types:type,name:str=nullptr,result:str=nullptr)->typing.Callable[...,typing.Optional[str]]", nullptr}; // Sentinel void init(PyObject *module) |