1.1 --- a/TO_DO.txt Sat Aug 21 02:45:58 2010 +0200
1.2 +++ b/TO_DO.txt Sat Aug 21 03:05:26 2010 +0200
1.3 @@ -1,5 +1,15 @@
1.4 +Fix the attribute names in the report.
1.5 +
1.6 +Consider type deduction and its consequences where types belong to the same hierarchy
1.7 +and where a guard could be generated for the most general type.
1.8 +
1.9 +Consider attribute merging where many attributes are just aliases for the same underlying
1.10 +definition.
1.11 +
1.12 Consider merging the InspectedModule.store tests with the scope conflict handling.
1.13
1.14 +Consider permitting multiple class alternatives where the attributes are all identical.
1.15 +
1.16 Support class attribute positioning similar to instance attribute positioning, potentially
1.17 (for both) based on usage observations. For example, if __iter__ is used on two classes,
1.18 the class attribute could be exposed at a similar relative position to the class (and
2.1 --- a/micropython/inspect.py Sat Aug 21 02:45:58 2010 +0200
2.2 +++ b/micropython/inspect.py Sat Aug 21 03:05:26 2010 +0200
2.3 @@ -766,6 +766,7 @@
2.4 if module is not None and module.has_key(name):
2.5 attr = module[name]
2.6 self.store(alias or name, attr)
2.7 + self.use_specific_attribute(module.full_name(), name)
2.8 if isinstance(attr.get_value(), Module) and not attr.get_value().loaded:
2.9 self.importer.load(attr.get_value().name)
2.10
2.11 @@ -778,6 +779,7 @@
2.12 for n in module.keys():
2.13 attr = module[n]
2.14 self.store(n, attr)
2.15 + self.use_specific_attribute(module.full_name(), n)
2.16 if isinstance(attr.get_value(), Module) and not attr.get_value().loaded:
2.17 self.importer.load(attr.get_value().name)
2.18