1.1 --- a/micropython/inspect.py Sun Apr 27 03:11:12 2008 +0200
1.2 +++ b/micropython/inspect.py Sun Apr 27 21:05:55 2008 +0200
1.3 @@ -324,8 +324,9 @@
1.4
1.5 # Program-related details.
1.6
1.7 - self.stack_usage = None
1.8 - self.stack_temp_usage = None
1.9 + self.stack_usage = 0
1.10 + self.stack_temp_usage = 0
1.11 + self.stack_local_usage = 0
1.12
1.13 def __repr__(self):
1.14 if self.location is not None:
1.15 @@ -628,8 +629,9 @@
1.16
1.17 # Program-related details.
1.18
1.19 - self.stack_usage = None
1.20 - self.stack_temp_usage = None
1.21 + self.stack_usage = 0
1.22 + self.stack_temp_usage = 0
1.23 + self.stack_local_usage = 0
1.24
1.25 def _add_parameters(self, argnames):
1.26 for name in argnames:
1.27 @@ -723,10 +725,14 @@
1.28
1.29 if i is not None:
1.30 j = i
1.31 - for i, attr in enumerate(self.locals().values()):
1.32 - attr.position = i + j
1.33 + else:
1.34 + j = 0
1.35
1.36 - # NOTE: May also have temporary variables.
1.37 + i = -1
1.38 + for i, attr in enumerate(self.locals().values()):
1.39 + attr.position = i + j
1.40 +
1.41 + self.stack_local_usage = i + 1
1.42
1.43 def function_from_method(self):
1.44
1.45 @@ -798,8 +804,9 @@
1.46
1.47 # Program-related details.
1.48
1.49 - self.stack_usage = None
1.50 - self.stack_temp_usage = None
1.51 + self.stack_usage = 0
1.52 + self.stack_temp_usage = 0
1.53 + self.stack_local_usage = 0
1.54
1.55 def full_name(self):
1.56 return self.name