[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