1.1 --- a/micropython/basicdata.py Sun Nov 04 23:41:06 2012 +0100
1.2 +++ b/micropython/basicdata.py Mon Nov 05 00:07:54 2012 +0100
1.3 @@ -134,6 +134,9 @@
1.4 return ".".join(self.value_type_name_parts())
1.5
1.6 def value_type_name_parts(self):
1.7 - return "__builtins__", self.value.__class__.__name__
1.8 + return "__builtins__", self.get_class_name()
1.9 +
1.10 + def get_class_name(self):
1.11 + return self.value.__class__.__name__
1.12
1.13 # vim: tabstop=4 expandtab shiftwidth=4
2.1 --- a/micropython/inspect.py Sun Nov 04 23:41:06 2012 +0100
2.2 +++ b/micropython/inspect.py Mon Nov 05 00:07:54 2012 +0100
2.3 @@ -693,6 +693,13 @@
2.4
2.5 self._visitAttrUser(expr, attrname, node)
2.6
2.7 + # Constants provide specific kinds of expressions.
2.8 + # NOTE: If attributes are accessed on a pre-made, but not yet defined
2.9 + # NOTE: class, no useful attribute will be available.
2.10 +
2.11 + elif isinstance(expr, Const):
2.12 + attr = get_constant_class(expr.get_class_name()).all_attributes().get(attrname) or make_instance()
2.13 +
2.14 # No particular attribute has been identified, thus a general instance
2.15 # is assumed.
2.16