1.1 --- a/inspector.py Sun Sep 04 17:44:39 2016 +0200
1.2 +++ b/inspector.py Sun Sep 04 19:24:17 2016 +0200
1.3 @@ -1292,6 +1292,34 @@
1.4 else:
1.5 return self.get_constant_reference(ref, n.value)
1.6
1.7 + # Special names.
1.8 +
1.9 + def get_special(self, name):
1.10 +
1.11 + "Return any stored value for the given special 'name'."
1.12 +
1.13 + return self.special.get(name)
1.14 +
1.15 + def set_special(self, name, value):
1.16 +
1.17 + """
1.18 + Set a special 'name' that merely tracks the use of an implicit object
1.19 + 'value'.
1.20 + """
1.21 +
1.22 + self.special[name] = value
1.23 +
1.24 + def set_special_literal(self, name, ref):
1.25 +
1.26 + """
1.27 + Set a special name for the literal type 'name' having type 'ref'. Such
1.28 + special names provide a way of referring to literal object types.
1.29 + """
1.30 +
1.31 + literal_name = "$L%s" % name
1.32 + value = ResolvedNameRef(literal_name, ref)
1.33 + self.set_special(literal_name, value)
1.34 +
1.35 # Functions and invocations.
1.36
1.37 def allocate_arguments(self, path, args):
2.1 --- a/modules.py Sun Sep 04 17:44:39 2016 +0200
2.2 +++ b/modules.py Sun Sep 04 19:24:17 2016 +0200
2.3 @@ -274,34 +274,6 @@
2.4 self.importer.queue_module(module_name, self)
2.5 return Reference("<depends>", "%s.%s" % (module_name, name))
2.6
2.7 - # Special names.
2.8 -
2.9 - def get_special(self, name):
2.10 -
2.11 - "Return any stored value for the given special 'name'."
2.12 -
2.13 - return self.special.get(name)
2.14 -
2.15 - def set_special(self, name, value):
2.16 -
2.17 - """
2.18 - Set a special 'name' that merely tracks the use of an implicit object
2.19 - 'value'.
2.20 - """
2.21 -
2.22 - self.special[name] = value
2.23 -
2.24 - def set_special_literal(self, name, ref):
2.25 -
2.26 - """
2.27 - Set a special name for the literal type 'name' having type 'ref'. Such
2.28 - special names provide a way of referring to literal object types.
2.29 - """
2.30 -
2.31 - literal_name = "$L%s" % name
2.32 - value = ResolvedNameRef(literal_name, ref)
2.33 - self.set_special(literal_name, value)
2.34 -
2.35 class CachedModule(BasicModule):
2.36
2.37 "A cached module."