# HG changeset patch # User Paul Boddie # Date 1282352726 -7200 # Node ID 931a9f0b8bde98ca1c74d797980cd517fd59b371 # Parent c8d581e85781eac01113132e317aaf0cb8d3f1d8 Added specific attribute usage for imported objects. Added "to do" items. diff -r c8d581e85781 -r 931a9f0b8bde TO_DO.txt --- a/TO_DO.txt Sat Aug 21 02:45:58 2010 +0200 +++ b/TO_DO.txt Sat Aug 21 03:05:26 2010 +0200 @@ -1,5 +1,15 @@ +Fix the attribute names in the report. + +Consider type deduction and its consequences where types belong to the same hierarchy +and where a guard could be generated for the most general type. + +Consider attribute merging where many attributes are just aliases for the same underlying +definition. + Consider merging the InspectedModule.store tests with the scope conflict handling. +Consider permitting multiple class alternatives where the attributes are all identical. + Support class attribute positioning similar to instance attribute positioning, potentially (for both) based on usage observations. For example, if __iter__ is used on two classes, the class attribute could be exposed at a similar relative position to the class (and diff -r c8d581e85781 -r 931a9f0b8bde micropython/inspect.py --- a/micropython/inspect.py Sat Aug 21 02:45:58 2010 +0200 +++ b/micropython/inspect.py Sat Aug 21 03:05:26 2010 +0200 @@ -766,6 +766,7 @@ if module is not None and module.has_key(name): attr = module[name] self.store(alias or name, attr) + self.use_specific_attribute(module.full_name(), name) if isinstance(attr.get_value(), Module) and not attr.get_value().loaded: self.importer.load(attr.get_value().name) @@ -778,6 +779,7 @@ for n in module.keys(): attr = module[n] self.store(n, attr) + self.use_specific_attribute(module.full_name(), n) if isinstance(attr.get_value(), Module) and not attr.get_value().loaded: self.importer.load(attr.get_value().name)