The parser without error recovery raises an error now if he's not able to parse something.

This commit is contained in:
Dave Halter
2015-12-25 18:53:05 +01:00
parent 6bad5a924b
commit a373e34229
4 changed files with 41 additions and 34 deletions

View File

@@ -13,7 +13,7 @@ import sys
from itertools import chain
from jedi._compatibility import unicode, builtins
from jedi.parser import Parser, load_grammar
from jedi.parser import Parser, load_grammar, ParseError
from jedi.parser.tokenize import source_tokens
from jedi.parser import tree
from jedi.parser.user_context import UserContext, UserContextParser
@@ -322,8 +322,9 @@ class Script(object):
@memoize_default()
def _get_under_cursor_stmt(self, cursor_txt, start_pos=None):
stmt = Parser(self._grammar, cursor_txt, 'eval_input').get_parsed_node()
if stmt is None:
try:
stmt = Parser(self._grammar, cursor_txt, 'eval_input').get_parsed_node()
except ParseError:
return None
user_stmt = self._parser.user_stmt()