1.1 --- a/annotate.py Thu Feb 15 20:16:42 2007 +0100
1.2 +++ b/annotate.py Thu Feb 15 20:32:37 2007 +0100
1.3 @@ -216,6 +216,9 @@
1.4 node.namespace = self.namespace
1.5 result = self.dispatch(node)
1.6 result.namespace = self.namespace
1.7 + if not hasattr(result, "raises"):
1.8 + result.raises = []
1.9 + combine(result.raises, self.namespace.raises)
1.10
1.11 # Obtain the return values.
1.12
1.13 @@ -511,7 +514,6 @@
1.14
1.15 invoke.invocations = invocations
1.16 self.namespace.set_types(getattr(invoke, "types", []))
1.17 - combine(self.namespace.raises, getattr(invoke, "raises", []))
1.18 return invoke
1.19
1.20 def visitInvokeBlock(self, invoke):
1.21 @@ -1012,6 +1014,7 @@
1.22 if not hasattr(invoke, "raises"):
1.23 invoke.raises = []
1.24 combine(invoke.raises, self.last_raises)
1.25 + combine(self.namespace.raises, self.last_raises)
1.26
1.27 # In order to keep global accesses working, the module namespace must be
1.28 # adjusted.
2.1 --- a/viewer.py Thu Feb 15 20:16:42 2007 +0100
2.2 +++ b/viewer.py Thu Feb 15 20:32:37 2007 +0100
2.3 @@ -984,8 +984,8 @@
2.4
2.5 self.stream.write("<div class='raises'>\n")
2.6 for node in nodes:
2.7 - if hasattr(node, "namespace") and hasattr(node.namespace, "raises") and node.namespace.raises:
2.8 - self._types_list(node.namespace.raises)
2.9 + if hasattr(node, "raises") and node.raises:
2.10 + self._types_list(node.raises)
2.11 self.stream.write("</div>\n")
2.12
2.13 def _scopes(self, nodes):