From: Ka-Ping Yee Date: Fri, 13 Apr 2001 09:15:08 +0000 (+0000) Subject: Remove duplicate type objects from isroutine() and isbuiltin(). X-Git-Tag: v2.1c1~36 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=202c99b2e0242a5680668816a65051a1f1aef8ed;p=thirdparty%2FPython%2Fcpython.git Remove duplicate type objects from isroutine() and isbuiltin(). Make getmodule() on a module return the module itself. --- diff --git a/Lib/inspect.py b/Lib/inspect.py index b1f723d11851..f62167ba2e39 100644 --- a/Lib/inspect.py +++ b/Lib/inspect.py @@ -123,14 +123,12 @@ def isbuiltin(object): __doc__ documentation string __name__ original name of this function or method __self__ instance to which a method is bound, or None""" - return type(object) in [types.BuiltinFunctionType, - types.BuiltinMethodType] + return type(object) is types.BuiltinFunctionType def isroutine(object): """Return true if the object is any kind of function or method.""" return type(object) in [types.FunctionType, types.LambdaType, - types.MethodType, types.BuiltinFunctionType, - types.BuiltinMethodType] + types.MethodType, types.BuiltinFunctionType] def getmembers(object, predicate=None): """Return all members of an object as (name, value) pairs sorted by name. @@ -231,6 +229,8 @@ modulesbyfile = {} def getmodule(object): """Return the module an object was defined in, or None if not found.""" + if ismodule(object): + return object if isclass(object): return sys.modules.get(object.__module__) try: