forked from VimPlug/jedi
Replace names_dicts with filters in trailer completion.
This commit is contained in:
@@ -1,5 +1,3 @@
|
||||
from itertools import chain
|
||||
|
||||
from jedi.parser import token
|
||||
from jedi.parser import tree
|
||||
from jedi import debug
|
||||
@@ -10,7 +8,6 @@ from jedi.evaluate import imports
|
||||
from jedi.api import keywords
|
||||
from jedi.evaluate import compiled
|
||||
from jedi.evaluate.helpers import call_of_leaf
|
||||
from jedi.evaluate.finder import global_names_dict_generator, filter_definition_names
|
||||
from jedi.evaluate.filters import get_global_filters
|
||||
|
||||
|
||||
@@ -198,13 +195,8 @@ class Completion:
|
||||
completion_names = []
|
||||
debug.dbg('trailer completion scopes: %s', scopes)
|
||||
for s in scopes:
|
||||
names = []
|
||||
for names_dict in s.names_dicts(search_global=False):
|
||||
names += chain.from_iterable(names_dict.values())
|
||||
|
||||
completion_names += filter_definition_names(
|
||||
names, self._module.get_statement_for_position(self._position)
|
||||
)
|
||||
for filter in s.get_filters(search_global=False):
|
||||
completion_names += filter.values()
|
||||
return completion_names
|
||||
|
||||
def _parse_dotted_names(self, nodes):
|
||||
|
||||
@@ -157,7 +157,7 @@ class CompiledObject(Base):
|
||||
def names_dicts(self, search_global, is_instance=False):
|
||||
return self._names_dict_ensure_one_dict(is_instance)
|
||||
|
||||
def get_filters(self, search_global, is_instance=False, until_position=None):
|
||||
def get_filters(self, search_global=False, is_instance=False, until_position=None):
|
||||
yield self._ensure_one_filter(is_instance)
|
||||
|
||||
@memoize_method
|
||||
|
||||
@@ -554,7 +554,8 @@ class Class(use_metaclass(CachedMetaClass, Wrapper)):
|
||||
else:
|
||||
for scope in self.py__mro__():
|
||||
if isinstance(scope, compiled.CompiledObject):
|
||||
raise NotImplementedError
|
||||
for filter in scope.get_filters():
|
||||
yield filter
|
||||
else:
|
||||
yield ParserTreeFilter(self._evaluator, self.base)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user