]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Remove duplicate type objects from isroutine() and isbuiltin().
authorKa-Ping Yee <ping@zesty.ca>
Fri, 13 Apr 2001 09:15:08 +0000 (09:15 +0000)
committerKa-Ping Yee <ping@zesty.ca>
Fri, 13 Apr 2001 09:15:08 +0000 (09:15 +0000)
Make getmodule() on a module return the module itself.

Lib/inspect.py

index b1f723d1185147c59a8d3c113a8bdf6cf514b814..f62167ba2e39e2a5b6b056b269c34a22f5ecb574 100644 (file)
@@ -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: