1.1 --- a/simplify/viewer.py Mon May 28 00:51:46 2007 +0200
1.2 +++ b/simplify/viewer.py Mon May 28 02:18:09 2007 +0200
1.3 @@ -90,6 +90,10 @@
1.4 float: right;
1.5 }
1.6
1.7 + .no-types {
1.8 + background-color: #FF0000;
1.9 + }
1.10 +
1.11 .op,
1.12 .name,
1.13 .attr,
1.14 @@ -621,11 +625,17 @@
1.15 self.stream.write("<span class='assattr'>\n")
1.16 self.dispatch(node.expr)
1.17 self.stream.write("<span class='attr'>\n")
1.18 - self.stream.write(".%s\n" % self._text(node.attrname))
1.19 + self.stream.write(".")
1.20 + types = self._types(targets)
1.21 + if not target.is_annotated() or types:
1.22 + self._name_start(node.attrname)
1.23 + else:
1.24 + self._name_start(node.attrname, "no-types")
1.25 self._popup(
1.26 self._scopes(targets) +
1.27 - self._types(targets)
1.28 + types
1.29 )
1.30 + self._name_end()
1.31 self.stream.write("</span>\n")
1.32 self.stream.write("</span>\n")
1.33
1.34 @@ -639,10 +649,14 @@
1.35 def visitAssName(self, node):
1.36 target = node._node
1.37 targets = target.active()
1.38 - self._name_start(target.name)
1.39 + types = self._types(targets)
1.40 + if not target.is_annotated() or types:
1.41 + self._name_start(target.name)
1.42 + else:
1.43 + self._name_start(target.name, "no-types")
1.44 self._popup(
1.45 self._scopes(targets) +
1.46 - self._types(targets)
1.47 + types
1.48 )
1.49 self._name_end()
1.50
1.51 @@ -735,11 +749,17 @@
1.52 self.stream.write("<span class='getattr'>\n")
1.53 self.dispatch(node.expr)
1.54 self.stream.write("<span class='attr'>\n")
1.55 - self.stream.write(".%s\n" % self._text(node.attrname))
1.56 + self.stream.write(".")
1.57 + types = self._types(targets)
1.58 + if not target.is_annotated() or types:
1.59 + self._name_start(node.attrname)
1.60 + else:
1.61 + self._name_start(node.attrname, "no-types")
1.62 self._popup(
1.63 self._scopes(targets) +
1.64 - self._types(targets)
1.65 + types
1.66 )
1.67 + self._name_end()
1.68 self.stream.write("</span>\n")
1.69 self.stream.write("</span>\n")
1.70
1.71 @@ -814,10 +834,14 @@
1.72 def visitName(self, node):
1.73 target = node._node
1.74 targets = target.active()
1.75 - self._name_start(target.name)
1.76 + types = self._types(targets)
1.77 + if not target.is_annotated() or types:
1.78 + self._name_start(target.name)
1.79 + else:
1.80 + self._name_start(target.name, "no-types")
1.81 self._popup(
1.82 self._scopes(targets) +
1.83 - self._types(targets)
1.84 + types
1.85 )
1.86 self._name_end()
1.87