1.1 --- a/micropython/data.py Mon Oct 24 23:57:02 2011 +0200
1.2 +++ b/micropython/data.py Mon Oct 31 19:09:47 2011 +0100
1.3 @@ -404,10 +404,7 @@
1.4
1.5 # Skip reporting where no actual usage occurs.
1.6
1.7 - for attrnames in usage:
1.8 - if attrnames:
1.9 - break
1.10 - else:
1.11 + if usage is None:
1.12 continue
1.13
1.14 # Eliminate non-usage.
1.15 @@ -513,6 +510,8 @@
1.16 if users.has_key(name):
1.17 for user in users[name]:
1.18 values = user._attrnames[name]
1.19 + if values is None:
1.20 + values = user._attrnames[name] = ObjectSet()
1.21
1.22 # Add an entry for the attribute, optionally with an assigned
1.23 # value.
1.24 @@ -558,7 +557,7 @@
1.25 "Make sure that 'node' is initialised for 'name'."
1.26
1.27 self._init_attribute_user(node)
1.28 - node._attrnames[name] = ObjectSet()
1.29 + node._attrnames[name] = None
1.30
1.31 def _init_attribute_user(self, node):
1.32
1.33 @@ -1886,7 +1885,8 @@
1.34 for user in self.all_attribute_users:
1.35 user._attrtypes = {}
1.36 for name, usage in user._attrcombined.items():
1.37 - user._attrtypes[name] = get_object_types_for_usage(usage, objtable, name, self.full_name())
1.38 + if usage is not None:
1.39 + user._attrtypes[name] = get_object_types_for_usage(usage, objtable, name, self.full_name())
1.40
1.41 def as_instantiator(self):
1.42