[pypy-commit] pypy py3.5: Return True from inspect.isbuiltin() for functions implemented in C
rlamy
pypy.commits at gmail.com
Mon Nov 13 16:10:06 EST 2017
Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch: py3.5
Changeset: r93007:06fb68203b17
Date: 2017-11-13 21:09 +0000
http://bitbucket.org/pypy/pypy/changeset/06fb68203b17/
Log: Return True from inspect.isbuiltin() for functions implemented in C
diff --git a/lib-python/3/inspect.py b/lib-python/3/inspect.py
--- a/lib-python/3/inspect.py
+++ b/lib-python/3/inspect.py
@@ -49,6 +49,10 @@
import builtins
from operator import attrgetter
from collections import namedtuple, OrderedDict
+try:
+ from cpyext import is_cpyext_function as _is_cpyext_function
+except ImportError:
+ _is_cpyext_function = lambda obj: False
# Create constants for the compiler flags in Include/code.h
# We try to get them from dis to avoid duplication
@@ -262,7 +266,7 @@
__doc__ documentation string
__name__ original name of this function or method
__self__ instance to which a method is bound, or None"""
- return isinstance(object, types.BuiltinFunctionType)
+ return isinstance(object, types.BuiltinFunctionType) or _is_cpyext_function(object)
def isroutine(object):
"""Return true if the object is any kind of function or method."""
More information about the pypy-commit
mailing list