1.1 --- a/modules.py Mon Jan 30 22:34:46 2017 +0100
1.2 +++ b/modules.py Wed Feb 01 00:32:43 2017 +0100
1.3 @@ -429,7 +429,7 @@
1.4 def _get_deferred(self, f):
1.5 f.readline() # "deferred:"
1.6 line = f.readline().rstrip()
1.7 - self.deferred = map(decode_reference, line.split(" "))
1.8 + self.deferred = map(decode_reference, line.split(", "))
1.9 f.readline()
1.10
1.11 def _get_special(self, f):
1.12 @@ -698,113 +698,8 @@
1.13 def to_cache(self, filename):
1.14
1.15 """
1.16 - Write a cached representation of the inspected module with the following
1.17 - format to the file having the given 'filename':
1.18 -
1.19 - filename
1.20 - (empty line)
1.21 - "imports:"
1.22 - required module names
1.23 - possibly required module names
1.24 - "deferred:"
1.25 - deferred references
1.26 - "special:"
1.27 - zero or more: special name " " reference " " qualified names
1.28 - (empty line)
1.29 - "members:"
1.30 - zero or more: qualified name " " reference
1.31 - (empty line)
1.32 - "class relationships:"
1.33 - zero or more: qualified class name " " base class references
1.34 - (empty line)
1.35 - "instance attributes:"
1.36 - zero or more: qualified class name " " instance attribute names
1.37 - (empty line)
1.38 - "instance attribute constants:"
1.39 - zero or more: qualified class name " " attribute name " " reference
1.40 - (empty line)
1.41 - "names used:"
1.42 - zero or more: qualified class/function/module name " " names
1.43 - (empty line)
1.44 - "names missing:"
1.45 - zero or more: qualified class/function/module name " " names
1.46 - (empty line)
1.47 - "name references:"
1.48 - zero or more: qualified name " " reference
1.49 - (empty line)
1.50 - "initialised names:"
1.51 - zero or more: qualified name " " definition version " " reference
1.52 - (empty line)
1.53 - "aliased names:"
1.54 - zero or more: qualified name " " definition version " " original name " " attribute names " " access number
1.55 - (empty line)
1.56 - "function parameters:"
1.57 - zero or more: qualified function name " " parameter names
1.58 - (empty line)
1.59 - "function default parameters:"
1.60 - zero or more: qualified function name " " parameter names with defaults
1.61 - (empty line)
1.62 - "function locals:"
1.63 - zero or more: qualified function name " " local variable name " " reference
1.64 - (empty line)
1.65 - "scope globals:"
1.66 - zero or more: qualified function name " " global variable names
1.67 - (empty line)
1.68 - "function targets:"
1.69 - zero or more: qualified function name " " maximum number of targets allocated
1.70 - (empty line)
1.71 - "function arguments:"
1.72 - zero or more: qualified function name " " maximum number of arguments allocated
1.73 - (empty line)
1.74 - "attribute usage:"
1.75 - zero or more: qualified scope name " " local/global/qualified variable name " " usages
1.76 - (empty line)
1.77 - "attribute accesses:"
1.78 - zero or more: qualified scope name " " attribute-chains
1.79 - (empty line)
1.80 - "constant accesses:"
1.81 - zero or more: qualified function name " " attribute-chain " " reference " " remaining attribute-chain
1.82 - (empty line)
1.83 - "attribute access usage:"
1.84 - zero or more: qualified function name " " local/global variable name " " attribute name " " definition versions
1.85 - (empty line)
1.86 - "attribute access modifiers:"
1.87 - zero or more: qualified function name " " local/global variable name " " attribute name " " access modifiers
1.88 - (empty line)
1.89 - "constant literals:"
1.90 - zero or more: qualified scope name " " value type " " constant literal
1.91 - (empty line)
1.92 - "constant values:"
1.93 - zero or more: qualified name " " value type " " constant literal
1.94 - (empty line)
1.95 - "exception namespaces:"
1.96 - qualified names
1.97 - (empty line)
1.98 - "operator result namespaces:"
1.99 - qualified names
1.100 -
1.101 - All collections of names are separated by ", " characters.
1.102 -
1.103 - References can be "<var>", a module name, or one of "<class>" or
1.104 - "<function>" followed optionally by a ":" character and a qualified
1.105 - name.
1.106 -
1.107 - Parameter names with defaults are separated by ", " characters, with
1.108 - each name followed by "=" and then followed by a reference. If "{}" is
1.109 - indicated, no defaults are defined for the function. Similarly, function
1.110 - locals may be indicated as "{}" meaning that there are no locals.
1.111 -
1.112 - All usages (attribute usage sets) are separated by "; " characters, with
1.113 - the special string "{}" representing an empty set.
1.114 -
1.115 - Each usage is a collection of names separated by ", " characters, with
1.116 - invoked attribute names suffixed with a "!" character.
1.117 -
1.118 - Definition versions are separated by ", " characters and indicate the
1.119 - name definition version associated with the access.
1.120 -
1.121 - Access modifiers are separated by ", " characters and indicate features
1.122 - of each access, with multiple accesses described on a single line.
1.123 + Write a cached representation of the inspected module to the file having
1.124 + the given 'filename'.
1.125 """
1.126
1.127 f = open(filename, "w")
1.128 @@ -824,7 +719,7 @@
1.129 print >>f, "deferred:"
1.130 deferred = map(str, set(self.deferred))
1.131 deferred.sort()
1.132 - print >>f, " ".join(deferred)
1.133 + print >>f, ", ".join(deferred)
1.134
1.135 print >>f
1.136 print >>f, "special:"