From c1e805d7b02d415e023f31c9d233ec7f064c243c Mon Sep 17 00:00:00 2001 From: David Halter Date: Fri, 22 Feb 2013 23:06:59 +0430 Subject: [PATCH] fixed invalid list comprehension tests --- jedi/parsing_representation.py | 4 ++++ test/completion/invalid.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/jedi/parsing_representation.py b/jedi/parsing_representation.py index cd3e6799..5d7b1004 100644 --- a/jedi/parsing_representation.py +++ b/jedi/parsing_representation.py @@ -883,6 +883,8 @@ class Statement(Simple): def parse_list_comp(token_iterator, token_list, start_pos, end_pos): def parse_stmt_or_arr(token_iterator, added_breaks=()): stmt, tok = parse_stmt(token_iterator, added_breaks=added_breaks) + if not stmt: + return None, tok if tok == ',': arr, tok = parse_array(token_iterator, Array.TUPLE, stmt.start_pos, stmt, @@ -945,6 +947,8 @@ class Statement(Simple): #token_list, toks = token_list[:-i], token_list[-i:-1] + if middle is None or in_clause is None: + return None, tok return ListComprehension(st, middle, in_clause, self), tok # initializations diff --git a/test/completion/invalid.py b/test/completion/invalid.py index 14b00413..e755041e 100644 --- a/test/completion/invalid.py +++ b/test/completion/invalid.py @@ -101,7 +101,7 @@ a[0] a = [a for a in [1,2] def break(): pass -#? list() +#? int() a[0] #? []