don't raise attribute NameErrors in all for loop name definitions.

This commit is contained in:
Dave Halter
2014-05-15 12:39:00 +02:00
parent bcab821df9
commit 857a9b7621
2 changed files with 9 additions and 1 deletions

View File

@@ -595,7 +595,8 @@ class Script(object):
nested_resolve=True).follow()
if stmt.is_nested() and any(not isinstance(i, pr.Module) for i in imps):
analysis.add(self._evaluator, 'import-error', stmt)
else:
elif not (isinstance(stmt.parent, pr.ForFlow)
and stmt.parent.set_stmt == stmt):
self._evaluator.eval_statement(stmt)
ana = [a for a in self._evaluator.analysis if self.path == a.path]

View File

@@ -43,3 +43,10 @@ c.something = None
#! name-error
something = a
something
# should not raise anything.
for loop_variable in [1, 2]:
#! name-error
x = undefined
loop_variable