1
0
forked from VimPlug/jedi

for loops are now parsed even if they are really faulty and don't end.

This commit is contained in:
Dave Halter
2014-01-17 01:39:23 +01:00
parent 92eba44d07
commit 8b34e120e0
3 changed files with 21 additions and 12 deletions

View File

@@ -567,10 +567,12 @@ class Parser(object):
set_stmt, tok = self._parse_statement(added_breaks=['in'],
names_are_set_vars=True)
if tok != 'in':
debug.warning('syntax err, for flow incomplete @%s',
self.start_pos[0])
debug.warning('syntax err, for flow incomplete @%s', self.start_pos[0])
statement, tok = self._parse_statement()
try:
statement, tok = self._parse_statement()
except StopIteration:
statement, tok = None, None
s = [] if statement is None else [statement]
f = pr.ForFlow(self.module, s, first_pos, set_stmt)
self._scope = self._scope.add_statement(f)

View File

@@ -275,6 +275,10 @@ class Scope(Simple, IsScope):
if self.isinstance(Function):
checks += self.params + self.decorators
checks += [r for r in self.returns if r is not None]
if self.isinstance(Flow):
checks += self.inputs
if isinstance(self, ForFlow):
checks.append(self.set_stmt)
for s in checks:
if isinstance(s, Flow):