1.1 --- a/modules.py Sun Sep 04 23:59:55 2016 +0200
1.2 +++ b/modules.py Mon Sep 05 00:12:56 2016 +0200
1.3 @@ -204,6 +204,31 @@
1.4 self.importer.all_instance_attrs[name] = self.instance_attrs.get(name) or {}
1.5 self.importer.all_instance_attr_constants[name] = self.instance_attr_constants.get(name) or {}
1.6
1.7 + def set_object(self, name, value=None):
1.8 +
1.9 + "Set an object with the given 'name' and the given 'value'."
1.10 +
1.11 + ref = decode_reference(value, name)
1.12 + multiple = self.objects.has_key(name) and self.objects[name].get_kind() != ref.get_kind()
1.13 + self.importer.objects[name] = self.objects[name] = multiple and ref.as_var() or ref
1.14 +
1.15 + def queue_module(self, name, required=False):
1.16 +
1.17 + """
1.18 + Queue the module with the given 'name'. If 'required' is true (it is
1.19 + false by default), indicate that the module is required in the final
1.20 + program.
1.21 + """
1.22 +
1.23 + self.importer.queue_module(name, self, required)
1.24 + if required:
1.25 + self.required.add(name)
1.26 + self.imports.add(name)
1.27 +
1.28 +class InspectionNaming:
1.29 +
1.30 + "Name operations related to inspection."
1.31 +
1.32 # Module-relative naming.
1.33
1.34 def is_global(self, name):
1.35 @@ -265,14 +290,6 @@
1.36 else:
1.37 return Reference("<depends>", path)
1.38
1.39 - def set_object(self, name, value=None):
1.40 -
1.41 - "Set an object with the given 'name' and the given 'value'."
1.42 -
1.43 - ref = decode_reference(value, name)
1.44 - multiple = self.objects.has_key(name) and self.objects[name].get_kind() != ref.get_kind()
1.45 - self.importer.objects[name] = self.objects[name] = multiple and ref.as_var() or ref
1.46 -
1.47 def import_name_from_module(self, name, module_name):
1.48
1.49 "Import 'name' from the module having the given 'module_name'."
1.50 @@ -281,19 +298,6 @@
1.51 self.queue_module(module_name)
1.52 return Reference("<depends>", "%s.%s" % (module_name, name))
1.53
1.54 - def queue_module(self, name, required=False):
1.55 -
1.56 - """
1.57 - Queue the module with the given 'name'. If 'required' is true (it is
1.58 - false by default), indicate that the module is required in the final
1.59 - program.
1.60 - """
1.61 -
1.62 - self.importer.queue_module(name, self, required)
1.63 - if required:
1.64 - self.required.add(name)
1.65 - self.imports.add(name)
1.66 -
1.67 class CachedModule(BasicModule):
1.68
1.69 "A cached module."