1.1 --- a/inspector.py Sun Jan 22 01:16:01 2017 +0100
1.2 +++ b/inspector.py Sun Jan 22 21:46:37 2017 +0100
1.3 @@ -77,7 +77,7 @@
1.4
1.5 ref = self.get_builtin("module")
1.6 self.set_name("__class__", ref)
1.7 - self.set_name("__mname__", self.get_constant("string", self.name).reference())
1.8 + self.set_name("__name__", self.get_constant("string", self.name).reference())
1.9 self.set_name("__file__", self.get_constant("string", filename).reference())
1.10
1.11 # Reserve a constant for the encoding.
1.12 @@ -524,10 +524,11 @@
1.13 self.set_name("__fn__") # special instantiator attribute
1.14 self.set_name("__args__") # special instantiator attribute
1.15
1.16 - # Provide leafname and object name attributes.
1.17 + # Provide leafname and parent attributes.
1.18
1.19 - self.set_name("__name__", self.get_constant("string", class_name.rsplit(".", 1)[-1]).reference())
1.20 - self.set_name("__oname__", self.get_constant("string", class_name.rsplit(".", 1)[0]).reference())
1.21 + parent, leafname = class_name.rsplit(".", 1)
1.22 + self.set_name("__name__", self.get_constant("string", leafname).reference())
1.23 + self.set_name("__parent__")
1.24
1.25 self.process_structure_node(n.code)
1.26 self.exit_namespace()
1.27 @@ -646,11 +647,10 @@
1.28
1.29 self.enter_namespace(name)
1.30
1.31 - # Define leafname and object name attribute values for the function instance.
1.32 + # Define a leafname attribute value for the function instance.
1.33
1.34 ref = self.get_builtin_class("string")
1.35 self.reserve_constant(function_name, name, ref.get_origin())
1.36 - self.reserve_constant(function_name, function_name.rsplit(".", 1)[0], ref.get_origin())
1.37
1.38 # Track attribute usage within the namespace.
1.39