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