]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
move make_eiffel_method() out of base metaclass
authorJeremy Hylton <jeremy@alum.mit.edu>
Thu, 11 Jul 2002 21:17:26 +0000 (21:17 +0000)
committerJeremy Hylton <jeremy@alum.mit.edu>
Thu, 11 Jul 2002 21:17:26 +0000 (21:17 +0000)
Demo/newmetaclasses/Eiffel.py

index e73d0ca880035357aaa551c852eaab944c2f65dc..3e68611f56a3182a22b5ac94afb4c38964b45da3 100644 (file)
@@ -27,6 +27,13 @@ class EiffelBaseMetaClass(type):
 
     convert_methods = classmethod(convert_methods)
 
+class EiffelMetaClass1(EiffelBaseMetaClass):
+    # an implementation of the "eiffel" meta class that uses nested functions
+
+    def __new__(meta, name, bases, dict):
+        meta.convert_methods(dict)
+        return super(EiffelMetaClass1, meta).__new__(meta, name, bases, dict)
+
     def make_eiffel_method(func, pre, post):
         def method(self, *args, **kwargs):
             if pre:
@@ -43,13 +50,6 @@ class EiffelBaseMetaClass(type):
     
     make_eiffel_method = staticmethod(make_eiffel_method)
 
-class EiffelMetaClass1(EiffelBaseMetaClass):
-    # an implementation of the "eiffel" meta class that uses nested functions
-
-    def __new__(meta, name, bases, dict):
-        meta.convert_methods(dict)
-        return super(EiffelMetaClass1, meta).__new__(meta, name, bases, dict)
-
 class EiffelMethodWrapper:
 
     def __init__(self, inst, descr):