1.1 --- a/modules.py Sun Mar 12 18:03:25 2017 +0100
1.2 +++ b/modules.py Sun Mar 12 18:04:08 2017 +0100
1.3 @@ -115,6 +115,7 @@
1.4 self.propagate_name_references()
1.5 self.propagate_attr_accesses()
1.6 self.propagate_constants()
1.7 + self.propagate_return_values()
1.8
1.9 def unpropagate(self):
1.10
1.11 @@ -151,6 +152,7 @@
1.12 remove_items(self.importer.all_attr_access_modifiers, self.attr_access_modifiers)
1.13 remove_items(self.importer.all_constants, self.constants)
1.14 remove_items(self.importer.all_constant_values, self.constant_values)
1.15 + remove_items(self.importer.all_return_values, self.return_values)
1.16
1.17 # Remove this module's objects from the importer. Objects are
1.18 # automatically propagated when defined.
1.19 @@ -220,6 +222,12 @@
1.20 self.importer.all_instance_attrs[name] = self.instance_attrs.get(name) or {}
1.21 self.importer.all_instance_attr_constants[name] = self.instance_attr_constants.get(name) or {}
1.22
1.23 + def propagate_return_values(self):
1.24 +
1.25 + "Propagate return values for the module."
1.26 +
1.27 + self.importer.all_return_values.update(self.return_values)
1.28 +
1.29 def set_object(self, name, value=None):
1.30
1.31 "Set an object with the given 'name' and the given 'value'."