[pypy-commit] pypy default: kill rtyper_makekey_ex()

rlamy noreply at buildbot.pypy.org
Tue May 13 04:03:39 CEST 2014


Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch: 
Changeset: r71479:bfd362e5793e
Date: 2014-05-13 03:03 +0100
http://bitbucket.org/pypy/pypy/changeset/bfd362e5793e/

Log:	kill rtyper_makekey_ex()

diff --git a/rpython/rlib/rweakref.py b/rpython/rlib/rweakref.py
--- a/rpython/rlib/rweakref.py
+++ b/rpython/rlib/rweakref.py
@@ -104,7 +104,7 @@
         return _rweakvaldict.WeakValueDictRepr(rtyper,
                                                rtyper.getrepr(self.s_key))
 
-    def rtyper_makekey_ex(self, rtyper):
+    def rtyper_makekey(self):
         return self.__class__,
 
     def method_get(self, s_key):
@@ -164,7 +164,7 @@
         from rpython.rlib import _rweakkeydict
         return _rweakkeydict.WeakKeyDictRepr(rtyper)
 
-    def rtyper_makekey_ex(self, rtyper):
+    def rtyper_makekey(self):
         return self.__class__,
 
     def method_get(self, s_key):
diff --git a/rpython/rtyper/controllerentry.py b/rpython/rtyper/controllerentry.py
--- a/rpython/rtyper/controllerentry.py
+++ b/rpython/rtyper/controllerentry.py
@@ -220,8 +220,8 @@
         from rpython.rtyper.rcontrollerentry import ControlledInstanceRepr
         return ControlledInstanceRepr(rtyper, self.s_real_obj, self.controller)
 
-    def rtyper_makekey_ex(self, rtyper):
-        real_key = rtyper.makekey(self.s_real_obj)
+    def rtyper_makekey(self):
+        real_key = self.s_real_obj.rtyper_makekey()
         return self.__class__, real_key, self.controller
 
 _make_none_union("SomeControlledInstance", "obj.s_real_obj, obj.controller", globals())
diff --git a/rpython/rtyper/module/ll_os_stat.py b/rpython/rtyper/module/ll_os_stat.py
--- a/rpython/rtyper/module/ll_os_stat.py
+++ b/rpython/rtyper/module/ll_os_stat.py
@@ -81,7 +81,7 @@
         from rpython.rtyper.module import r_os_stat
         return r_os_stat.StatResultRepr(rtyper)
 
-    def rtyper_makekey_ex(self, rtyper):
+    def rtyper_makekey(self):
         return self.__class__,
 
     def getattr(self, s_attr):
@@ -115,7 +115,7 @@
         from rpython.rtyper.module import r_os_stat
         return r_os_stat.StatvfsResultRepr(rtyper)
 
-    def rtyper_makekey_ex(self, rtyper):
+    def rtyper_makekey(self):
         return self.__class__,
 
     def getattr(self, s_attr):
diff --git a/rpython/rtyper/rmodel.py b/rpython/rtyper/rmodel.py
--- a/rpython/rtyper/rmodel.py
+++ b/rpython/rtyper/rmodel.py
@@ -268,8 +268,8 @@
             return EnumerateIteratorRepr(r_baseiter)
         return r_container.make_iterator_repr(*self.variant)
 
-    def rtyper_makekey_ex(self, rtyper):
-        return self.__class__, rtyper.makekey(self.s_container), self.variant
+    def rtyper_makekey(self):
+        return self.__class__, self.s_container.rtyper_makekey(), self.variant
 
 
 class __extend__(annmodel.SomeImpossibleValue):
diff --git a/rpython/rtyper/rtuple.py b/rpython/rtyper/rtuple.py
--- a/rpython/rtyper/rtuple.py
+++ b/rpython/rtyper/rtuple.py
@@ -18,9 +18,9 @@
     def rtyper_makerepr(self, rtyper):
         return TupleRepr(rtyper, [rtyper.getrepr(s_item) for s_item in self.items])
 
-    def rtyper_makekey_ex(self, rtyper):
-        keys = [rtyper.makekey(s_item) for s_item in self.items]
-        return tuple([self.__class__]+keys)
+    def rtyper_makekey(self):
+        keys = [s_item.rtyper_makekey() for s_item in self.items]
+        return tuple([self.__class__] + keys)
 
 
 _gen_eq_function_cache = {}
diff --git a/rpython/rtyper/rtyper.py b/rpython/rtyper/rtyper.py
--- a/rpython/rtyper/rtyper.py
+++ b/rpython/rtyper/rtyper.py
@@ -135,14 +135,9 @@
                 return key._as_ptr()
         raise KeyError(search)
 
-    def makekey(self, s_obj):
-        if hasattr(s_obj, "rtyper_makekey_ex"):
-            return s_obj.rtyper_makekey_ex(self)
-        return s_obj.rtyper_makekey()
-
     def getrepr(self, s_obj):
         # s_objs are not hashable... try hard to find a unique key anyway
-        key = self.makekey(s_obj)
+        key = s_obj.rtyper_makekey()
         assert key[0] is s_obj.__class__
         try:
             result = self.reprs[key]
diff --git a/rpython/rtyper/test/test_rtyper.py b/rpython/rtyper/test/test_rtyper.py
--- a/rpython/rtyper/test/test_rtyper.py
+++ b/rpython/rtyper/test/test_rtyper.py
@@ -22,9 +22,8 @@
                                 annmodel.SomeInteger()))
     stup2 = annmodel.SomeTuple((annmodel.SomeString(),
                                 annmodel.SomeInteger()))
-    rtyper = RPythonTyper(annrpython.RPythonAnnotator(None))
-    key1 = rtyper.makekey(stup1)
-    key2 = rtyper.makekey(stup2)
+    key1 = stup1.rtyper_makekey()
+    key2 = stup2.rtyper_makekey()
     assert key1 != key2
 
 def test_simple():


More information about the pypy-commit mailing list