Author: Ronan Lamy <[email protected]>
Branch: 
Changeset: r66000:fd16a4b769cf
Date: 2013-08-07 17:30 +0100
http://bitbucket.org/pypy/pypy/changeset/fd16a4b769cf/

Log:    Kill unused _metatype_ option in extregistry

diff --git a/rpython/rtyper/extregistry.py b/rpython/rtyper/extregistry.py
--- a/rpython/rtyper/extregistry.py
+++ b/rpython/rtyper/extregistry.py
@@ -13,9 +13,6 @@
         if '_type_' in dict:
             selfcls._register_type(dict['_type_'])
             del selfcls._type_
-        if '_metatype_' in dict:
-            selfcls._register_metatype(dict['_metatype_'])
-            del selfcls._metatype_
 
     def _register(selfcls, dict, key):
         if isinstance(key, tuple):
@@ -32,9 +29,6 @@
     def _register_type(selfcls, key):
         selfcls._register(EXT_REGISTRY_BY_TYPE, key)
 
-    def _register_metatype(selfcls, key):
-        selfcls._register(EXT_REGISTRY_BY_METATYPE, key)
-
 
 class ExtRegistryEntry(object):
     __metaclass__ = AutoRegisteringType
@@ -120,27 +114,19 @@
 
 EXT_REGISTRY_BY_VALUE = FlexibleWeakDict()
 EXT_REGISTRY_BY_TYPE = weakref.WeakKeyDictionary()
-EXT_REGISTRY_BY_METATYPE = weakref.WeakKeyDictionary()
 
 # ____________________________________________________________
 # Public interface to access the registry
 
 def _lookup_type_cls(tp):
-    try:
-        return EXT_REGISTRY_BY_TYPE[tp]
-    except (KeyError, TypeError):
-        return EXT_REGISTRY_BY_METATYPE[type(tp)]
+    return EXT_REGISTRY_BY_TYPE[tp]
 
 def lookup_type(tp):
     Entry = _lookup_type_cls(tp)
     return Entry(tp)
 
 def is_registered_type(tp):
-    try:
-        _lookup_type_cls(tp)
-    except KeyError:
-        return False
-    return True
+    return tp in EXT_REGISTRY_BY_TYPE
 
 def _lookup_cls(instance):
     try:
diff --git a/rpython/rtyper/test/test_extregistry.py 
b/rpython/rtyper/test/test_extregistry.py
--- a/rpython/rtyper/test/test_extregistry.py
+++ b/rpython/rtyper/test/test_extregistry.py
@@ -62,50 +62,6 @@
     s = a.build_types(func, [])
     assert isinstance(s, annmodel.SomeInteger)
 
-def test_register_metatype():
-    class MetaType(type):
-        pass
-
-    class RealClass(object):
-        __metaclass__ = MetaType
-
-    real_class = RealClass()
-
-    def func():
-        return real_class
-
-    class Entry(ExtRegistryEntry):
-        _metatype_ = MetaType
-        def compute_annotation(self):
-            assert self.type is RealClass
-            assert self.instance is real_class
-            return annmodel.SomeInteger()
-
-    a = RPythonAnnotator()
-    s = a.build_types(func, [])
-    assert isinstance(s, annmodel.SomeInteger)
-
-def test_register_metatype_2():
-    class MetaType(type):
-        pass
-
-    class RealClass(object):
-        __metaclass__ = MetaType
-
-    def func(real_class):
-        return real_class
-
-    class Entry(ExtRegistryEntry):
-        _metatype_ = MetaType
-        def compute_annotation(self):
-            assert self.type is RealClass
-            assert self.instance is None
-            return annmodel.SomeInteger()
-
-    a = RPythonAnnotator()
-    s = a.build_types(func, [RealClass])
-    assert isinstance(s, annmodel.SomeInteger)
-
 def test_register_value_with_specialization():
     def dummy_func():
         raiseNameError
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to