1.1 --- a/modules.py Fri Mar 17 00:59:21 2017 +0100
1.2 +++ b/modules.py Sun Mar 19 00:16:10 2017 +0100
1.3 @@ -71,10 +71,6 @@
1.4
1.5 self.exception_namespaces = set()
1.6
1.7 - # Return value details.
1.8 -
1.9 - self.return_values = {}
1.10 -
1.11 # Attribute usage at module and function levels.
1.12
1.13 self.attr_usage = {}
1.14 @@ -102,6 +98,10 @@
1.15 self.initialised_names = {}
1.16 self.aliased_names = {}
1.17
1.18 + # Return values for functions in this module.
1.19 +
1.20 + self.return_values = {}
1.21 +
1.22 def __repr__(self):
1.23 return "BasicModule(%r, %r)" % (self.name, self.importer)
1.24
1.25 @@ -496,7 +496,9 @@
1.26 init_item(self.aliased_names, (path, name), dict)
1.27 if number == "{}": number = None
1.28 else: number = int(number)
1.29 - self.aliased_names[(path, name)][int(version)] = (original_path, original_name, attrnames != "{}" and attrnames or None, number)
1.30 + d = self.aliased_names[(path, name)]
1.31 + init_item(d, int(version), list)
1.32 + d[int(version)].append((original_path, original_name, attrnames != "{}" and attrnames or None, number))
1.33 line = f.readline().rstrip()
1.34
1.35 def _get_function_parameters(self, f):
1.36 @@ -763,9 +765,10 @@
1.37 for (path, name), aliases in assignments:
1.38 versions = aliases.items()
1.39 versions.sort()
1.40 - for version, alias in versions:
1.41 - original_path, original_name, attrnames, number = alias
1.42 - print >>f, path, name, version, original_path, original_name, attrnames or "{}", number is None and "{}" or number
1.43 + for version, version_aliases in versions:
1.44 + for alias in version_aliases:
1.45 + original_path, original_name, attrnames, number = alias
1.46 + print >>f, path, name, version, original_path, original_name, attrnames or "{}", number is None and "{}" or number
1.47
1.48 print >>f
1.49 print >>f, "function parameters:"