[pypy-svn] pypy default: kill all the html-related features

antocuni commits-noreply at bitbucket.org
Fri Feb 18 13:54:49 CET 2011


Author: Antonio Cuni <anto.cuni at gmail.com>
Branch: 
Changeset: r42159:9a4c1a56401e
Date: 2011-02-18 13:31 +0100
http://bitbucket.org/pypy/pypy/changeset/9a4c1a56401e/

Log:	kill all the html-related features


diff --git a/pypy/tool/jitlogparser/test/test_parser.py b/pypy/tool/jitlogparser/test/test_parser.py
--- a/pypy/tool/jitlogparser/test/test_parser.py
+++ b/pypy/tool/jitlogparser/test/test_parser.py
@@ -1,8 +1,7 @@
 from pypy.jit.metainterp.resoperation import ResOperation, rop
 from pypy.jit.metainterp.history import ConstInt, Const
 from pypy.tool.jitlogparser.parser import parse, Bytecode, Function,\
-     slice_debug_merge_points,\
-     adjust_bridges, cssclass
+     slice_debug_merge_points, adjust_bridges
 from pypy.tool.jitlogparser.storage import LoopStorage
 import py
 
@@ -19,10 +18,9 @@
     assert ops[1].name == 'guard_true'
     assert ops[1].descr is not None
     assert ops[0].res == 'i9'
-    assert ops[0].html_repr().plaintext() == 'i9 = i7 < 1003'
+    assert ops[0].repr() == 'i9 = int_lt(i7, 1003)'
     assert ops[2].descr is not None
     assert len(ops[2].args) == 1
-    assert ops[2].html_repr().plaintext() == 'i13 = ((pypysig_long_struct)151937600).value'
 
 def test_parse_non_code():
     ops = parse('''
@@ -31,7 +29,7 @@
     ''')
     res = slice_debug_merge_points(ops.operations, LoopStorage())
     assert len(res.chunks) == 1
