summaryrefslogtreecommitdiffstats
path: root/Lib/inspect.py
diff options
context:
space:
mode:
authorYury Selivanov <yselivanov@sprymix.com>2014-01-29 15:52:57 (GMT)
committerYury Selivanov <yselivanov@sprymix.com>2014-01-29 15:52:57 (GMT)
commit76c6c593ed0e85332a3d320c57cf032d22410426 (patch)
tree9fe6b60ac1d4275bf44ca71936da0d827b5f84f3 /Lib/inspect.py
parentb77511da9257bae4082556e0235b23d008dfb789 (diff)
downloadcpython-76c6c593ed0e85332a3d320c57cf032d22410426.zip
cpython-76c6c593ed0e85332a3d320c57cf032d22410426.tar.gz
cpython-76c6c593ed0e85332a3d320c57cf032d22410426.tar.bz2
inspect.signature: Add support for decorated (wrapped) builtins #20425
Diffstat (limited to 'Lib/inspect.py')
-rw-r--r--Lib/inspect.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/Lib/inspect.py b/Lib/inspect.py
index fefcddb..f0c1247 100644
--- a/Lib/inspect.py
+++ b/Lib/inspect.py
@@ -1530,9 +1530,6 @@ def signature(obj):
if not callable(obj):
raise TypeError('{!r} is not a callable object'.format(obj))
- if _signature_is_builtin(obj):
- return Signature.from_builtin(obj)
-
if isinstance(obj, types.MethodType):
# In this case we skip the first parameter of the underlying
# function (usually `self` or `cls`).
@@ -1570,6 +1567,9 @@ def signature(obj):
return sig.replace(parameters=new_params)
+ if _signature_is_builtin(obj):
+ return Signature.from_builtin(obj)
+
if isinstance(obj, types.FunctionType):
return Signature.from_function(obj)