[pypy-commit] pypy default: Add a __repr__ for debugging

arigo noreply at buildbot.pypy.org
Tue Feb 24 14:48:08 CET 2015


Author: Armin Rigo <arigo at tunes.org>
Branch: 
Changeset: r76098:2e95ba978d82
Date: 2015-02-24 14:46 +0100
http://bitbucket.org/pypy/pypy/changeset/2e95ba978d82/

Log:	Add a __repr__ for debugging

diff --git a/rpython/jit/metainterp/optimizeopt/optimizer.py b/rpython/jit/metainterp/optimizeopt/optimizer.py
--- a/rpython/jit/metainterp/optimizeopt/optimizer.py
+++ b/rpython/jit/metainterp/optimizeopt/optimizer.py
@@ -60,6 +60,17 @@
             self.make_constant(box)
         # invariant: box is a Const if and only if level == LEVEL_CONSTANT
 
+    def __repr__(self):
+        level = {LEVEL_UNKNOWN: 'UNKNOWN',
+                 LEVEL_NONNULL: 'NONNULL',
+                 LEVEL_KNOWNCLASS: 'KNOWNCLASS',
+                 LEVEL_CONSTANT: 'CONSTANT'}.get(self.getlevel(),
+                                                 self.getlevel())
+        return '<%s %s %s>' % (
+            self.__class__.__name__,
+            level,
+            self.box)
+
     def getlevel(self):
         return self._tag & 0x3
 


More information about the pypy-commit mailing list