[pypy-svn] r28252 - pypy/dist/pypy/tool

antocuni at codespeak.net antocuni at codespeak.net
Sun Jun 4 14:50:17 CEST 2006


Author: antocuni
Date: Sun Jun  4 14:50:16 2006
New Revision: 28252

Modified:
   pypy/dist/pypy/tool/staticmethods.py
Log:
(antocuni, nik)

Forgotten from the last checkin.



Modified: pypy/dist/pypy/tool/staticmethods.py
==============================================================================
--- pypy/dist/pypy/tool/staticmethods.py	(original)
+++ pypy/dist/pypy/tool/staticmethods.py	Sun Jun  4 14:50:16 2006
@@ -1,10 +1,20 @@
 import types
-class StaticMethods(type):
-    """
-    Metaclass that turns plain methods into staticmethods.
-    """
+class AbstractMethods(type):
     def __new__(cls, cls_name, bases, cls_dict):
         for key, value in cls_dict.iteritems():
             if isinstance(value, types.FunctionType):
-                cls_dict[key] = staticmethod(value)
+                cls_dict[key] = cls.decorator(value)
         return type.__new__(cls, cls_name, bases, cls_dict)
+
+
+class StaticMethods(AbstractMethods):
+    """
+    Metaclass that turns plain methods into staticmethods.
+    """    
+    decorator = staticmethod
+
+class ClassMethods(AbstractMethods):
+    """
+    Metaclass that turns plain methods into classmethods.
+    """    
+    decorator = classmethod



More information about the Pypy-commit mailing list