[pypy-svn] r26374 - pypy/dist/pypy/translator/cl

sanxiyn at codespeak.net sanxiyn at codespeak.net
Wed Apr 26 17:22:28 CEST 2006


Author: sanxiyn
Date: Wed Apr 26 17:22:25 2006
New Revision: 26374

Modified:
   pypy/dist/pypy/translator/cl/clrepr.py
Log:
Representation for List, Record, CLASSTYPE. Now raise error instead
of fallback to repr_unknown.


Modified: pypy/dist/pypy/translator/cl/clrepr.py
==============================================================================
--- pypy/dist/pypy/translator/cl/clrepr.py	(original)
+++ pypy/dist/pypy/translator/cl/clrepr.py	Wed Apr 26 17:22:25 2006
@@ -1,10 +1,12 @@
 import types
 
 from pypy.objspace.flow.model import Constant, Variable
-from pypy.rpython.ootypesystem.ootype import Instance, _static_meth
+from pypy.rpython.ootypesystem.ootype import List, Record, Instance, instance_impl, _static_meth
+from pypy.rpython.ootypesystem.rclass import CLASSTYPE
 
 def repr_unknown(obj):
-    return '#<%r>' % (obj,)
+    name = obj.__class__.__name__
+    raise NotImplementedError("cannot represent %s" % (name,))
 
 def repr_var(var):
     return var.name
@@ -16,8 +18,15 @@
     return name.replace('_', '-')
 
 def repr_const(val):
+    if isinstance(val, List):
+        return "'array"
+    if isinstance(val, Record):
+        return "'struct" # XXX
     if isinstance(val, Instance):
         return "'" + repr_class_name(val._name)
+    if isinstance(val, instance_impl):
+        if val._TYPE is CLASSTYPE:
+            return "'standard-class"
     if isinstance(val, types.FunctionType):
         if val.func_name == 'dum_nocheck': # XXX
             return "'dummy"



More information about the Pypy-commit mailing list