1
0
forked from VimPlug/jedi

Get rid of all get_names_of_scope calls.

This commit is contained in:
Dave Halter
2015-01-08 12:48:57 +01:00
parent 05a9f19429
commit 705b569e32
2 changed files with 11 additions and 14 deletions

View File

@@ -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)]

View File

@@ -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: