1.1 --- a/modules.py Tue Oct 25 18:38:57 2016 +0200
1.2 +++ b/modules.py Tue Oct 25 22:26:03 2016 +0200
1.3 @@ -370,6 +370,7 @@
1.4 f.readline() # (empty line)
1.5
1.6 self._get_imports(f)
1.7 + self._get_special(f)
1.8 self._get_members(f)
1.9 self._get_class_relationships(f)
1.10 self._get_instance_attrs(f)
1.11 @@ -411,6 +412,14 @@
1.12 for name in self.imports:
1.13 self.queue_module(name)
1.14
1.15 + def _get_special(self, f):
1.16 + f.readline() # "special:"
1.17 + line = f.readline().rstrip()
1.18 + while line:
1.19 + name, ref = line.split(" ", 1)
1.20 + self.special[name] = decode_reference(ref)
1.21 + line = f.readline().rstrip()
1.22 +
1.23 def _get_members(self, f):
1.24 f.readline() # "members:"
1.25 line = f.readline().rstrip()
1.26 @@ -667,6 +676,9 @@
1.27 "imports:"
1.28 required module names
1.29 possibly required module names
1.30 + "special:"
1.31 + zero or more: special name " " reference
1.32 + (empty line)
1.33 "members:"
1.34 zero or more: qualified name " " reference
1.35 (empty line)
1.36 @@ -769,6 +781,13 @@
1.37 print >>f, imports and ", ".join(imports) or "{}"
1.38
1.39 print >>f
1.40 + print >>f, "special:"
1.41 + names = self.special.keys()
1.42 + names.sort()
1.43 + for name in names:
1.44 + print >>f, name, self.special[name]
1.45 +
1.46 + print >>f
1.47 print >>f, "members:"
1.48 objects = self.objects.keys()
1.49 objects.sort()