make_eiffel_method = EiffelDescriptor
def _test(metaclass):
- class Eiffel:
- __metaclass__ = metaclass
+ class Eiffel(metaclass=metaclass):
+ pass
class Test(Eiffel):
def __str__(self):
return "%s.%s" % (self.__classname, self.__enumname)
-class Enum:
- __metaclass__ = EnumMetaclass
+class Enum(metaclass=EnumMetaclass):
+ pass
-class FullEnum:
- __metaclass__ = FullEnumMetaclass
+class FullEnum(metaclass=FullEnumMetaclass):
+ pass
def _test():
self.assertEqual(a[100:200], (100,200))
def test_metaclass(self):
- # Testing __metaclass__...
+ # Testing metaclasses...
class C(metaclass=type):
def __init__(self):
self.__state = 0
Changes for Python: Add support for module versions
"""
-#__metaclass__ = type
-
import os
import sys
import traceback
p("}")
-class Module:
- __metaclass__ = ModuleMetaclass
+class Module(metaclass=ModuleMetaclass):
+ pass
class TypeMetaclass(BaseMetaclass):
p(template.type_init_type)
p(template.module_add_type)
-class Type:
- __metaclass__ = TypeMetaclass
+class Type(metaclass=TypeMetaclass):
+ pass