1.1 --- a/annotate.py Wed Aug 09 00:24:42 2006 +0200
1.2 +++ b/annotate.py Wed Aug 09 00:25:00 2006 +0200
1.3 @@ -41,6 +41,7 @@
1.4 if type not in node.types:
1.5 node.types.append(type)
1.6 self.count += 1
1.7 + print self.count
1.8
1.9 system = System()
1.10
1.11 @@ -494,6 +495,11 @@
1.12 Invoke using the given 'invoke' node the given 'subprogram'.
1.13 """
1.14
1.15 + # Test to see if anything has changed.
1.16 +
1.17 + if hasattr(invoke, "syscount") and invoke.syscount == self.system.count:
1.18 + return
1.19 +
1.20 # Test for context information.
1.21
1.22 if hasattr(subprogram, "context"):
1.23 @@ -528,6 +534,10 @@
1.24 for locals in annotator.return_locals:
1.25 self.namespace.merge_namespace(locals)
1.26
1.27 + # Remember the state of the system.
1.28 +
1.29 + invoke.syscount = self.system.count
1.30 +
1.31 def make_items(self, invocation, subprogram, context):
1.32
1.33 """