1.1 --- a/inspector.py Wed Nov 23 16:19:06 2016 +0100
1.2 +++ b/inspector.py Wed Nov 23 17:23:52 2016 +0100
1.3 @@ -27,7 +27,7 @@
1.4 from referencing import Reference
1.5 from resolving import NameResolving
1.6 from results import AccessRef, InstanceRef, InvocationRef, LiteralSequenceRef, \
1.7 - LocalNameRef, NameRef, ResolvedNameRef
1.8 + LocalNameRef, NameRef, ResolvedNameRef, VariableRef
1.9 import compiler
1.10 import sys
1.11
1.12 @@ -757,7 +757,11 @@
1.13 elif isinstance(name_ref, NameRef):
1.14 return InvocationRef(name_ref)
1.15
1.16 - return None
1.17 + # Provide a general reference to indicate that something is produced
1.18 + # by the invocation, useful for retaining assignment expression
1.19 + # details.
1.20 +
1.21 + return VariableRef()
1.22
1.23 finally:
1.24 self.deallocate_arguments(path, n.args)
2.1 --- a/results.py Wed Nov 23 16:19:06 2016 +0100
2.2 +++ b/results.py Wed Nov 23 17:23:52 2016 +0100
2.3 @@ -30,12 +30,24 @@
2.4 def is_name(self):
2.5 return False
2.6
2.7 + def reference(self):
2.8 + return None
2.9 +
2.10 + def get_name(self):
2.11 + return None
2.12 +
2.13 def get_origin(self):
2.14 return None
2.15
2.16 - def reference(self):
2.17 + def static(self):
2.18 return None
2.19
2.20 + def final(self):
2.21 + return None
2.22 +
2.23 + def has_kind(self, kinds):
2.24 + return False
2.25 +
2.26 class AccessRef(Result):
2.27
2.28 """
2.29 @@ -162,4 +174,11 @@
2.30 def __repr__(self):
2.31 return "LiteralSequenceRef(%r, %r, %r, %r)" % (self.name, self.ref, self.node, self.items)
2.32
2.33 +class VariableRef(Result):
2.34 +
2.35 + "A variable reference."
2.36 +
2.37 + def __repr__(self):
2.38 + return "VariableRef()"
2.39 +
2.40 # vim: tabstop=4 expandtab shiftwidth=4