Author: Maciej Fijalkowski <fij...@gmail.com>
Branch: 
Changeset: r71483:77c627036259
Date: 2014-05-13 11:18 +0200
http://bitbucket.org/pypy/pypy/changeset/77c627036259/

Log:    merge

diff --git a/lib_pypy/gdbm.py b/lib_pypy/gdbm.py
--- a/lib_pypy/gdbm.py
+++ b/lib_pypy/gdbm.py
@@ -1,4 +1,3 @@
-
 import cffi, os
 
 ffi = cffi.FFI()
@@ -16,8 +15,8 @@
 void gdbm_close(void*);
 
 typedef struct {
-       char *dptr;
-       int   dsize;
+    char *dptr;
+    int   dsize;
 } datum;
 
 datum gdbm_fetch(void*, datum);
@@ -49,13 +48,13 @@
 
 class gdbm(object):
     ll_dbm = None
-    
+
     def __init__(self, filename, iflags, mode):
         res = lib.gdbm_open(filename, 0, iflags, mode, ffi.NULL)
         if not res:
             self._raise_from_errno()
         self.ll_dbm = res
-    
+
     def close(self):
         if self.ll_dbm:
             lib.gdbm_close(self.ll_dbm)
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]
@@ -589,8 +584,6 @@
         classdef = hop.s_result.classdef
         return rclass.rtype_new_instance(self, classdef, hop.llops)
 
-    generic_translate_operation = None
-
     def default_translate_operation(self, hop):
         raise TyperError("unimplemented operation: '%s'" % hop.spaceop.opname)
 
@@ -688,13 +681,8 @@
 
     def dispatch(self):
         rtyper = self.rtyper
-        generic = rtyper.generic_translate_operation
-        if generic is not None:
-            res = generic(self)
-            if res is not None:
-                return res
         opname = self.forced_opname or self.spaceop.opname
-        translate_meth = getattr(rtyper, 'translate_op_'+opname,
+        translate_meth = getattr(rtyper, 'translate_op_' + opname,
                                  rtyper.default_translate_operation)
         return translate_meth(self)
 
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():
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to