Author: Armin Rigo <[email protected]>
Branch:
Changeset: r51771:7b1eec04c0f9
Date: 2012-01-26 09:52 +0100
http://bitbucket.org/pypy/pypy/changeset/7b1eec04c0f9/
Log: Add some reprs to Symbolic subclasses, and show them in the error
messages.
diff --git a/pypy/rlib/objectmodel.py b/pypy/rlib/objectmodel.py
--- a/pypy/rlib/objectmodel.py
+++ b/pypy/rlib/objectmodel.py
@@ -130,19 +130,23 @@
if self is other:
return 0
else:
- raise TypeError("Symbolics can not be compared!")
+ raise TypeError("Symbolics can not be compared! (%r, %r)"
+ % (self, other))
def __hash__(self):
- raise TypeError("Symbolics are not hashable!")
+ raise TypeError("Symbolics are not hashable! %r" % (self,))
def __nonzero__(self):
- raise TypeError("Symbolics are not comparable")
+ raise TypeError("Symbolics are not comparable! %r" % (self,))
class ComputedIntSymbolic(Symbolic):
def __init__(self, compute_fn):
self.compute_fn = compute_fn
+ def __repr__(self):
+ return '%s(%r)' % (self.__class__.__name__, self.compute_fn)
+
def annotation(self):
from pypy.annotation import model
return model.SomeInteger()
@@ -157,6 +161,9 @@
self.expr = expr
self.default = default
+ def __repr__(self):
+ return '%s(%r)' % (self.__class__.__name__, self.expr)
+
def annotation(self):
from pypy.annotation import model
return model.SomeInteger()
diff --git a/pypy/rpython/lltypesystem/llgroup.py
b/pypy/rpython/lltypesystem/llgroup.py
--- a/pypy/rpython/lltypesystem/llgroup.py
+++ b/pypy/rpython/lltypesystem/llgroup.py
@@ -76,6 +76,10 @@
self.index = memberindex
self.member = grp.members[memberindex]._as_ptr()
+ def __repr__(self):
+ return '%s(%s, %s)' % (self.__class__.__name__,
+ self.grpptr, self.index)
+
def __nonzero__(self):
return True
diff --git a/pypy/rpython/lltypesystem/rffi.py
b/pypy/rpython/lltypesystem/rffi.py
--- a/pypy/rpython/lltypesystem/rffi.py
+++ b/pypy/rpython/lltypesystem/rffi.py
@@ -27,6 +27,10 @@
self.c_name = c_name
self.TP = TP
+ def __repr__(self):
+ return '%s(%r, %s)' % (self.__class__.__name__,
+ self.c_name, self.TP)
+
def annotation(self):
return lltype_to_annotation(self.TP)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit