1.1 --- a/viewer.py Mon Oct 30 23:33:58 2006 +0100
1.2 +++ b/viewer.py Tue Oct 31 00:44:10 2006 +0100
1.3 @@ -133,11 +133,6 @@
1.4 float: right;
1.5 }
1.6
1.7 - .non-types {
1.8 - padding: 0.5em; background-color: #FF0000;
1.9 - float: right;
1.10 - }
1.11 -
1.12 .raises {
1.13 padding: 0.5em; background-color: #7700FF;
1.14 float: right;
1.15 @@ -148,6 +143,11 @@
1.16 float: left;
1.17 }
1.18
1.19 + .non-accesses {
1.20 + padding: 0.5em; background-color: #FF0000;
1.21 + float: right;
1.22 + }
1.23 +
1.24 .op,
1.25 .name,
1.26 .attr,
1.27 @@ -726,11 +726,12 @@
1.28
1.29 def _types(self, node):
1.30 if hasattr(node, "types"):
1.31 - self._types_list(node.types)
1.32 - if hasattr(node, "non_types") and node.non_types:
1.33 - self._types_list(node.non_types, style_class="non-types")
1.34 - elif hasattr(node, "writes"):
1.35 - self._types_list(flatten(node.writes.values()))
1.36 + if node.types:
1.37 + self._types_list(node.types)
1.38 + else:
1.39 + self.stream.write("<div class='types'>\n")
1.40 + self.stream.write("no types\n")
1.41 + self.stream.write("</div>\n")
1.42 else:
1.43 self.stream.write("<div class='types'>\n")
1.44 self.stream.write("unvisited\n")
1.45 @@ -751,7 +752,7 @@
1.46
1.47 def _scopes(self, node):
1.48 if not isinstance(node, LoadName):
1.49 - if hasattr(node, "writes") or hasattr(node, "accesses"):
1.50 + if hasattr(node, "writes") and node.writes or hasattr(node, "accesses") and node.accesses:
1.51 self.stream.write("<div class='scopes'>\n")
1.52 for ref in getattr(node, "writes", getattr(node, "accesses", {})).keys():
1.53 fn = ref.full_name()
1.54 @@ -759,6 +760,8 @@
1.55 self.stream.write(self._text(fn))
1.56 self.stream.write("</div>\n")
1.57 self.stream.write("</div>\n")
1.58 + if hasattr(node, "non_accesses") and node.non_accesses:
1.59 + self._types_list(node.non_accesses, style_class="non-accesses")
1.60
1.61 # Utility functions.
1.62