# HG changeset patch # User Paul Boddie # Date 1477427163 -7200 # Node ID 87613c4c3ee3589ae0286245b7846c2cc2ab0413 # Parent 7304185df26b519b253aba92c6f234fef1fcd4d7 Store special implicit object references in the cache. diff -r 7304185df26b -r 87613c4c3ee3 modules.py --- a/modules.py Tue Oct 25 18:38:57 2016 +0200 +++ b/modules.py Tue Oct 25 22:26:03 2016 +0200 @@ -370,6 +370,7 @@ f.readline() # (empty line) self._get_imports(f) + self._get_special(f) self._get_members(f) self._get_class_relationships(f) self._get_instance_attrs(f) @@ -411,6 +412,14 @@ for name in self.imports: self.queue_module(name) + def _get_special(self, f): + f.readline() # "special:" + line = f.readline().rstrip() + while line: + name, ref = line.split(" ", 1) + self.special[name] = decode_reference(ref) + line = f.readline().rstrip() + def _get_members(self, f): f.readline() # "members:" line = f.readline().rstrip() @@ -667,6 +676,9 @@ "imports:" required module names possibly required module names + "special:" + zero or more: special name " " reference + (empty line) "members:" zero or more: qualified name " " reference (empty line) @@ -769,6 +781,13 @@ print >>f, imports and ", ".join(imports) or "{}" print >>f + print >>f, "special:" + names = self.special.keys() + names.sort() + for name in names: + print >>f, name, self.special[name] + + print >>f print >>f, "members:" objects = self.objects.keys() objects.sort()