From bb4ab45131dd9f7fe316a1a0021021bb4c49e4fe Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Thu, 23 Jun 2016 16:36:12 +0200 Subject: [PATCH] Don't use UserContextParser.user_stmt anymore, since we can access it directly. --- jedi/api/completion.py | 4 ++-- jedi/api/helpers.py | 10 ---------- jedi/parser/user_context.py | 9 +-------- 3 files changed, 3 insertions(+), 20 deletions(-) diff --git a/jedi/api/completion.py b/jedi/api/completion.py index d4beb8b2..d27e4e89 100644 --- a/jedi/api/completion.py +++ b/jedi/api/completion.py @@ -172,7 +172,7 @@ class Completion: if not names: continue completion_names += filter_definition_names( - names, self._parser.user_stmt(), pos + names, self._module.get_statement_for_position(self._position), pos ) return completion_names @@ -186,7 +186,7 @@ class Completion: names += chain.from_iterable(names_dict.values()) completion_names += filter_definition_names( - names, self._parser.user_stmt() + names, self._module.get_statement_for_position(self._position) ) return completion_names diff --git a/jedi/api/helpers.py b/jedi/api/helpers.py index 0d4e86c1..db03a2b1 100644 --- a/jedi/api/helpers.py +++ b/jedi/api/helpers.py @@ -12,16 +12,6 @@ from jedi.parser import tokenize, token CompletionParts = namedtuple('CompletionParts', ['path', 'has_dot', 'name']) -def get_completion_parts(path_until_cursor): - """ - Returns the parts for the completion - :return: tuple - (path, dot, like) - """ - match = re.match(r'^(.*?)(\.|)(\w?[\w\d]*)$', path_until_cursor, flags=re.S) - path, dot, name = match.groups() - return CompletionParts(path, bool(dot), name) - - def sorted_definitions(defs): # Note: `or ''` below is required because `module_path` could be return sorted(defs, key=lambda x: (x.module_path or '', x.line or 0, x.column or 0)) diff --git a/jedi/parser/user_context.py b/jedi/parser/user_context.py index c7d7e787..45daa057 100644 --- a/jedi/parser/user_context.py +++ b/jedi/parser/user_context.py @@ -6,7 +6,6 @@ from jedi import cache from jedi.parser import ParserWithRecovery from jedi.parser.fast import FastParser from jedi.parser import tree -from jedi import debug # TODO this should be part of the tokenizer not just of this user_context. Token = namedtuple('Token', ['type', 'string', 'start_pos', 'prefix']) @@ -39,18 +38,12 @@ class UserContextParser(object): self._parser_done_callback(parser) return parser - @cache.underscore_memoization - def user_stmt(self): - module = self.module() - debug.speed('parsed') - return module.get_statement_for_position(self._position) - @cache.underscore_memoization def user_scope(self): """ Returns the scope in which the user resides. This includes flows. """ - user_stmt = self.user_stmt() + user_stmt = self.module().get_statement_for_position(self._position) if user_stmt is None: def scan(scope): for s in scope.children: