[pypy-svn] rev 2430 - pypy/trunk/src/pypy/module

pmaupin at codespeak.net pmaupin at codespeak.net
Wed Dec 17 13:53:10 CET 2003


Author: pmaupin
Date: Wed Dec 17 13:53:09 2003
New Revision: 2430

Modified:
   pypy/trunk/src/pypy/module/builtin.py
Log:
Sped up no-argument case of dir()

Modified: pypy/trunk/src/pypy/module/builtin.py
==============================================================================
--- pypy/trunk/src/pypy/module/builtin.py	(original)
+++ pypy/trunk/src/pypy/module/builtin.py	Wed Dec 17 13:53:09 2003
@@ -577,6 +577,14 @@
         Otherwise:  its attributes, its class's attributes, and recursively the
             attributes of its class's base classes.
         """
+        if len(args) > 1:
+            raise TypeError("dir expected at most 1 arguments, got %d"
+                            % len(args))
+        if len(args) == 0:
+            local_names = _caller_locals().keys() # 2 stackframes away
+            local_names.sort()
+            return local_names
+        
         import types
         def _classdir(klass):
             """Return a dict of the accessible attributes of class/type klass.
@@ -606,14 +614,6 @@
             return Dict
         #End _classdir
 
-        if len(args) > 1:
-            raise TypeError("dir expected at most 1 arguments, got %d"
-                            % len(args))
-        if len(args) == 0:
-            local_names = _caller_locals().keys() # 2 stackframes away
-            local_names.sort()
-            return local_names
-        
         obj = args[0]
         
         if isinstance(obj, types.ModuleType):


More information about the Pypy-commit mailing list