1.1 --- a/inspector.py Thu Oct 20 15:00:27 2016 +0200
1.2 +++ b/inspector.py Thu Oct 20 22:43:48 2016 +0200
1.3 @@ -401,12 +401,11 @@
1.4
1.5 if not isinstance(name_ref, NameRef): # includes ResolvedNameRef
1.6
1.7 - assignment = isinstance(n, compiler.ast.AssAttr)
1.8 -
1.9 init_item(self.attr_accesses, path, set)
1.10 self.attr_accesses[path].add(attrnames)
1.11
1.12 - self.record_access_details(None, attrnames, assignment)
1.13 + self.record_access_details(None, attrnames, self.in_assignment,
1.14 + self.in_invocation)
1.15 del self.attrs[0]
1.16 return
1.17
1.18 @@ -460,7 +459,8 @@
1.19 name, attrname), path, n)
1.20
1.21 self.record_branches_for_access(branches, name, attrnames)
1.22 - access_number = self.record_access_details(name, attrnames, self.in_assignment)
1.23 + access_number = self.record_access_details(name, attrnames,
1.24 + self.in_assignment, self.in_invocation)
1.25
1.26 del self.attrs[0]
1.27 return AccessRef(name, attrnames, access_number)
1.28 @@ -844,7 +844,7 @@
1.29
1.30 if branches:
1.31 self.record_branches_for_access(branches, n.name, None)
1.32 - access_number = self.record_access_details(n.name, None, False)
1.33 + access_number = self.record_access_details(n.name, None, False, False)
1.34 return LocalNameRef(n.name, access_number)
1.35
1.36 # Possible global or built-in name.
1.37 @@ -1118,7 +1118,7 @@
1.38 init_item(attr_accessor_branches, access, list)
1.39 attr_accessor_branches[access].append(branches)
1.40
1.41 - def record_access_details(self, name, attrnames, assignment):
1.42 + def record_access_details(self, name, attrnames, assignment, invocation):
1.43
1.44 """
1.45 For the given 'name' and 'attrnames', record an access indicating
1.46 @@ -1135,7 +1135,7 @@
1.47 init_item(self.attr_access_modifiers[path], access, list)
1.48
1.49 access_number = len(self.attr_access_modifiers[path][access])
1.50 - self.attr_access_modifiers[path][access].append(assignment)
1.51 + self.attr_access_modifiers[path][access].append((assignment, invocation))
1.52 return access_number
1.53
1.54 def record_global_access_details(self, name, attrnames):