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] #? []