Author: Ronan Lamy <[email protected]>
Branch: kill-typesystem
Changeset: r65742:52c5500cb939
Date: 2013-07-28 02:31 +0100
http://bitbucket.org/pypy/pypy/changeset/52c5500cb939/

Log:    Simplify makerepr and makekey

diff --git a/rpython/rtyper/rtyper.py b/rpython/rtyper/rtyper.py
--- a/rpython/rtyper/rtyper.py
+++ b/rpython/rtyper/rtyper.py
@@ -157,10 +157,9 @@
         raise KeyError(search)
 
     def makekey(self, s_obj):
-        return pair(self.type_system, s_obj).rtyper_makekey(self)
-
-    def _makerepr(self, s_obj):
-        return pair(self.type_system, s_obj).rtyper_makerepr(self)
+        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
@@ -170,7 +169,7 @@
             result = self.reprs[key]
         except KeyError:
             self.reprs[key] = None
-            result = self._makerepr(s_obj)
+            result = s_obj.rtyper_makerepr(self)
             assert not isinstance(result.lowleveltype, ContainerType), (
                 "missing a Ptr in the type specification "
                 "of %s:\n%r" % (s_obj, result.lowleveltype))
diff --git a/rpython/rtyper/typesystem.py b/rpython/rtyper/typesystem.py
--- a/rpython/rtyper/typesystem.py
+++ b/rpython/rtyper/typesystem.py
@@ -145,17 +145,3 @@
 LowLevelTypeSystem.instance = LowLevelTypeSystem()
 
 getfunctionptr = LowLevelTypeSystem.instance.getcallable
-
-# Multiple dispatch on type system and high-level annotation
-
-from rpython.tool.pairtype import pairtype
-from rpython.annotator.model import SomeObject
-
-class __extend__(pairtype(TypeSystem, SomeObject)):
-    def rtyper_makerepr((ts, s_obj), rtyper):
-        return s_obj.rtyper_makerepr(rtyper)
-
-    def rtyper_makekey((ts, s_obj), rtyper):
-        if hasattr(s_obj, "rtyper_makekey_ex"):
-            return s_obj.rtyper_makekey_ex(rtyper)
-        return s_obj.rtyper_makekey()
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to