1.1 --- a/micropython/data.py Sat Mar 15 14:17:10 2014 +0100
1.2 +++ b/micropython/data.py Mon Mar 17 22:35:30 2014 +0100
1.3 @@ -624,14 +624,28 @@
1.4 """
1.5
1.6 context_values = set()
1.7 +
1.8 for def_user in self._get_defining_users():
1.9 attr = def_user._values[self.name]
1.10 +
1.11 + # Attributes provide their values via this local attribute.
1.12 +
1.13 if isinstance(attr, BaseAttr):
1.14 context_values.update(attr.get_context_values())
1.15 +
1.16 + # Non-attributes are propagated using the conversion rule.
1.17 +
1.18 else:
1.19 context_values.add(get_context_and_value(attr))
1.20 +
1.21 return context_values
1.22
1.23 + def __repr__(self):
1.24 + return "<local attribute %s.%s (%sassigned %r)>" % (
1.25 + shortrepr(self.parent), self.name,
1.26 + self._repr_parent_type(), self.get_assignments()
1.27 + )
1.28 +
1.29 class Attr(BaseAttr):
1.30
1.31 "An attribute entry having context and value information."
1.32 @@ -1233,7 +1247,7 @@
1.33 return "<function %s>" % shortrepr(self)
1.34
1.35 def __shortrepr__(self):
1.36 - return "%s.%s(%s)" % (shortrepr(self.parent), self.name, ", ".join(self.argnames))
1.37 + return "%s.%s(%s)" % (shortrepr(self.parent), self.name, ", ".join([repr(arg) for arg in self.argnames]))
1.38
1.39 def is_lambda(self):
1.40 return self._is_lambda