-    assert res.chunks[0].html_repr()
+    assert res.chunks[0].repr()
 
 def test_split():
     ops = parse('''
@@ -177,16 +175,3 @@
     ops = slice_debug_merge_points(loop.operations, LoopStorage())
     chunk = ops.chunks[0]
     assert chunk.bytecode_name == 'StrLiteralSearch'
-
-
-def test_highlight_var():
-    ops = parse('''
-    [p0]
-    guard_class(p0, 144264192, descr=<Guard0>)
-    ''').operations
-    assert len(ops) == 1
-    op = ops[0]
-    assert op.name == 'guard_class'
-    html = op.html_repr()
-    p0 = cssclass('p0', 'p0', onmouseover="highlight_var(this)", onmouseout="disable_var(this)")
-    assert p0 in html

diff --git a/pypy/tool/jitlogparser/parser.py b/pypy/tool/jitlogparser/parser.py
--- a/pypy/tool/jitlogparser/parser.py
+++ b/pypy/tool/jitlogparser/parser.py
@@ -3,33 +3,6 @@
 from pypy.jit.metainterp.resoperation import rop, opname
 from pypy.jit.tool.oparser import OpParser
 
-class Html(str):
-    def __html__(self):
-        return self
-
-    def plaintext(self):
-        # This is not a general way to strip tags, but it's good enough to use
-        # in tests
-        import re
-        s = re.sub('<.*?>', '', self)
-        s = s.replace("&lt;", "<")
-        s = s.replace("&gt;", ">")
-        s = s.replace("&amp;", "&")
-        return s
-
-
-def cssclass(cls, s, **kwds):
-    attrs = ['%s="%s"' % (name, value) for name, value in kwds.iteritems()]
-    return '<span class="%s" %s>%s</span>' % (cls, ' '.join(attrs), s)
-
-
-def _new_binop(name):
-    import cgi
-    name = cgi.escape(name)
-    def f(self):
-        return '%s = %s %s %s' % (self.getres(), self.getarg(0), name, self.getarg(1))
-    return f
-
 class Op(object):
     bridge = None
     
@@ -45,12 +18,6 @@
     def setfailargs(self, _):
         pass
 
-    def html_repr(self):
-        s = getattr(self, 'repr_' + self.name, self.generic_repr)()
-        if self.is_guard():
-            s = '<span class="guard">guard</span>(' + s + ')'
-        return Html(s)
-
     def getarg(self, i):
         return self._getvar(self.args[i])
 
@@ -61,69 +28,12 @@
         return self._getvar(self.res)
 
     def _getvar(self, v):
-        return cssclass(v, v, onmouseover='highlight_var(this)', onmouseout='disable_var(this)')
+        return v
 
     def is_guard(self):
         return self._is_guard
 
-    for bin_op, name in [('==', 'int_eq'),
-                         ('!=', 'int_ne'),
-                         ('==', 'float_eq'),
-                         ('!=', 'float_ne'),
-                         ('>', 'int_gt'),
-                         ('<', 'int_lt'),
-                         ('<=', 'int_le'),
-                         ('>=', 'int_ge'),
-                         ('+', 'int_add'),
-                         ('+', 'float_add'),
-                         ('-', 'int_sub'),
-                         ('-', 'float_sub'),
-                         ('*', 'int_mul'),
-                         ('*', 'float_mul'),
-                         ('&', 'int_and')]:
-        locals()['repr_' + name] = _new_binop(bin_op)
-
-    def repr_guard_true(self):
-        return '%s is true' % self.getarg(0)
-
-    def repr_guard_false(self):
-        return '%s is false' % self.getarg(0)
-
-    def repr_guard_value(self):
-        return '%s is %s' % (self.getarg(0), self.getarg(1))
-
-    def repr_guard_isnull(self):
-        return '%s is null' % self.getarg(0)
-
-    def repr_getfield_raw(self):
-        name, field = self.descr.split(' ')[1].rsplit('.', 1)
-        return '%s = ((%s)%s).%s' % (self.getres(), name, self.getarg(0), field[2:])
-
-    def repr_getfield_gc(self):
-        fullname, field = self.descr.split(' ')[1].rsplit('.', 1)
-        names = fullname.rsplit('.', 1)
-        if len(names) == 2:
-            namespace, classname = names
-        else:
-            namespace = ''
-            classname = names[0]
-        namespace = cssclass('namespace', namespace)
-        classname = cssclass('classname', classname)
-        field = cssclass('fieldname', field)
-            
-        obj = self.getarg(0)
-        return '%s = ((%s.%s)%s).%s' % (self.getres(), namespace, classname, obj, field)
-    repr_getfield_gc_pure = repr_getfield_gc
-
-    def repr_setfield_raw(self):
-        name, field = self.descr.split(' ')[1].rsplit('.', 1)
-        return '((%s)%s).%s = %s' % (name, self.getarg(0), field[2:], self.getarg(1))
-
-    def repr_setfield_gc(self):
-        name, field = self.descr.split(' ')[1].rsplit('.', 1)
-        return '((%s)%s).%s = %s' % (name, self.getarg(0), field, self.getarg(1))
-
-    def generic_repr(self):
+    def repr(self):
         arglist = ', '.join(self.getargs())
         if self.res is not None:
             return '%s = %s(%s)' % (self.getres(), self.name, arglist)
@@ -209,14 +119,6 @@
     def pretty_print(self, out):
         pass
 
-    def html_repr(self):
-        if self.filename is not None:
-            code = self.getcode()
-            opcode = self.code.map[self.bytecode_no]
-            return '%s %s' % (self.bytecode_name, opcode.argstr)
-        else:
-            return self.bytecode_name
-
 class Function(object):
     filename = None
     name = None
@@ -266,9 +168,6 @@
             maxline = 0
         self._linerange = minline, maxline
 
-    def html_repr(self):
-        return "inlined call to %s in %s" % (self.name, self.filename)
-
     def repr(self):
         if self.filename is None:
             return "Unknown"


More information about the Pypy-commit mailing list