Enable better ways for analysis to analyze loop variables.

This commit is contained in:
Dave Halter
2015-12-11 20:25:49 +01:00
parent 8d3be10270
commit 75ac2b9686
6 changed files with 65 additions and 58 deletions

View File

@@ -409,9 +409,15 @@ class Evaluator(object):
# TODO rename to goto_definitions
def_ = name.get_definition()
if def_.type == 'expr_stmt' and name in def_.get_defined_names():
return self.eval_statement(def_, name)
call = helpers.call_of_name(name)
return self.eval_element(call)
types = self.eval_statement(def_, name)
elif def_.type == 'for_stmt':
container_types = self.eval_element(def_.children[3])
for_types = iterable.py__iter__types(self, container_types, def_.children[3])
types = finder.check_tuple_assignments(self, for_types, name)
else:
call = helpers.call_of_name(name)
types = self.eval_element(call)
return types
def goto(self, name):
def resolve_implicit_imports(names):