forked from VimPlug/jedi
Get rid of all get_names_of_scope calls.
This commit is contained in:
@@ -7,7 +7,7 @@ import warnings
|
|||||||
from itertools import chain
|
from itertools import chain
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from jedi._compatibility import next, unicode, use_metaclass
|
from jedi._compatibility import unicode, use_metaclass
|
||||||
from jedi import settings
|
from jedi import settings
|
||||||
from jedi import common
|
from jedi import common
|
||||||
from jedi.parser import tree as pr
|
from jedi.parser import tree as pr
|
||||||
@@ -17,7 +17,7 @@ from jedi.evaluate import iterable
|
|||||||
from jedi.evaluate import imports
|
from jedi.evaluate import imports
|
||||||
from jedi.evaluate import compiled
|
from jedi.evaluate import compiled
|
||||||
from jedi.api import keywords
|
from jedi.api import keywords
|
||||||
from jedi.evaluate.finder import get_names_of_scope
|
from jedi.evaluate.finder import filter_definition_names
|
||||||
|
|
||||||
|
|
||||||
def defined_names(evaluator, scope):
|
def defined_names(evaluator, scope):
|
||||||
@@ -27,14 +27,9 @@ def defined_names(evaluator, scope):
|
|||||||
:type scope: Scope
|
:type scope: Scope
|
||||||
:rtype: list of Definition
|
:rtype: list of Definition
|
||||||
"""
|
"""
|
||||||
# It might include inherited stuff. Wanted?
|
dct = scope.names_dict
|
||||||
# TODO discuss!
|
names = list(chain.from_iterable(dct.values()))
|
||||||
if isinstance(scope, pr.Module):
|
names = filter_definition_names(names, scope)
|
||||||
pair = scope, scope.get_defined_names()
|
|
||||||
else:
|
|
||||||
pair = next(get_names_of_scope(evaluator, scope, star_search=False,
|
|
||||||
include_builtin=False), None)
|
|
||||||
names = pair[1] if pair else []
|
|
||||||
return [Definition(evaluator, d) for d in sorted(names, key=lambda s: s.start_pos)]
|
return [Definition(evaluator, d) for d in sorted(names, key=lambda s: s.start_pos)]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -461,10 +461,12 @@ class _Importer(object):
|
|||||||
|
|
||||||
continue
|
continue
|
||||||
|
|
||||||
for s, scope_names in finder.get_names_of_scope(self._evaluator,
|
for names_dict in scope.names_dicts(search_global=False):
|
||||||
scope, include_builtin=False):
|
_names = list(chain.from_iterable(names_dict.values()))
|
||||||
for n in scope_names:
|
if not _names:
|
||||||
names.append(n)
|
continue
|
||||||
|
_names = finder.filter_definition_names(_names, scope)
|
||||||
|
names += _names
|
||||||
else:
|
else:
|
||||||
# Empty import path=completion after import
|
# Empty import path=completion after import
|
||||||
if not self.level:
|
if not self.level:
|
||||||
|
|||||||
Reference in New Issue
Block a user